Follow @zabada on Twitter
The New Dork - Entrepreneur State of Mind http://bit.ly/ar7ynT Pretty well done spoof of the Jay-Z Alicia Keys song 22 hrs ago
Random header image... Refresh for more!

Thoughts on Snakes and Rubies

I attended the Snakes and Rubies
event in Chicago today. It was an intro/debate/discussion on the merits of the
Django Framework (Python) and
Ruby on Rails by the two frameworks' primary
creators Adrian Holovaty and David Heinemeier Hansson respectively.
The talk was quite entertaining and informative.

First, my unofficial attendence numbers for the standing room only crowd: 120 men, 7 women, 1 baby.

After a coin-toss win for the Python team, Adrian got started at about 2:40pm after about twenty minutes of fighting with the projector. Adrian's presentation was light, funny and entertaining. He discussed the history of Django from it's humble beginnings from Lawrence, KS.
Adrian didn't show too much code or get too technical.

I have never worked with Django, but I got the impression from his presentation that Django is great for creating dynamic websites, and maybe not quite as good as Rails for creating full-scale web APPLICATIONS. I don't know if that is true or not.

With Django, he said, he typically designs his model first, and then with Django it is trivial to generate an admin application to work with this model. He then gives this admin interface to the client and they populate data using the admin tool and then he goes away and codes up the interesting stuff. I thought that sounded cool for a website project, as I have always found that when creating websites for people, the content is real problem, I can come up with the technology, but it is like pulling teeth to get the client to work on the content. Maybe creating a site this way would help, because this way, the client is given a good tool that makes it a pleasure to work with the content.

Along the way, Adrian dissed PHP and later Metromix, asking why can't they make it like a site that he helped to create, lawrence.com.

After Adrian wrapped up, there was a short break and then another 20 or 30 minutes of fighting with the projector trying to get David's PowerBook hooked up. Finally they gave up and used a Windows box and David loaded his presention from a flash drive. It's funny that us geeks talk of loosly coupling things, yet we often can't get our notebooks to talk to projectors, etc. (it's a hardware problem :) ). We also talk about the power of wiring things up with the web, but we continue to lug around laptop “thick clients” for doing presentations instead of just loading our presentations off of the web and showing it on any old Windows, Mac or Linux box that happens to be around. I suppose that loading up a presentation off of the web would be less useful if your presentation was code-heavy with live demos.

Anyway, David got going at about 3:50pm. His presentation was a lot more code-focused. He said something like “I hope that I am not being egotistical by assuming that you all know what Rails is, but I am not going to go over the history and intro Rails stuff”.

David talked a lot about his goal for “beauty” in his code. “Beauty leads to happiness” and “happiness leads to productivity”. He didn't say this, but I suppose then “productivity leads to profit”, and so we can say “beauty leads to profit”! :)

David showed off, using only code in his presentation, some newer stuff that he had created in Rails over the past few days for easily modeling quite complex associations. While his content had the potential to be less entertaining than Adrian's presentation, David was quite funny and also made several digs at PHP and later at Java.

“Logic in the view is good” said David, “BUSINESS logic in the view is BAD”. This counters the Django philosophy that no code should be allowed in the view. David argued that even if your view has tag-like syntax for doing for loops over lists and things like that, it is STILL logic.

Finally they had the “debate” with questions from the website first and then questions from the audience. Most of the time the debate was fun spirited, but there were a few jabs back and forth here and there.

Maybe you had to be there, but a funny moment came after David fielded a question on why he was not going to build internationalization support into Rails, Adrian responed “We have Welsh”, making a callback to a comment from his presentation.

Other interesting things:

  • David: “re-use is vastly overrated” in the context of building a framework
  • Question from the Website: What is Web 2.0? Audience and panelists just sighed, ughhhhhhhh.
  • Lots of talk about the programmer/web designer mismatch and templating “languages” and how much programming should be allowed in the view.
  • Question from the audience: Why Chicago? Answer: For a small startup, NOT being in Silicon Valley is a great thing. You can quite easily get something launched and hosted on the cheap w/o the VC culture etc.
  • Finally, tons more Java bashing, primarily from David.

Wrapping up, David said, the software community “should get on the dynamic train and get off of the statically compiled language dinosaurs.”

Overall it was a fun and interesting afternoon. Back to playing with Rails for me!


They videotaped the talks, so keep your eyes on the Snakes and Rubies Website for info on videocasts/podcasts on the event.


If you are interested in learning Ruby on Rails, there is no better source for learning than the book by Dave Thomas and DHH himself: Agile Web Development with Rails.


snakes ruby projector woes Thoughts on Snakes and Rubies

adrian and david Thoughts on Snakes and Rubies

Tired of your job? Need to hire developers? Visit DZone Jobs: great people, great opportunities.

1 comment

1 Congrats to the Django Team for 1.0! : Zabada Technology { 09.03.08 at 10:12 pm }

[...] been two and a half years since my first interaction with Django, and it’s great to see them working so hard for so long to make sure that they get it [...]

Leave a Comment