Originally posted by srikanth koppisetty: How do you compare [Ruby on Rails] with JSF, Seams or Struts framework?
One major difference is that JSF and Seam (which incorporates JSF) are component-oriented frameworks whereas the old Struts (1.x) framework and Ruby on Rails are request/response-oriented. Another major difference is the language - Ruby is much more malleable a programming language compared to Java.
Originally posted by Lasse Koskela: Ruby is much more malleable a programming language compared to Java.
Not to turn this into a Ruby discussion -- or perhaps that's perfectly appropriate -- but could you expand on this for someone who's a complete Ruby idiot? [ February 05, 2008: Message edited by: Bear Bibeault ]
Ruby is definitely a more flexible language than Java. This may or may not be desirable depending on your preference. Note that Ruby is not especially good at protecting you from stupidity, so if you're saddled with incompetent developers on your team, Java will protect you from them to a greater degree. (Ultimately, incompetent programmers will be a problem irrespective of programming language, of course.)
For example, you can also reopen a previously defined class and add new code to it. You can even use a method_missing definition to provide special handling for undefined methods: this lets you, for example, create "patterns" of methods, rather than having to create all of your methods by hand. Rails does this for finder methods, so your DB models can have calls like find_by_first_name_and_last_name without any code explicitly defining them.
Originally posted by Bear Bibeault: Not to turn this into a Ruby discussion -- or perhaps that's perfectly appropriate -- but could you expand on this for someone who's a complete Ruby idiot?
What I meant by malleable was that Ruby gives the programmer more power in terms of expressing himself in different ways whereas in Java you can basically just rename your variables/methods/classes, add/remove parens, and indent code. With Ruby, you can create, for example, small DSLs easier, not to mention fluent and literate APIs. [ February 07, 2008: Message edited by: Lasse Koskela ]
Originally posted by Prad Dip: I like the scaffloding feature of RoR.It is really cool.
I think developers have to test more when they are usinf Ruby.
Scaffolding, while quite neat and a great example of how flexible this framework is, really isn't that useful once you get past the basics. But is great for banging out a proof of concept in short order.
"Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration."- Stan Kelly-Bootle