I've been a long time user of rails, but I've drifted back towards Java recently because I think I'm more productive in Java. When Rails came out Java frameworks were pretty bad so using Rails had huge advantages. However, as time as gone one most of the Java frameworks have been inspired by Rails' simplicity in one way or another and have mostly made up that gap between them so Rails is not as productive over Java as it once was.
I still like the ActiveRecord simple philosophy over HIbernate, but ActiveRecord has one Achilles heel. It assumes a single database, and while you can play tricks on it to make it move between them it's still kinda tough to do that. Java, on the other hand, doesn't restrict you to just one database out of the box and so it's more straight forward to do database sharding which is very important if you plan to scale (and continue to use a database for storage). Twitter still runs on a single database because of the difficultly in changing after you've already designed your application to be single DB focused. Furthermore, ActiveRecord has restrictions in its design that only allow ONE client to be processed at a time. Rails still has the global lock to prevent multiple clients through at once. So you have to use OS processes to service multiple clients at once. Then there's the background task item. Rails doesn't have any support for running background jobs. There are many solutions out there for doing this in Rails applications, but I found most of them be to pretty horrible performance wise. And cumbersome to setup - cough Drb. So after I weighed all of that and looked at Java again. I started to really like Java again. So my stack I like to use now is: Jetty or Tomcat Spring MVC Sprint JDBC Templates for DB MongoDB if I can get away from Relational DB JST4J to replace JSP ActiveMQ or Quartz for BG Jobs Charlie On Fri, May 14, 2010 at 7:13 AM, Eric DeCoff <[email protected]> wrote: > Hey all, > > What is everyones opinion on Ruby on Rails vs MVC spring / hibernate? > > > > -- > Eric R. DeCoff > Changing the world, > 1 line of code at a time >
