Win a copy of Succeeding with AI this week in the Artificial Intelligence and Machine Learning forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
  • Campbell Ritchie
  • Paul Clapham
  • Ron McLeod
  • Liutauras Vilda
  • Junilu Lacar
  • Tim Cooke
  • Jeanne Boyarsky
  • Knute Snortum
Saloon Keepers:
  • Stephan van Hulst
  • Tim Moores
  • Tim Holloway
  • Carey Brown
  • Piet Souris
  • salvin francis
  • fred rosenberger
  • Frits Walraven

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

Posts: 16
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
Posts: 11962
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
Posts: 6920
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
Ranch Hand
Posts: 235
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
Are you okay? You look a little big. Maybe this tiny ad will help:
Two software engineers solve most of the world's problems in one K&R sized book
    Bookmark Topic Watch Topic
  • New Topic