File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Ruby and the fly likes How does ruby fit in as a language for agile web development? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Languages » Ruby
Bookmark "How does ruby fit in as a language for agile web development?" Watch "How does ruby fit in as a language for agile web development?" New topic

How does ruby fit in as a language for agile web development?

Andy Daykin

Joined: Feb 01, 2008
Posts: 16
Tim O'Reilly has said "Ruby on Rails is a breakthrough in lowering the barriers of entry to programming. Powerful web applications that formerly might have taken weeks or months to develop can be produced in a matter of days."

Please explain why these powerful web applications are now able to be developed faster with ruby on rails.
Lasse Koskela

Joined: Jan 23, 2002
Posts: 11962
You might enjoy reading Martin Fowler's writings on Ruby and Ruby on Rails. For example, Evaluating Ruby and Ruby at ThoughtWorks. ThoughtWorks is perhaps the largest agile shop making heavy use of Ruby and Martin is their Chief Scientist.

Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
Frank Carver

Joined: Jan 07, 1999
Posts: 6920
Compared with (for example) Java, ruby is a relatively "low ceremony" language - getting ideas from the bran of a developer to valid Ruby code involves less boilerplate and repetition. Ruby is also dynamically typed, which also helps reduce the amount of type declarations and the size of variable declarations.

Even if you disregard everything else, just this reduction in code size and typing boredom can help make a language more suitable for agile development.

Read about me at ~ Raspberry Alpha Omega ~ Frank's Punchbarrel Blog
Michael Sullivan
Ranch Hand

Joined: Dec 26, 2003
Posts: 235
One very basic difference is that Java, for instance, has C++ roots... roots that were aimed at execution performance, not productivity. Also, Ruby is aimed squarely at the developer: less verbose, more expressive, understandable, and best of all - fun!

Frank Carver used a great quote describing Ruby (low ceremony). Ruby feels a lot less like "coding", and more like "trying out ideas".

As far as the Rails framework itself, it's a lot of the things you DON'T do:

configure the webapp
parse xml to objects/ objects to xml/json/html
write a ton of validations
type and tune a bunch of SQL (DDL or queries)
hand-write ajax or prototype
bind form elements, parse URL parameters
spend time searching for existing solutions only to have to search out their dependancies (this jar needs these three jars which need...)
pluralize, singularize, capitalize, camelize, humanize, turn into a sentance, format date and time
configure dev vs test vs prod environments

Plus, you get a lot of advantages that come with using Rails (or gems along with rails):

restful services/web-app urls
easy gem integration
great testing support (unit, functional, integration, performance)
rails application bootstraps (boostrap a: social media site, blog, etc)
a vibrant community
ever expanding platforms (JRuby/Java, IronRuby/.net, etc)
unobtrusive javascript (soon)
deployment with capistrano

Try a chapter or three of Agile development with Rails, and you'll have firsthand experience at Agile with Rails. I don't think you'll be disappointed.
I agree. Here's the link:
subject: How does ruby fit in as a language for agile web development?
It's not a secret anymore!