On Unreadable Code...

Perl is dying, I surely won't cry and I'm not the only one. Back in 1996, when I was looking for a day to day programming language that was better than bash or AWK and more productive than C++, I considered learning Perl and I must say I never got any further that the first few pages of the tutorial. The syntax was simply too hairy and the support for OOP was a sick joke. I quickly switched to Python which was, in many respects, several orders of magnitude cleaner than Perl... and a lot more fun to write!

On Flamewars...

A few weeks ago, InfoQ launched. The content is slightly better than TSS but I'm not sure it was such a good idea to put Ruby as a main topic, on par with the evil twins of Enterprise software: Java EE and .NET.
Ruby is more a programming language than a complete software platform. Ruby's breakthrough into the major league could be seen as a big push toward the Enterprise but It will most likely fuel up flamewars between Ruby enthusiasts and people who might have forgotten what the simple joy of programming was all about.

On the True Believers...

Of course, you're all so damn right, Rails could have been written in Java. Just like it could have been written in assembly language. It's not about what Rails does, it's how it does it and how it gets your things done.

On Rails Newbies...

Ruby on Rails features newcomers overlook most of the time:

  • Migrations: that surely looks like overkill just to add a column to a table but it's not. No change to the schema should happen outside of a migration. Period.
  • Unit testing of any non trivial operation in your model
  • Look behind scaffolding, it's only good to kickstart your project but introspecting model attributes in production code may not be such a good idea...
  • Get rid of any PHP coding patterns you might have used. I don't see any of them applying to a state of the art Rails application
  • Helpers should only produce trivial fragments of HTML