Rails • 27 June 2011 • The SnowBlog
So, there's this programming language, Ruby, written by a Japanese man in the 1990s. It's neat: it incorporates all the best bits of other languages and it follows the principle of least astonishment. All in all, if you use Ruby you get to be productive *and* have fun.
Then in 2004 a Danish man used Ruby to write a website project he was working on. The particular way he designed the code, he realised, would be useful for other projects - it provided a solid framework which helped with all the basics of how a website works, like creating, updating and deleting data records, and keeping all the different bits of a website in the right place. So he made it open source so other programmers could use it. And use it they did, because it was so handy. A global following sprung up, and the framework kept growing and developing and getting better and better. This framework is called Ruby on Rails and I am obsessed with it. Let's recap. I am an archaeology graduate. I run a publishing company. In proper all-girl's-school tradition, I have been conditioned to believe I am no good at maths or science or technical things. And yet a proper grown-up programming language and a major web development framework are bringing me huge amounts of enjoyment, and I'm good at using them. What's going on here?
For a start, learning things nowadays is a very different kettle of fish to learning things when I wor a lass. When I'm working on programming, I look something up on the internet at least once every half an hour. And when I'm really stuck, I post a question on one of the many Rails forums and I generally get an answer from a community member within the hour.
That's not to say that you have to be all internet-oriented. I have a large pile of books next to me on my desk which provide comprehensive guides to both Ruby and Rails. Publishing companies which publish computer manuals are generally so cool. Some of them have their works in progress published online, where readers can get a sneak preview and also add edits and comments as the book's being written.
What about the motivation? It's not dissimilar to why I like creating books. Programming makes me a problem-solver and a maker. I can get absorbed in the detail of solving a particular problem. And I can take pride in the resultant code, knowing I've approached the problem with rigour and solved it in a thoughtful way.
As for what I'm building in Rails, well, I'll tell you later, no doubt. For the time being, I'm just loving the journey.