Ruby on Rails and J2EE: Room for Both? 47
Wayne writes "Ruby on Rails is a relatively new Web application framework built on the Ruby language. It is billed as an alternative to existing enterprise frameworks, and its goal, in a nutshell, is to make your life -- or at least the Web development aspects of it -- easier. This article will contrast the Rails framework against a typical J2EE implementation using common open source tools that are regularly found in enterprise applications."
Re:Python will kill Ruby (Score:4, Insightful)
Stupid (Score:4, Insightful)
That's like asking C++ and Java, room for both? Or, Chevy and Ford, room for both?
Of course there's room for both, and if there's not, who cares?
Re:Python will kill Ruby (Score:2, Insightful)
It's pretty simple, once a developer/group/company builds up a lot of functionality in API's or Classes, or just gains experience using one language, it is easiest and best for them to try to use that language with the new addon instead of trying to learn something new (such as RoR).
It is not always possible or viable to use something just because it is the "great platform."
of course there's room for both! (Score:4, Insightful)
If I had a team of 50 programmers working on a gigantic site, and the programmer turnover was high, and these folks put in a good day's work but weren't hardcore programmer geeks, I would probably choose Java. Type safety, verbose explicit code, huge array of tools and vendor support, this is the stuff of "joe sixpack programmer".
However, for small focused teams with passionate programmers (folks who program 10 hours a day at work, and then go home and do another 4 hours just for fun, and then write their own IDEs on the side), I would definitely choose Ruby on Rails. Java would just slow us down.
And don't think for a minute that there's anything revolutionary about RoR. This is an old debate: do you create a powerful and expressive "domain specific language", which takes time to learn and understand but allows you to work at high velocity once up to speed (example: RoR)? Or do you go for slow and steady but with a quick ramp-up (example: PHP).
The great thing about RoR is it brings this style of metaprogramming to the masses with a pragmatic language like Ruby. I love languages like Lisp, and they can blow Ruby out of the water, but try and do something simple like connect to a database and you enter a sea of incompatible confusing half-finished code and rude IRC denizens.
Re:RoR? (Score:3, Insightful)
You are absolutely and utterly kidding yourself. All idea does is fix java. An IDE like this is just not required for ruby like service pack 2 is not required for linux.
Re:I just started it about a week ago (Score:3, Insightful)
RoR makes easy things easy, but Java makes hard things possible. (You could also insert Python, Perl, or PHP in place of RoR and that statement would be equally true.) The "alternatives" to Java are all missing an O/R tool as powerful as Hibernate, an AOP/IoC framework as powerful as Spring or AspectJ (if they have one at all), and a UI framework as powerful as Tapestry or JSF. The IBM article in the parent post is pretty terrible because it compares Java vs. RoR for ultra simple web applications which could be feasibly implemented in ANY language. It wouldn't surprise me if RoR is an excellent alternative to PHP, but it's nowhere near an alternative to Java for that which Java does well.
I don't see any room for
Largely through copying of what has worked with Java and friends,
Re:RoR? (Score:2, Insightful)
Hell, of course the IDE has to do the stuff that Ruby does by being dynamic. Example: For ActiveRecord you would need
I would enjoy some more code-generation (with ant, that's not really a problem). This would be more the C-way (kind'a retro), but hell fast and very cool in a decent IDE (think of Class-Browsers, JavaDoc support...).