Chris Baus

Rails is written in the wrong language

This week I was working on boiler plate authentication in Python, and while talking to Chad, I started getting Rails envy. I wanted Acts as Authenticated.

When I learned that there are multiple ways to define blocks and that Ruby inherited TIMTOWDI from perl, I developed a philosophical bias against the language. While Python isn't the perfect language, I am in favor of Guido's philosophy of restraint in language design. But still, I want ACTS AS AUTHENTICATED.

So I picked up the Rails book -- trying hard to ignore the redefinition of fundamental boolean operations (ah hem "unless") -- and now I'm watching DHH's 2006 Rail's Conf keynote. Here's a couple choice quotes:

Decisions are bad.

Because decisions take up your brain power, and it requires brain cycles to consider which or the other.

The more decisions you can take out of the whole the thing, the more brain power you free up to consider the really important things.

That's of course how this leads to simplicity. It leads to simplicity in the fact that it is not even something you think about anymore.
Constraints are liberating.
It [Rails] takes a stand on lots of issues.
If you design a new schema and you want to use composite primary keys you're insane. And basically if you want to indulge in insanity it should hurt. It shouldn't be a walk in the park to be insane...

Hmm this doesn't sound like TIMTOWDI at all. It sounds down right Pythonic, in that there should be one - and preferably only one - obvious way to do it.

Somehow the web development universe got turned upside down. Ruby got a Pythonic framework, and Python has a TIMTOWDI smorgasbord of frameworks.

What I really, really want is Python On Rails. In other words, Rails is written in the wrong language.

...Thanks reddit for all the traffic... There is a short follow up here.