Comparing programming languages
The world moved on since this content was published 4 years 5 months 3 days ago. Exercise diligent care when following any instructions and see opinions in the time they were written. If you must have an updated version, please ask kindly through the contact page.With the upcoming of Ruby on Rails, and the increase of PHP5 availability on shared webhosts, a lot of blogs are going into the language war again. Wether it is being Ruby vs PHP, PHP vs Java, Java vs Ruby, or whatever combination you can think of, there are a lot of comparisons. So, before you click a way, I’m not going to bug you with that. Each language has it’s (dis-)advantages, and in the end it all boils down to the 80/20 rule: personal preference versus suitability for a certain job. You can’t wash the dishes with a sledgehammer, and you can’t build a house with a towel. But what amazes me in a lot of those blogposts is one recurring argument. ‘I rebuilt app X in only Y days, while it took me Z days to built if in language P’. Well, duh!
Building an application (note: application is not a helloworld page, it means a complete application) takes a whole lot more then rebuilding an application. First of all, you get the whole architect phase. Designing the structure, the classes, the layout, the db scheme, everything. That takes a lot of time, if done right (and a whole lot more time, if not). Then you will get to implement the whole thing. While coding, you will find yourself re-thinking certain parts of the application, re-designing strategies, testing stuff, because the result isn’t what you had in mind, etc. That takes a whole lot more time. That doesn’t matter though, nobody is perfect, and everything comes with trial and error. Then comes the whole testing part, possibly even writing test scripts, documenting everything, fixing all the bugs, and cleaning up the mess. After some polishing, your new application is finally done, and ready for deployment.
Now the re-building: First the architect phase again? Been there, done that: skip it. Implementing goes a whole lot faster, as you have a perfectly working example allready. No need to re-think any of it, just copy functionality from the old language, and paste it in the new language. You still have the test scripts, so we can cut on testing time too for a major part. Documentation can be almost completely copy/pasted, and the bugs are allready taken care of in the original implementation. Fixing a typo or two is probably all there is. The polishing is done during the implementation phase, so we can skip that too.
Okay, we built an application, and we rebuilt it in another language. Again: which languages really doesn’t matter. Now, how can we ever compare development times in those? Any person who doesn’t have any developing background would simply say: you can’t. Yet, somehow most developers think you can compare those in a fair way. As usual, the why is way beyond me. Should I just ask for it on each and every blog post? And maybe find an answer? Nah, I’ve got better things to do in my precious time. Speaking of: I’ve got deadlines to meet, and posting on my blog doesn’t help.
~RW
Filed Under: Two Cents
Released: on Sep 04, 2007 under a Creative Commons Attribution-NoDerivs (CC-BY-ND) license











