Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Ruby on Rails and J2EE: Room for Both?

timothy posted more than 9 years ago | from the floor-topping-and-dessert-wax dept.

Java 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."

cancel ×

47 comments

Sorry! There are no comments related to the filter you selected.

I've not yet used Ruby (0, Redundant)

VolciMaster (821873) | more than 9 years ago | (#13096818)

as there are a lot of other languages out there that have occupied my interest. However, from my experience with Java, it would seem that Ruby on Rails is a really nice framework. I've recently begun working with Python and Zope, and am interested, personally, in how they compare, too.

Re:I've not yet used Ruby (2, Informative)

G-Licious! (822746) | more than 9 years ago | (#13098104)

Speaking of Python, make that room for three [djangoproject.com] .

(Perhaps even 4 with Zope, I guess)

I just started it about a week ago (4, Interesting)

hammeredpeon (572012) | more than 9 years ago | (#13096910)

And I've already written lots of apps that I'd been meaning to get to with j2ee.

Don't get me wrong. I love java and hibernate and all of the powerful ideas it introduces and brings to the table, but RoR just makes things so easy and fast. I don't know how easy it would be to write something huge in it, but lots of my initial reservations about it were shed when I started playing with it.

If you haven't given this a try, I'd really suggest you do it. With this giving developers such an easy time writing web apps, and having an alternative with java that's more verbose but proven and (maybe) more powerful, I don't see any room for .net anymore. Unless you like writing non-MVC apps :)

RoR? (1)

Work Account (900793) | more than 9 years ago | (#13098671)

Stop being racist. It's spelled LoL ;)
Don't get me wrong. I love java and hibernate and all of the powerful ideas it introduces and brings to the table, but RoR just makes things so easy and fast.
On a serious note, I honestly doubt the typical programmer can go from Idea to Working Code in Ruby any faster than you can do the same thing in Java. If you can personally, then I'd suspect you just aren't very good at Java.

Not a personal attack, but there's just so many useful Java libraries that it's a snap to get things done esp. when using a nice IDE.

Re:RoR? (2, Insightful)

Tobias Luetke (707936) | more than 9 years ago | (#13098853)

Anyone experienced in ruby on rails will match any team of 5 struts programmers in productivity.

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:RoR? (2, Insightful)

megajini (557306) | more than 9 years ago | (#13101549)

Hell, of course the IDE has to do the stuff that Ruby does by being dynamic. Example: For ActiveRecord you would need

  • Database-Integration to generate mapping XML-files
  • A code generator to generate dumb classes (.java sourcecode) from bindings
  • Finally generate some helper classes, config and you're done
This all results from the nature of Java. But, if you do the "generator"-way this results in much snappier applications. Currently (including Hibernate) everything circles around IOC and code injection (CGLIB), thus it's hard to clearly beat RoR. To match it (on the same field) you could enhance Groovy a bit and you would practically get the same... (because Groovy is dynamic)

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...).

Agreed (1)

Work Account (900793) | more than 9 years ago | (#13103517)

The article's about Ruby, so all the Ruby fans are reading and commenting and moderating, thus my "well Java's pretty damn good" comment sits at 1 and the reply saying how amazing Ruby is gets modded to 4 or 5.

I'll say it again: couple a modern OO language with lots of native libraries all documented clearly with a decent IDE (method completion, auto-syntax checking) and I can solve just about any problem in software in a relatively short amount of time.

Considering there's more lines of Java code in existance than any other language in the entire world, and the fact that many many job postings are for J2EE developers, I think I'll stick with that for now rather than learn another tool.

Sometimes when you have a hammer, everything looks like a nail, and that's the case with RoR. Not dissing it, I'm sure it's nice, but don't discount everything else just because you're into some new exciting thing.

Re:Agreed (1)

Paradise Pete (33184) | more than 9 years ago | (#13106204)

I can solve just about any problem in software in a relatively short amount of time.
many many job postings are for J2EE developers

If your first statement is true, then I don't think you have to worry much about the second. I confess I have some doubts, though.

Re:RoR? (1)

hammeredpeon (572012) | more than 9 years ago | (#13098972)

I've made some pretty big apps in java and I like it, but you really have to give it a try before blasting it. I've made some pretty complicated tie-in-with-local-hardware sites with rails in just a few days, which is probably the same amount of time it would have taken me to get all of the trivial stuff done w/ struts and hibernate.

Of course, you can forget about RoR and just go with java and assume that people who think RoR is better are just bad coders, or you can give it a shot and see that there's a lot of pain in the way you code, you just don't know it yet.

Re:RoR? (1)

arkanes (521690) | more than 9 years ago | (#13102400)

On a serious note, I honestly doubt the typical programmer can go from Idea to Working Code in Ruby any faster than you can do the same thing in Java. If you can personally, then I'd suspect you just aren't very good at Java.

I honestly doubt that you know anything about Ruby (or Python, for that matter). Java is a heavyweight language. There's a lot of boilerplate (especially in crap like J2EE. There are lots and lots of testimonials about working with Ruby being easier and faster than working in Java - is everyone lying? Ruby does more for you than Java, requires less hoops, and has equally functional libraries. Ruby's standard library wasn't written by Sun, either, so it doesn't even have that crappy stench of poor quality implementation on it.

Now, I personally am a Python guy. I've been writing C++ code for about 3 times longer than I have Python. I'm pretty good with C++ in general, and I have a lot of experience with some specific libraries and domains, and I can write apps really fast there. My very first Python app in that area came out in about the same amount of time as the equivilent C++ one. My second was faster. I can now write a Python app in half the time (at least) as the C++ one.

People who talk about how nice and useful the Java libraries are just haven't experienced anything else, in my opinion. Hell, if you know where to look (half the problem, of course) you can get a C++/C library for anything you can get for Java.

Re:I just started it about a week ago (2, Insightful)

Ogerman (136333) | more than 9 years ago | (#13099253)

I love java and hibernate and all of the powerful ideas it introduces and brings to the table, but RoR just makes things so easy and fast. I don't know how easy it would be to write something huge in it..

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 .net anymore. Unless you like writing non-MVC apps :)

Largely through copying of what has worked with Java and friends, .NET has become a very strong competitor to Java for mid/large scale applications. ..So beware of becoming too smug. And there's nothing saying that .NET apps are non-MVC. The next several years are going to have developers on each side working hard to surpass what the other is doing. If Ruby wants to compete with the big dogs, it's going to have to grow up really quickly and get some real tools in its belt. Right now, Ruby is not something you would use to write a large, complex enterprise app. At this point, the Open Source community would be far better off rallying behind Java (aka. a Free "java") than any scripting language or immature newcomer like RoR. Java needs to be improved, but it already does an enormous amount right.

Re:I just started it about a week ago (0)

Anonymous Coward | more than 9 years ago | (#13099392)

The "alternatives" to Java are all missing an O/R tool as powerful as Hibernate


So RoR's AcitveRecords three lines:

01 class Order ActiveRecord::Base
02 has_many :items
03 end

are not powerful enough comparing to 38 lines required by Hibernate?

Re:I just started it about a week ago (1)

Ogerman (136333) | more than 9 years ago | (#13106221)

Your faulty illustration demonstrates precisely where the article's comparison goes terribly wrong. Those 38 lines of XML required by Hibernate give you the ability to specify dozens of options and features that ActiveRecords doesn't have. And those options are actually required when you're not just writing a toy application or tech demo.

Of course, it should be mentioned that most likely the Java IDE you are using will automatically generate that Hibernate XML for you. You can hand tweak it later, but the hard work is already done.

Re:I just started it about a week ago (0)

Anonymous Coward | more than 9 years ago | (#13112046)

That's all nice, execpt that for same dozens of options in RoR you don't need any XML.

It's funny to observe mazochists fighting for their passion :)

Re:I just started it about a week ago (1)

Ogerman (136333) | more than 9 years ago | (#13118258)

That's all nice, execpt that for same dozens of options in RoR you don't need any XML.

They aren't the same dozens of options. ActiveRecord is catching up, but it's not a feature equivalent to Hibernate yet.

Of course, many real-world business apps require far more than just a CGI-based front controller and an O/R backend store. After further study, RoR indeed looks like a great tool for developing a certain breed of web apps -- the typical e-commerce, blog, cms, etc. variety. I would use it in place of PHP any day for this sort of app because it really does everything right. However, these examples are lightweight web apps which can be made almost entirely stateless and which do not have complex transactional, auditing, scheduling, and security requirements. Most business apps do have these sorts of requirements and often their use cases dictate a significant amount of application state. RoR is not up to this task by its very nature as a CGI scripting language. It is request driven and all state disappears upon completion of the request unless it has been persisted to the (comparatively slow) database backend. Scheduling is likewise impossible.

It's funny to observe mazochists fighting for their passion :)

It's funny to observe scripting language developers claiming their language of choice is the right tool for every job.

Python will kill Ruby (4, Interesting)

duffbeer703 (177751) | more than 9 years ago | (#13096952)

Look at this new project, just announced a few days ago:
http://www.djangoproject.com/

Django is basically RoR for Python. When you consider the Java-Python integration options available, plus the larger number of Python devs outside of Japan, I think this is a the way of the future.

Re:Python will kill Ruby (3, Insightful)

keesh (202812) | more than 9 years ago | (#13097027)

Except that python doesn't even come close to ruby in terms of power. Try implementing Rails' 'belongs_to' in python... It's when you start to do neat tricks like this that the advantages of having real higher order classes (as opposed to the python Klass hack) and real higher order functions (as opposed to what python laughingly calls lambda) shows up.

Re:Python will kill Ruby (1)

arkanes (521690) | more than 9 years ago | (#13102531)

Just to clarify things for people, yes lamda is a poor cousin in Python, but no, that doesn't mean it doesn't have real higher order functions. Python has first class functions, and you can do every single one of the functional programming tricks with them, except write them inline as lambdas - you have to put them somewhere (although local functions work fine). Now, this bugs people who're used to writing functional code as little inline snippets all over the place, but the Pythonic way of doing this is no less powerful.

I'm not familiar with the Ruby implementation, but it's certainly possible to write belongs_to in Python. I doubt it would be signifigantly more complicated than the Ruby implementation, too - dynamically adding methods to classes is a pretty common Python trick.

Re:Python will kill Ruby (1)

the quick brown fox (681969) | more than 9 years ago | (#13107884)

Now, this bugs people who're used to writing functional code as little inline snippets all over the place, but the Pythonic way of doing this is no less powerful.

Not less powerful, just less usable. In fact, from what I've seen, the Pythonic way is to not do it.

Take a look at how pervasively HOFs are used in any idiomatic Ruby API (or those of all the languages that came before it). There is a qualitative difference between closures with anonymous functions, and closures only via first class functions. "No less powerful" is true but irrelevant when it comes to having HOF available as an abstraction mechanism for your own code.

Re:Python will kill Ruby (1)

arkanes (521690) | more than 9 years ago | (#13108409)

It is extremely common for Python code to pass callables about. It's just not done with blocks and lamdas - it's a different style of programming. I prefer the Pythonic way, I think it's more readable and it lends itself better to maintainability and refactoring. I have no problem with people who prefer the more classic Ruby functional approach, but to claim that Pythons functional programming or HOF abilities are weaker because of the second class lambda is false. Functional programing is simply *different* in Python than it is in Ruby.

Re:Python will kill Ruby (0, Flamebait)

lowmagnet (646428) | more than 9 years ago | (#13097229)

So let me get this straight... A group comes up with a great platform for web development. But instead of using the platform, another group feels the need to re-implement it in their language of choice.

And, of course, "Python will kill Ruby" in a space where Ruby is already set up and running for several releases. Instead of helping out a project that deserves recognition for work already done, we make a different-language fork of the same concept!

When will open source grow up and recognise that the the market won't support this many variations on a them? That maybe one desktop environment will thrive while two might falter? If we concentrate on the one best project, we might just improve that project greatly. This is surely better than the certainty of getting nowhere on several marginal projects.

Please, don't believe the hype. Python and Ruby came about at roughly the same time. Python is a nice language and ruby is a nice language, but rails was created on ruby for several reasons, and there is no need to port it to every language up to and including snobol.

Re:Python will kill Ruby (1)

duffbeer703 (177751) | more than 9 years ago | (#13097283)

The Python system that I posted about has existed for about the same amount of time as Ruby on Rails.

The only difference is that the people behind RoR are really good at building a buzz behind it. They posted frequently on popular websites like Joel on Software and /. and got a bunch of articles published on O'Reilly websites.

I agree that Ruby is a cool language, and that Ruby on Rails is cool. But, there's much more happening in Python and ultimately it will bury Ruby... ruby is just too obscure!

Re:Python will kill Ruby (4, Funny)

CatGrep (707480) | more than 9 years ago | (#13097774)

ruby is just too obscure!

Damn! Wish I would've known that before I decided to learn Ruby because of all the good things I was hearing about it. But now you tell me it's obscure! Man, I feel so betrayed by all those people who were telling me about how great Ruby is. I had no idea all those people (some with some pretty impressive credentials like the Pragmatic Programmers, the creator of Ant, etc.) were trying to lead me astray. My coworker was showing me how much more productive he was programming in Ruby - was that all just an act? Well, it just proves that you just can't trust anyone these days, eh? Damn!

Re:Python will kill Ruby (0)

Anonymous Coward | more than 9 years ago | (#13185433)

Damn! Wish I would've known that before I decided to learn Ruby because of all the good things I was hearing about it. But now you tell me it's obscure! Man, I feel so betrayed by all those people who were telling me about how great Ruby is. I had no idea all those people (some with some pretty impressive credentials like the Pragmatic Programmers, the creator of Ant, etc.) were trying to lead me astray. My coworker was showing me how much more productive he was programming in Ruby - was that all just an act? Well, it just proves that you just can't trust anyone these days, eh? Damn!

OMGLOL there are a few programmers who use Ruby so it's not obscure!!!!!!1111!eleven!

Ruby is just too secure (2, Funny)

Colonel Panic (15235) | more than 9 years ago | (#13097917)

ruby is just too obscure!

And this, of course, is what makes Ruby so secure.

Re:Python will kill Ruby (1)

lowmagnet (646428) | more than 9 years ago | (#13098147)

The Python system that I posted about has existed for about the same amount of time as Ruby on Rails.

actually, you stated:

Look at this new project, just announced a few days ago

Has it been out as long as RoR? Ruby on Rails has been around for about a year. RoR started out in a working state a year ago, and it's only being noticed now. I can't get a history on django, but it doesn't appear to be as old or as mature as you state.

Re:Python will kill Ruby (1)

Scaba (183684) | more than 9 years ago | (#13100940)

If you really wanted that information, you would have followed the link to the Django website, and found, almost instantly:

Developed and used over the past two years by a newspaper Web operation, Django is well-suited for developing content-management systems. It was designed from scratch to handle the intensive deadlines of a newsroom and the stringent requirements of experienced Web developers.

You'd also have noticed that chicagocrime.org [chicagocrime.org] , one of the famous Google Map API using sites we /.ers have spent so much time drooling over, uses Django.

Re:Python will kill Ruby (0)

Anonymous Coward | more than 9 years ago | (#13101129)

I wrote a piece explaining some of the history of Django here: http://simon.incutio.com/archive/2005/07/17/django [incutio.com]

Key points: it's not a Rails clone - development started around October 2003 and similarities to Rails are almost entirely coincidental. It's been used on a number of sites: http://www.lawrence.com/ [lawrence.com] is a good example. Finally, the open-source version hasn't even reached an initial release yet so naturally it's not nearly as polished or stable as Rails. Give it some time!

Re:Python will kill Ruby (3, Interesting)

croddy (659025) | more than 9 years ago | (#13098954)

I spent the past couple of weekends working on a messageboard in Rails. I don't know about the "ten times faster development" claims... but I do feel like I'm getting around three times as much done versus working in PHP -- and I already knew PHP, but just started to pick up Ruby a couple of weeks ago. When they say this framework "fits your brain", they really mean it.

The Rails folks are very good at marketing -- but they surely haven't forgotten to put a solid product behind that buzz.

As for Ruby losing to Python? Well...

At work, we're in the middle of re-implementing OCLC's PURL [oclc.org] redirection server (which is a tasty casserole of Perl, C, and god only knows what else). With the goal of demonstrating that we don't need our own private copy of Apache (as OCLC uses), a pile of ReWrite rules, and an army of Perl scripts to work with its Berkeley DB backend, I threw together a quick demo using Ruby's WEBrick servlet and connected it to PostgreSQL. Thankfully, I was able to persuade the decision-makers that a scripting language and an RDBMS are a reasonable solution to our problem... but their attitude toward Ruby was similar to yours. "I dunno, I haven't heard much about it, let's use something else."

We settled on Python, which, of course, has its own SimpleHTTPServer which fills roughly the same niche as WEBrick. But it's slower, it dies if you throw too many concurrent connections at it, and its built-in methods are far cruder than those of its Ruby counterpart. I'm going to have to write a lot more code to pull it off in Python.

Obviously this is an anecdotal example... but I just keep coming across things in Ruby that simply make more sense, and just work better than they do in other systems. After a couple of weeks, I'm certainly sold -- even though $PREFERRED_LANGUAGE will keep paying the bills, Ruby is a great tool to have at my disposal.

Re:Python will kill Ruby (1)

Quantum Jim (610382) | more than 9 years ago | (#13100919)

While you are rewriting your PURL server, could you make it easy to switch individual redirects [w3.org] (that's not me) to 303 Founds to be compliant with HTTPRange-14 [w3.org] ? Even better, a per PURL option for 302 or 303 redirects would be nice. I don't really like the HTTPRange-14 compromise, but it is better than nothing I guess.

Re:Python will kill Ruby (1)

croddy (659025) | more than 9 years ago | (#13104900)

I will bring it up. That should be trivial to implement, but there are several layers of management which will have to be convinced to deviate from the existing behavior, and to allow us to release it to the public.

I believe OCLC went with 302 due to incomplete/nonexistant implementations of 303 status in pre-HTTP/1.1 clients, but that was a long time ago.

Re:Python will kill Ruby (1)

arkanes (521690) | more than 9 years ago | (#13102434)

Consider using twisted [twistedmatrix.com] for your quick server creation needs with Python. Sadly, while it's powerful and expressive and really cool the documentation is poor so you may lose the time you save from the great implementation to the learning curve. If the performance problems of SimpleHTTPServer is your concern, though (and it certainly lives up to it's name), then twisted may be a good solution for you.

I have no affiliation with twisted beyond being impressed by the library, btw.

Re:Python will kill Ruby (2, Insightful)

ak3ldama (554026) | more than 9 years ago | (#13097476)

When will open source grow up and recognise that the the market won't support this many variations on a them?

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."

Re:Python will kill Ruby -- grow up (1)

oldCoder (172195) | more than 9 years ago | (#13106927)

That is a good argument for COBOL ;-)

Re:Python will kill Ruby (0)

Colonel Panic (15235) | more than 9 years ago | (#13097576)

No Ruby grinds Perl to fine dust, Ruby kills Python by smacking the snake on the head. Some say that the paper-covers rock rule applies to Python swallowing Ruby (and thus would constitute a win for the snake), however, what do you think comes out in the end of that encounter? Yes, nice try, but the Ruby endures.

Nitro kills Django dead (2, Informative)

CatGrep (707480) | more than 9 years ago | (#13097687)

The future is here [nitrohq.com] .
Django is now old news...

Yeah, Nitro is in Ruby. But considering that RoR has opened the Ruby door so that many people have been learning Ruby lately ( and also considering that it's quite easy to go from either Perl or Python to Ruby) that's not a problem. Excellent Ruby web programming frameworks are now popping up like mushrooms after a Fall rain.

One nice RubyOnRails feature... (2, Interesting)

tcopeland (32225) | more than 9 years ago | (#13097089)

...is how it's very simple to put together an XMLRPC or SOAP interface to a back end API. Just put a
web_service_api :MyAPI
in your controller class, and Bob's your uncle. Another nifty bit is:
web_service_scaffold :invoke
which enables an HTML user interface for invoking methods on SOAP or XML-RPC services. Makes rapid prototyping very, well, rapid.

Re:One nice RubyOnRails feature... (1, Interesting)

Anonymous Coward | more than 9 years ago | (#13097231)

Oh, now let me do that in Perl.

use XMLRPC::Transport::HTTP;

$daemon = XMLRPC::Transport::HTTP::Daemon
->new(LocalPort => $PORT)
->dispatch_to('ClassName')
->handle( );

Wow, that was easy, too. And look, Perl is already installed.

Re:One nice RubyOnRails feature... (1)

COBOL/MVS (196516) | more than 9 years ago | (#13097689)

Web services should use SOAP and not XMLRPC. SOAP::Lite has this capability.

Re:One nice RubyOnRails feature... (0)

Anonymous Coward | more than 9 years ago | (#13098890)

If you can't see why the Ruby on Rails version is easier to work with, then by all means, stick with Perl.

And I mean the whole system, from the object model up to the framework, not just one XML-RPC library.

Nobody's arguing that those things aren't POSSIBLE in Perl or Java or COBOL or INTERCAL .. they just aren't as easy or fun as Ruby.

Re:One nice RubyOnRails feature... (0)

Anonymous Coward | more than 9 years ago | (#13101653)

And look, Perl is already installed.

So is Ruby.

[000a9599d200:~] ac% ruby --version
ruby 1.8.2 (2004-12-25) [powerpc-darwin8.0]

Stupid (4, Insightful)

jlarocco (851450) | more than 9 years ago | (#13097444)

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?

Tapestry and Spring? (1)

chochos (700687) | more than 9 years ago | (#13097964)

So the comparison is made using the typical J2EE setup with Struts or something similar. I like writing J2EE apps but I just hate JSP, it's such crap.
I'd like to see a comparison of RoR and a J2EE app that uses Tapestry, and maybe even Spring. Tapestry just throws JSP out the window and brings something much much better, cleaner, more powerful. People who have used WebObjects will understand very quickly the way Tapestry works. As for Spring, well, it just saves you a lot of headaches and a lot of code that you usually write for service locators and stuff like that; you can handle hibernate or jdbc transactions with more ease, use JTA stuff without any extra code, say goodbye to all the hassle of implementing EJB's... all of the typical dull stuff that J2EE implies.

Re:Tapestry and Spring? (2, Interesting)

martinde (137088) | more than 9 years ago | (#13099788)

You might want to check out this article about Trails [java.net] when you get a chance. Trails uses the some of the more interesting J2EE frameworks - (Hibernate, Spring, and Tapestry being some of the key pieces) to create something quite like Ruby on Rails but with Java under the hood... In the interest of full disclosure, I know the creator of Trails from my old Java user's group [cinjug.org] in Cincinnati.

of course there's room for both! (4, Insightful)

Anonymous Coward | more than 9 years ago | (#13098698)

That's like two people standing in a room and saying "is there room for us both in here?" Well, duh, you're both in there now, so yes, there's room!

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.

Rails not the only Ruby Web Framework (3, Interesting)

gmosx (865680) | more than 9 years ago | (#13101567)

If you love Ruby (and why wouldn't you), there are more alternative web frameworks. Have a look at Nitro (http://www.nitrohq.com/ [nitrohq.com] and the Og object relational mapping library. Nitro, in true Ruby spirit, gives the developer choice, instead of enforcing the design of the application or specific patterns. And Og is a completely oo solution that transparently maps Ruby objects to sql (or non sql) stores and not vice versa.

I've not yet used Ruby (1)

VolciMaster (821873) | more than 9 years ago | (#13103735)

as there are a lot of other languages out there that have occupied my interest. However, from my experience with Java, it would seem that Ruby on Rails is a really nice framework. I've recently begun working with Python and Zope, and am interested, personally, in how they compare, too.

Note: This is a repost. The original was modded 'Redundant' by somebody, but I'm not quite sure how the first post can be redundant, so I'm reposting

Check for New Comments
Slashdot Login

Need an Account?

Forgot your password?