Programming languages or holy war

Discussions about programming languages (and frameworks) are usually very emotional. Good place to start Yet Another Holy War. When I saw Language Wars I was sure it will be one! Joel answers some unnamed friend to following question:

I wanted to get your response to some basic questions concerning technologies available for creating an enterprise level application that is built upon a Web Server, Web based applications, and a large distribution model and collection model. The project is starting from scratch and so there is no legacy code involved but other than that I won’t bore you with the details…

And Joel’s answer is based on statement:

What I do know for sure, though, is two things:

1. People all over the world are constantly building web applications using .NET, using Java, and using PHP all the time. None of them are failing because of the choice of technology.

2. All of these environments are large and complex and you really need at least one architect with serious experience developing for the one you choose, because otherwise you’ll do things wrong and wind up with messy code that needs to be restructured.

Joel said in following paragraphs that safe choices are PHP, Java, .Net and maybe Python. Later he mentions that Ruby On Rails has not proved to be ready to build Serious Business Stuff.

Of course, DHH had to made response to this! He wrote and accused Joel being hypocrite, since Joel uses custom, in-house product to build its own flag ship, known as FogBugz and suggest not to use untested solutions.

Well, flame wars are both so pointless and intensive I have no need to watch yet another one. I’m to old for that ;-) but I think almost all flamers have missed the point (that makes really good flame war). Joel was talking about safe choice for him. In his business situation it was very reasonable to build in-house, custom middle layer (Wasabi), which makes FogBugz available as PHP or ASP product – with one code base maintained by Fog Creek developers.

Rant against RoR was not against RoR itself (at least I see it this way), but for untested solutions. Untested – but from perspective person asking question (remember point 2 known for sure by Joel?) – when in doubt use what You know.

But, lucky for mankind many of us does not want make always safe (and often boring or not fun) choices. With safe attitude there would be only trees on Manhattan in these days. I’m pretty sure in short time it will be a lot of experience in the world building big mission critical web systems in Ruby on Rails. Thing which may be a concern for some folks is this experience will be saying – it is possible or interface with legacy thingamabob is an issue.

In other words, due to army of developers who want to have a lot fun writing web applications in very beautifully language and not always follow safe, but boring path we will know if RoR is platform whether not. I believe it is.

PS.
Despite of this little misunderstanding between Joel and DHH, I’m pretty sure that a red teddy bear with the embroidering Someone is Going to Get Fired would sell very well between developers :)))

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.