Crossing borders: What's the secret sauce in Ruby on Rails? (developerWorks)
Posted Oct 20, 2006 1:55 UTC (Fri) by
kbob (guest, #1770)
In reply to:
Crossing borders: What's the secret sauce in Ruby on Rails? (developerWorks) by ajross
Parent article:
Crossing borders: What's the secret sauce in Ruby on Rails? (developerWorks)
One more opinion...
Ruby is just another scripting language. It's cleaner than Perl5 or TCL, and grottier than Python. Not especially great and not particularly broken. Ruby on Rails would have worked just as well if it had been called Perl on Poles or Pythons on a Plane. (-:
Rails has two main technical strengths: a surprisingly clean, well-thought-out architecture, and aggressive use of defaults and conventions to keep you from having to write boilerplate code.
Rails also has better marketing than any other web framework, and was lucky enough to be in the right place at the right time. A bunch of Java refugees found it and noticed that it sucks a lot less than the EJB stack.
Last year, I gave a Rails talk at the local LUG, and I presented a CD librarian sample app. It was about 15 lines of code, but it was fully functional. I dropped in a ~100 line CSS file and it was fully functional *and* attractive. (Well, geeky-attractive. I'm no designer.)
When a tutorial starts adding features, it may be more about showing more of Rails than because that stuff is needed. I haven't had to drop into raw SQL yet, though it's nice to know I can.
Rails comes with its own minimal webserver which is great for development, but it also plugs into Apache and other web servers. It can even be configured as a CGI script which is nearly universal.
Rails is not perfect by any means. ActiveRecord (the database abstraction) gets flaky when you combine advanced features. The page templates are just as easy to abuse as PHP. (Rails discourages putting application logic in the templates, but bad programmers are incorrigible.)
IMHO, Rails is a good framework. It's not the Second Coming, and it's not snake oil.
(
Log in to post comments)