Thursday, 21 January 2010

Choosing a Development Platform

This week I've started looking at Ruby on Rails, which is a development environment that I've had no previous exposure to, and it has coincided with a chat I had with Blaine Cook, the lead developer in Twitter, after his talk at Refresh Belfast.

I was asking Blaine about application scaling, as I know that Twitter has had problems in that area using Ruby on Rails and MySQL, and I was curious about his experience in using that platform because I am curious about the decision-making process in choosing a development platform generally, especially given the choice nowadays.

What was interesting for me was that I found my thoughts drifting from the technical to the non-technical as we spoke, and in the context of the rest of the evening, I came away with a slightly different perspective on the subject.

Previously, I would have considered business factors first and technical factors second in choosing a platform. The reason is that for most online businesses, pretty much any platform will actually deliver the goods technically, but the kind of business and its projected direction will often make some platforms more suitable than others.

Now, I think I would throw cultural factors into that mix.

When you Google around for opinions on different application languages, it seems to me that actually most of it boils down to two things – personal preference and fashion.

For example, I have read a lot of negative stuff about Coldfusion, but in Tescodiets.com we had a profitable multi-million turnover driven by Coldfusion 5, which was obsolete some years ago, but to which we were still predominately adding CF5 code.

It takes in user data, does stuff with it and dumps stuff back out on the screen. You can write data-driven applications very quickly – it was agile before Agile Development was born. You can create revenue-driving apps for low cost – what more would a business want?

So how come it can be difficult to get developers to be enthusiastic about something that does its job well?

The answer, I think, has a lot to do with fashion. It is a simple fact that development platforms, like most aspects of IT, are driven by fashion, and when young developers are extolling the virtues of one language over another, and filling their sentences with a lot of techie phrases, all they are often saying is that 'it's cool'.

And the bit I was left wondering about is that maybe if you want to do something new and exciting online, then all you need to consider in choosing a development platform is whether it is considered cool enough to attract the kinds of people you want to work with.

No comments:

Post a Comment