I’m sold to using RoR in my web applications but I still love to read analysis exposing the “dark” side of Ruby, and Ruby on Rails. When fellow programmers cite the weaknesses of a language (or tools) that we use, we can learn how to use it better and not fall into traps. It will also get us into thinking whether this language is suited for the task at hand. When fellow Pinoy Ruby developer Earl Lapus posted a link in the Philippine Ruby mailing list with the subject “something negative”, I quickly followed the link and read Greg Luck’s post “Report from OSCON2006: The Ruby Conspiracy“.
However, I was disappointed. His post was a rant, rather than an objective analysis that I hoped for. I am not familiar with Oracle behavior nor a significant understanding of Hibernate so I can’t comment on his remarks about ActiveRecord’s deficiencies.
In general, I wish Greg has put more data to backup his claims. He mentioned that Ruby is 15 times slower than Java. How did he find out? In contrast, when I posted an essay on the Philippine Weavers website, fellow Pinoy programmer Nimrod Abing emailed me his Rails test setup and even pointed where Ruby’s performance could be improved.
Regarding the productivity improvements, Greg should show some numbers like lines of code over time, or features done with a head-to-head comparison of Ruby and Java. When Rick Bradley and his team converted from Java to Ruby, their 20,000 lines of Java code was reduced to 800 lines of Ruby of Rails.
Still, I agree that Ruby’s performance could still be improved. Even though Matz did not design it to be a very fast language, it would certainly benefit Ruby. My friend Neil told me that Ruby is slow because it is a pure interpreter unlike Python, which can be translated to bytecodes.
I am also delighted to know that there are programmers who hate Ruby on Rails. When a piece of technology polarizes programmers, it means something very important and dear to our programming heart is involved that we take sides. If programmers neither love nor hate a technology, it means the technology is mediocre.
Lastly, this guy think Ruby on Rails is f****** horrible.