Thursday 4th October, 2007

04
Oct

Is there a future for Rails?

It seems that interest in Ruby on Rails has plateaued somewhat in recent months. A year ago there was quite a buzz surrounding it, particularly among .NET developers, for whom it has been a rather popular sideline. However, I can’t help getting the impression that the buzz has subsided somewhat recently. Rails may take a lot of pain out of web development, but it has not taken the world by storm.

Why should this be? I think there are several reasons.

First, the business case for Rails always seemed somewhat limited to me. Developers love Rails, but managers tend to be less convinced. The enterprise world is entrenched in Java and .NET, and shows little incentive to change other than a gradual drift from the former to the latter. Successful open source web apps are mostly written in PHP; it seems that several of the most promising looking open source Rails applications, for example Mephisto and Collaboa, are to all intents and purposes dead. The area where Rails seems to be enjoying the most success is in the heady bubble of Web 2.0 startups and venture capitalists, but even then it still has to compete with .NET, PHP and Python.

The second reason is that some copycat MVC frameworks in other languages, such as Cake for PHP and Castle Monorail for .NET, have come on the scene in recent months, stealing a lot of Rails’s thunder. These play much better with people’s existing skills and save a lot of time that it would take to learn a new programming language. They also fit more convincingly into the world of web hosting, which is deeply entrenched in PHP and .NET. And therein lies the third problem: not many web hosts offer Rails as an option, especially on entry level packages, and this tends to be something of a hindrance to the success of open source applications.

Despite all this, I still think it is a good idea to learn Rails, as it will help you to become a better developer. Ruby is a nice language which does very well in terms of elegance, simplicity and extensibility, and Rails teaches you good programming practices from the word go, as well as giving you a solid understanding of the concepts of O/R mapping, active records, the Model-View-Controller pattern and test driven development. And although the market for Rails may not be all that impressive, it is by no means non-existent. It is just that supply is somewhat higher in relation to demand than, say, Sharepoint.

So yes it is worth learning, but I don’t think it is something to spend too much time on. Rails can make a good compliment to your .NET skills, but I don’t think it should replace them.

04
Oct

The future of my blog

I’ve been thinking a bit more about my blog and what to do with it.

Content wise, it seems to have pretty much settled down into a topical blog, concentrating largely on software development and the surrounding culture. I sometimes wonder if it’s become a bit too impersonal lately though — perhaps some more non-work-related posts are in order.

I’d like to get a regular rhythm up and running too. Scott Hanselman wrote recently about your blog’s "heartbeat" — how often you post in particular. Mine has been somewhat variable in the past, between one and nine posts a month, though I like to try and post at least once a week if I can. This month I’ve decided to try something new, so I’ve written a bunch of posts ahead of time and set them to go live automatically every Monday and Thursday. Anything on top of that is a bonus. Perhaps I should have done that at the start of September, when first I was off on holiday in Scotland and then when we came back we had a church media fast. Some people write twenty or more blog entries a month — personally it beats me how on earth they find the time to do so, and contribute to various open source projects, and get any work done, and have any kind of a social life to speak of.

As far as technology is concerned, I’ve decided to stick with WordPress for the foreseeable future. Architecturally it may be completely wonky, and you may need to keep a constant eye out for security updates, but in terms of features it is the best blogging software available and pretty much a de facto standard, and there is little reason to switch to anything else.