I got a lot of flack for what I wrote in my ONLamp.com article on Rails when I said you could get a 10x productivity increase using Rails vs. a typical Java framework. The funny thing is that I thought I was being conservative! Anyway, I spent some time talking with Bruce Tate this weekend (author of Better, Faster, Lighter Java; Bitter Java; and Bitter EJBs) and he was able to confirm that my claim is *not* out of line (he likes to say 5x to 10x increase). Obviously your mileage will vary depending on circumstances, but based on the details I got from Bruce, I still think that 10x is a good ballpark number. Some of these details have been reported before (DHH even commented on some of this in his blog), but if you dig a little below the surface I think it is even more telling, so please forgive me for re-telling the story... Bruce Tate and his partner Justin Gehtland were engaged by a client to replace an web app that had originally taken the company a year to develop. Justin took 4 months to reimplement this web app using Spring and Hibernate. Bruce characterized Spring/Hibernate as among the most productive frameworks available in the Java space. Recently, Justin decided to re-implement with Ruby on Rails. Bruce said that this took a total of 5 days (Justin''s weblog reported 4 days for 80% completion so, presumably, 5 days is for the whole thing)! Now this was widely reported, and so far there''s nothing new here. But consider this: - Justin is a recognized *expert* in Spring and Hibernate. - Spring/Hibernate are not your typical Java framework (i.e., not Struts), but are the current best-of-breed. - Justin was a *novice* with Ruby and Rails and knew practically nothing about either one. Despite being an expert in the best-of-breed Java frameworks and a novice in the Ruby on Rails frameworks, he still managed an 8x improvement in productivity -- this is very compelling! I can easily see how the productivity increase would be even higher if compared with a Struts-based implementation written by a non-expert. But there is more... the Rails implementation actually ran faster than the Java implementation! Now this, too, was previously reported. This had baffled me somewhat, but Bruce thinks he knows why. He thinks its primarily because Rails has fewer layers to go through than the java stack, and the fact that the ActiveRecord ORM layer is much less generalized than Hibernate and can, therefore, be implemented much more efficiently. Anyway, it feels good to have my 10x claimed confirmed by an industry expert to stated that he, too, was skeptical... until he had first-hand experience. Curt PS Bruce Tate and David Geary (author of Core Java Server Faces, Core JSTL, and more) have signed with O''Reilly to write a "Rails Developer Notebook" (obviously one of O''Reilly''s new Developer Notebooks series).
Francisco Hernandez
2005-Mar-21 17:20 UTC
Re: Support for 10x Productivity Increase with Rails!
I''m always skeptical about these claims and always question what they''re being compared to, Rails vs Servlets/JDBC at a 10x increase is alot more believable than Rails vs Spring/Hibernate, anyhow I''m working on a simple project to prove the claims myself, so far its going quite good but I''m still feeling a bit lost just becuase of the ruby enviroment is still new to me. Curt Hibbs wrote:>I got a lot of flack for what I wrote in my ONLamp.com article on Rails when >I said you could get a 10x productivity increase using Rails vs. a typical >Java framework. The funny thing is that I thought I was being conservative! > >Anyway, I spent some time talking with Bruce Tate this weekend (author of >Better, Faster, Lighter Java; Bitter Java; and Bitter EJBs) and he was able >to confirm that my claim is *not* out of line (he likes to say 5x to 10x >increase). Obviously your mileage will vary depending on circumstances, but >based on the details I got from Bruce, I still think that 10x is a good >ballpark number. > >Some of these details have been reported before (DHH even commented on some >of this in his blog), but if you dig a little below the surface I think it >is even more telling, so please forgive me for re-telling the story... > >Bruce Tate and his partner Justin Gehtland were engaged by a client to >replace an web app that had originally taken the company a year to develop. >Justin took 4 months to reimplement this web app using Spring and Hibernate. >Bruce characterized Spring/Hibernate as among the most productive frameworks >available in the Java space. > >Recently, Justin decided to re-implement with Ruby on Rails. Bruce said that >this took a total of 5 days (Justin''s weblog reported 4 days for 80% >completion so, presumably, 5 days is for the whole thing)! > >Now this was widely reported, and so far there''s nothing new here. But >consider this: > >- Justin is a recognized *expert* in Spring and Hibernate. >- Spring/Hibernate are not your typical Java framework > (i.e., not Struts), but are the current best-of-breed. >- Justin was a *novice* with Ruby and Rails and knew > practically nothing about either one. > >Despite being an expert in the best-of-breed Java frameworks and a novice in >the Ruby on Rails frameworks, he still managed an 8x improvement in >productivity -- this is very compelling! I can easily see how the >productivity increase would be even higher if compared with a Struts-based >implementation written by a non-expert. > >But there is more... the Rails implementation actually ran faster than the >Java implementation! Now this, too, was previously reported. This had >baffled me somewhat, but Bruce thinks he knows why. He thinks its primarily >because Rails has fewer layers to go through than the java stack, and the >fact that the ActiveRecord ORM layer is much less generalized than Hibernate >and can, therefore, be implemented much more efficiently. > >Anyway, it feels good to have my 10x claimed confirmed by an industry expert >to stated that he, too, was skeptical... until he had first-hand experience. > >Curt > >PS > Bruce Tate and David Geary (author of Core Java Server Faces, Core JSTL, >and more) have signed with O''Reilly to write a "Rails Developer Notebook" >(obviously one of O''Reilly''s new Developer Notebooks series). > >_______________________________________________ >Rails mailing list >Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org >http://lists.rubyonrails.org/mailman/listinfo/rails > >
Curt Hibbs wrote:> > Bruce Tate and his partner Justin Gehtland were engaged by a client to > replace an web app that had originally taken the company a year to develop. > Justin took 4 months to reimplement this web app using Spring and Hibernate. > Bruce characterized Spring/Hibernate as among the most productive frameworks > available in the Java space. > > Recently, Justin decided to re-implement with Ruby on Rails. Bruce said that > this took a total of 5 days (Justin''s weblog reported 4 days for 80% > completion so, presumably, 5 days is for the whole thing)!The devil''s advocate would ask, how much of that first four months was devoted to Justin developing his expertise in the application itself? Once you''ve mastered an application''s logic, you have a distinct advantage when re-implementing it in another environment. -- Glenn Parker | glenn.parker-AT-comcast.net | <http://www.tetrafoil.com/>
I was thinking yesterday about the "performance doubt" comparing with Java/J2EE solutions vs interpreted Ruby and that is just one of the main issues. Developing a J2EE with the recommended approaches for indirection, frameworks, app server, etc... results in an incredible amount of code running with your application code. In a few weeks ( or sooner? :-) )I will be able to compare the results and I will post some info about this. Andres -----Original Message----- From: rails-bounces-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org [mailto:rails-bounces-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org] On Behalf Of Curt Hibbs Sent: Monday, March 21, 2005 11:13 AM To: ruby-talk ML; Rails-ML Subject: [Rails] Support for 10x Productivity Increase with Rails! I got a lot of flack for what I wrote in my ONLamp.com article on Rails when I said you could get a 10x productivity increase using Rails vs. a typical Java framework. The funny thing is that I thought I was being conservative! Anyway, I spent some time talking with Bruce Tate this weekend (author of Better, Faster, Lighter Java; Bitter Java; and Bitter EJBs) and he was able to confirm that my claim is *not* out of line (he likes to say 5x to 10x increase). Obviously your mileage will vary depending on circumstances, but based on the details I got from Bruce, I still think that 10x is a good ballpark number. Some of these details have been reported before (DHH even commented on some of this in his blog), but if you dig a little below the surface I think it is even more telling, so please forgive me for re-telling the story... Bruce Tate and his partner Justin Gehtland were engaged by a client to replace an web app that had originally taken the company a year to develop. Justin took 4 months to reimplement this web app using Spring and Hibernate. Bruce characterized Spring/Hibernate as among the most productive frameworks available in the Java space. Recently, Justin decided to re-implement with Ruby on Rails. Bruce said that this took a total of 5 days (Justin''s weblog reported 4 days for 80% completion so, presumably, 5 days is for the whole thing)! Now this was widely reported, and so far there''s nothing new here. But consider this: - Justin is a recognized *expert* in Spring and Hibernate. - Spring/Hibernate are not your typical Java framework (i.e., not Struts), but are the current best-of-breed. - Justin was a *novice* with Ruby and Rails and knew practically nothing about either one. Despite being an expert in the best-of-breed Java frameworks and a novice in the Ruby on Rails frameworks, he still managed an 8x improvement in productivity -- this is very compelling! I can easily see how the productivity increase would be even higher if compared with a Struts-based implementation written by a non-expert. But there is more... the Rails implementation actually ran faster than the Java implementation! Now this, too, was previously reported. This had baffled me somewhat, but Bruce thinks he knows why. He thinks its primarily because Rails has fewer layers to go through than the java stack, and the fact that the ActiveRecord ORM layer is much less generalized than Hibernate and can, therefore, be implemented much more efficiently. Anyway, it feels good to have my 10x claimed confirmed by an industry expert to stated that he, too, was skeptical... until he had first-hand experience. Curt PS Bruce Tate and David Geary (author of Core Java Server Faces, Core JSTL, and more) have signed with O''Reilly to write a "Rails Developer Notebook" (obviously one of O''Reilly''s new Developer Notebooks series). _______________________________________________ Rails mailing list Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org http://lists.rubyonrails.org/mailman/listinfo/rails -- No virus found in this incoming message. Checked by AVG Anti-Virus. Version: 7.0.308 / Virus Database: 266.7.4 - Release Date: 3/18/2005 -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.308 / Virus Database: 266.7.4 - Release Date: 3/18/2005
Hello Glenn, GP> Curt Hibbs wrote:>> >> Bruce Tate and his partner Justin Gehtland were engaged by a client to >> replace an web app that had originally taken the company a year to develop. >> Justin took 4 months to reimplement this web app using Spring and Hibernate. >> Bruce characterized Spring/Hibernate as among the most productive frameworks >> available in the Java space. >> >> Recently, Justin decided to re-implement with Ruby on Rails. Bruce said that >> this took a total of 5 days (Justin''s weblog reported 4 days for 80% >> completion so, presumably, 5 days is for the whole thing)!GP> The devil''s advocate would ask, how much of that first four months was GP> devoted to Justin developing his expertise in the application itself? GP> Once you''ve mastered an application''s logic, you have a distinct GP> advantage when re-implementing it in another environment. Correct. And you can implement the first 90% of an application in 10% of the time you need for a 100% implementation. -- Best regards, emailto: scholz at scriptolutions dot com Lothar Scholz http://www.ruby-ide.com CTO Scriptolutions Ruby, PHP, Python IDE ''s
Jeremy Huffman
2005-Mar-22 00:03 UTC
Re: Support for 10x Productivity Increase with Rails!
Curt Hibbs wrote:>Recently, Justin decided to re-implement with Ruby on Rails. Bruce said that >this took a total of 5 days (Justin''s weblog reported 4 days for 80% >completion so, presumably, 5 days is for the whole thing)! > >He might be able to re-implement in spring/hibernate in a couple of weeks. Once you''ve written an app, you''ve got a very good understand of the approach and domain. If you''ve read "No Magic Bullet" you''ll understand why there is so much skepticism about yet another tool that claims an order of magnitude increase in productivity. Most of the time spent in development is time spent developing and understanding the requirements, and then learning to state them in very concrete, unambiguous ways (code). Of course, web apps are a lot more work than just the business logic, and this is where rails helps us and Java (frankly) hurts us.
Michael Koziarski
2005-Mar-22 00:14 UTC
Re: Support for 10x Productivity Increase with Rails!
On Mon, 21 Mar 2005 09:20:43 -0800, Francisco Hernandez <lagcisco-b7MHZcQsHeJWk0Htik3J/w@public.gmane.org> wrote:> I''m always skeptical about these claims and always question what they''re > being compared to, Rails vs Servlets/JDBC at a 10x increase is alot more > believable than Rails vs Spring/Hibernate, anyhow I''m working on a > simple project to prove the claims myself, so far its going quite good > but I''m still feeling a bit lost just becuase of the ruby enviroment is > still new to me.I don''t know why people are so hung up on figuring out numbers, it''s all about *what''s best for you*. But I think I side with Charles Miller[1] (long time ruby fan and java developer) with this: "But if anyone promises to make you ten times more efficient, they''re discrediting themselves before they start, which is a disservice to all involved." Those of us who make our money with Java get fed some unbearable rubbish by IBM, oracle et. al. Did you know that BPEL will make you 123,987,978x more productive? Or that buying a process choreographer server for 2,348,932,784,987 quadrilizillion dollars will make you 2,349,872,394,872,983 more productive and have 34,982,734,987% ROI?!? We''re a sceptical bunch, some of us ( me especially ) have seen the light. But vendor-style ''magic-bullet'' numbers won''t sway the rest of us. It was real concrete examples that did it for me, like the oreilly app, and the oreilly books ;). [1] http://fishbowl.pastiche.org/2005/03/11/catching_a_silver_bullet> Curt Hibbs wrote: > > >I got a lot of flack for what I wrote in my ONLamp.com article on Rails when > >I said you could get a 10x productivity increase using Rails vs. a typical > >Java framework. The funny thing is that I thought I was being conservative! > > > >Anyway, I spent some time talking with Bruce Tate this weekend (author of > >Better, Faster, Lighter Java; Bitter Java; and Bitter EJBs) and he was able > >to confirm that my claim is *not* out of line (he likes to say 5x to 10x > >increase). Obviously your mileage will vary depending on circumstances, but > >based on the details I got from Bruce, I still think that 10x is a good > >ballpark number. > > > >Some of these details have been reported before (DHH even commented on some > >of this in his blog), but if you dig a little below the surface I think it > >is even more telling, so please forgive me for re-telling the story... > > > >Bruce Tate and his partner Justin Gehtland were engaged by a client to > >replace an web app that had originally taken the company a year to develop. > >Justin took 4 months to reimplement this web app using Spring and Hibernate. > >Bruce characterized Spring/Hibernate as among the most productive frameworks > >available in the Java space. > > > >Recently, Justin decided to re-implement with Ruby on Rails. Bruce said that > >this took a total of 5 days (Justin''s weblog reported 4 days for 80% > >completion so, presumably, 5 days is for the whole thing)! > > > >Now this was widely reported, and so far there''s nothing new here. But > >consider this: > > > >- Justin is a recognized *expert* in Spring and Hibernate. > >- Spring/Hibernate are not your typical Java framework > > (i.e., not Struts), but are the current best-of-breed. > >- Justin was a *novice* with Ruby and Rails and knew > > practically nothing about either one. > > > >Despite being an expert in the best-of-breed Java frameworks and a novice in > >the Ruby on Rails frameworks, he still managed an 8x improvement in > >productivity -- this is very compelling! I can easily see how the > >productivity increase would be even higher if compared with a Struts-based > >implementation written by a non-expert. > > > >But there is more... the Rails implementation actually ran faster than the > >Java implementation! Now this, too, was previously reported. This had > >baffled me somewhat, but Bruce thinks he knows why. He thinks its primarily > >because Rails has fewer layers to go through than the java stack, and the > >fact that the ActiveRecord ORM layer is much less generalized than Hibernate > >and can, therefore, be implemented much more efficiently. > > > >Anyway, it feels good to have my 10x claimed confirmed by an industry expert > >to stated that he, too, was skeptical... until he had first-hand experience. > > > >Curt > > > >PS > > Bruce Tate and David Geary (author of Core Java Server Faces, Core JSTL, > >and more) have signed with O''Reilly to write a "Rails Developer Notebook" > >(obviously one of O''Reilly''s new Developer Notebooks series). > > > >_______________________________________________ > >Rails mailing list > >Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org > >http://lists.rubyonrails.org/mailman/listinfo/rails > > > > > > _______________________________________________ > Rails mailing list > Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org > http://lists.rubyonrails.org/mailman/listinfo/rails >-- Cheers Koz
Michael Koziarski:> I don''t know why people are so hung up on figuring out numbers, it''s > all about *what''s best for you*. But I think I side with Charles > Miller[1] (long time ruby fan and java developer) with this: > > "But if anyone promises to make you ten times more efficient, they''re > discrediting themselves before they start, which is a disservice to > all involved." > > Those of us who make our money with Java get fed some unbearable > rubbish by IBM, oracle et. al. Did you know that BPEL will make you > 123,987,978x more productive? Or that buying a process choreographer > server for 2,348,932,784,987 quadrilizillion dollars will make you > 2,349,872,394,872,983 more productive and have 34,982,734,987% ROI?!? > > We''re a sceptical bunch, some of us ( me especially ) have seen the > light. But vendor-style ''magic-bullet'' numbers won''t sway the rest of > us. It was real concrete examples that did it for me, like the > oreilly app, and the oreilly books ;).That is all so true, but there is no corporation behind Rails. These statements are made entirely on a voluntary basis. At least I think David doesn''t pay those people ;) Last time I measured I was exactly 6.3994 times faster. If I keep working so hard I might reach 10 in 2 or 3 weeks ;) Sascha