Soo many quotes, so little space

Xavier Defrang characterizes himself as a “…a frustrated Python-lover writing object-oriented PHP code”. He has contributed to the O’Reilly Python Cookbook and initiated the french translation of Dive Into Python. Despite his pythonic love, he has also managed to post the single most flattering article about Rails I’ve yet to stumble across in which he compares Ruby on Rails to Java, Python, and PHP.

The number of quotes and passages I want to pull out are so plentiful that I can hardly decide. Here goes a few:

  • The recent Trails video walktrough just showed that J2EE zealots were definetly not getting it: the What is as important as the How
  • I consider myself a real Pythonistas… and I’ve never thought of Ruby as attractive because of its syntax I (still) find a bit too sweet… But now that there is a killer app for Ruby which appears to square the circle of web development, can you think of a better time to look at it?
  • I predict that a lot of high-profile PHP developers will soon or later switch to RoR. As a frustrated Python-lover writing object-oriented PHP code, Rails really fits as the best-of-both-world solution.
  • The productivity boost offered by Rails is similar to what I experienced when switching from C++ to Python as my main development language. Everything is so simple and natural that it feels just like your own framework you would have grown yourself after years of trials and errors.

Anyway, go read the whole thing before I reveal all of it through quotes. It’s either a man who really gets it or a terrible suck up. Depending on your own personal enthusiasm about Rails :)

Understanding Model-View-Control

Rails is built upon the foundation of a model-view-control split of responsibilities. The MVC pattern can be quite bewildering if you’re coming from procedural PHP, other non-OOP environments, or are just starting out with programming. But now you can learn it all. Amy Hoy has written a great introduction to the pattern and how it relates to Rails: MVC: The Most Vexing Conundrum.

Components are coming to Rails

Despite my recent case against high-level components, I do find low-to-medium level components useful when restricted within a narrow context. I could easily foresee abstracting some of the stuff in our 37signals applications into components and then reuse them across our similar products.

But what ever you believe that components will herald the second coming or remain skeptical as I, the infrastructure to build and use components have now come to Rails! It’s incredibly easy to use and components can either render complete screens or parts of other screens.

To demonstrate I’ve made a little movie: Components in Rails.

Components will be part of the forth coming Rails 0.10.0 release (which is due any day now).

Comparing Struts to Action Pack/Railties

Nicholas Mommaerts is a Java programmer that “…spend[s] 8 hours a day programming with Struts in a big company”. After becoming interested enough in Rails to do his blog in it, he also got interested in comparing his work environment to his newfound fun environment. So he went ahead an made a comparison analysis between Struts and Action Pack/Railties available both as a PDF and a 4-installment HTML series (1, 2, 3, 4).

Do read the full comparison, but here’s the conclusion:

Rails eliminates a lot of the boilerplate code we see in a normal web application, it adds just enough to the default stack of web standards to make programming a web application almost enjoyable (or boring). It relies on configuration through convention, but let’s you override where needed. It’s lean, self-contained, uses only one (great!) language and encourages testing. Rails is flexible because it remains so simple, so unobtrusive.

Struts eliminates boilerplate code only by replacing it with it’s own. Struts is a big, fat, hairy monster with which you have to fight constantly when programming. It is very flexible but this comes with such a high cost it makes you wonder if it’s worth it.

Rails beats Struts down, kicks it in the groin and leaves Struts crying for it’s mama.

Jamis Buck presents Rails at Utah JUG

Jamis Buck did a presentation of Rails for the Utah Java Users Group two nights ago. He has made the entire show available online including the Terminal videos used to show the programming. The presentation was given in between one about JDO and Howard Lewis Ship’s one about Tapestry. Here’s what one of the spectators noted:

As a witness to the event, I have to say that the presentation went quite well. This is what I learned from each speaker:1) JDO is losing popularity to Hibernate, 2) How to build a entire CRUD app in 40 min using Rails, 3) How to build a single login screen in 1 hour using Tapestry. Hmmmm… kinda indicative of the tools presented. :)

Congratulations on the good show, Jamis!

Nearing a tipping point for LAMP with Rails

Tom Purl believes we’re getting near a tipping point for LAMP in the enterprise and that the missing piece, “…this bridge appears to be Ruby on Rails”:

So in addition to being able to use LAMP and increased productivity, why would large companies wan to use Ruby on Rails? Well, for starters, large companies are already using the MVC framework extensively with J2EE and .Net, so another slightly-different framework wouldn’t be too hard to swallow. Also, Ruby is is an object-oriented scripting language that shares many features with Java an C#. It certainly has its differences, but nothing compared to the differences between Cobol and Java or VB 6.

Commercial training in Rails

Tobias Luekte has had great success introducing newcomers to Rails. He provides tutoring sessions with hand-holding, sing-alongs, and all that good stuff that makes you really get what’s going on much, much faster than picking everything up on your own. He’s now offering this service to the public at large, so if you just got into Rails and want to purchase some focused training to help you get up to speed faster, Tobias is your man.

A few quotes from people how has had the pleasure so far:

“Tobias’ deep knowledge of the entire Rails system is what finally gave my company the confidence to go ahead with this project. His wisdom and insight into such things as database setup helped immensely. He has a great way of walking through real-world situations instead of merely abstract or simplistic scholastic examples.”
— Derek Sivers, www.cdbaby.com

“Tobias’ support and mentoring has been invaluable — why spend a few hours hacking away with trial-and-error code when someone with real experience can solve the problem and clearly explain it to me in a fraction of the time?”
— Justin French, Indent.com.au

The training can even be performed remote using VNC and Skype/phone. Read more at Leetsoft.