It seems in the last few weeks, there has been an especially hot debate around Ruby on Rails (RoR) and Grails. The debate on both sides has been respectful, and most importantly, a lot of good ideas are being exchanged.
If you’ve scanned my blog in the past, you know that I am a big fan of Python and have been obsessed with Django recently, which to date is the most elegantly designed Web framework I have encountered. So far, other than using it on a very small project, I have mostly just been exploring Django and looking forward to using it on a more significant project that’s on my schedule for this summer. Unfortunately, it looks like I won’t be using it on that project after all, and the story behind it, which involves a good deal of office politics and my reasoning as I try to find a way through it, may be of interest to some.
As I suggested in an earlier post, I’d like to discuss the choices that we as software developers have when it comes to implementing applications. These choices can be as fundamental as your programming language, your choice of tools, such as your IDE, or the libraries you use, such as your ORM or AJAX choice. There seems to be a number of people who seem embarrassed by the amount of choice available; they believe there should only be one correct choice of a programming language, IDE, application framework, etc., and we should be able to objectively decide what these choices should be and use that set of tools from now until we retire. Of course, the choices they have objectively chosen are correct, and if you believe otherwise, then you should be treated with a mixture of pity and scorn.
We have all seen these religious battles rage. They are not new, and they will continue to flourish every so often. Most recently, the theater of combat is Ruby on Rails (RoR) vs. Django and usually close on its heals: Ruby vs. Python.