Symfony, Ruby on Rails and Django : The unsual review (Part 1)

Ruby on RailsI spent the last week trying out web frameworks. I thought it was time to move on from my own hacked PHP scripts to something more elaborate. The first framework I was really eager to checkout was ofcourse the under every stone Ruby on Rails! The main reason was all the talks about it, along with the fact that I was very interested in the Ruby language.

I started by installing Ruby and then Rails on my system, and started following the famous Rails screencasts. I was going to create a Weblog application in 15min! So exciting! Unfortunately it just didn’t happen. Things started to get a bit hairy. It seems that there was a huge difference in the version the screencaster was using the version I was using. In version 2.0 of Rails the creators decided to change the scaffolding technique completely. So now you can’t follow the screencast. It is also very hard to find a tutorial to get you started, not to mention a good tutorial!

All in all I also completely scanned the internet for information but I didn’t find very good sources of info. The main site , other that the screencasts, has the Rails API documentation which is obviously not the way to start! I turned to books. The “Agile Web Development with Rails” I learned about Rails through that, even if that is also for the old version of Rails.

But going all over the internet, I got to find out about Zed Shaw. The creator of Mongrel : a web server to serve Rails applications. This guy was a vivid developed and supporter of Rails until he got over his head with the core team of the project and decided to drop the ball with this 6000 words rant about it! It is a long read, but its entertaining and disturbing. The facts he brings on the table about the core team behind Rails is terrifying and really makes you wonder about the quality of the code behind Rails. It also makes you wonder about the direction Rails is going!

Anyway since I always want to see for myself, that rant did not stopped me. I already had a simple application created in Rails, even tho I didn’t really knew what was happening under the hood. Most of the tutorials about Rails stand on the surface of things and just tell you what to do, but not why you do it. In general I want to know exactly what I’m doing and why I’m doing it. So I decided to install the application on my hosting company. I consider my self an experienced computer user and I really got pissed trying to make the damn thing work! I had to consult with the hosting company, exchange e-mails with the support back and forth. To finally make it work.

I was used to be able to just throw in a couple of .php files and just work(tm).. and this was a really big procedure where many things would go wrong, especial on a shared host provider. So while emailing the support and waiting for their reply, I though it was time to check out a similar framework for PHP : Symfony! Driven by the just work nature of PHP.

I tell you, I was out of there in 15mins! You can do a screencast of that! It is true that I don’t like PHP. I consider it a very ugly language, specially if you come from C++ and Python background. But when I saw the totally and beyond the limits stretch of the language for OOP with all the hairy PHP crap still there I ran like the wind and never looked back…

It was obvious that I don’t want to use PHP for anything more elaborate than simple 2-3 pages dynamic sites and only when I don’t have the choice of using an other language. Bottom line: Never look at PHP code after working with Ruby. The gap is so huge that can create permanent brain damage. By the way Ruby just rocks, and I just got back to my Rails troubles… [to be continued]

rails,symfony,php,MVC,

  • It’s true that Rails is at a turning point, and that the newest version is different than the first crop of books, particularly for newbies. This will be remedied later this year, when a whole slew of new editions are out. However, don’t let this discourage you from Rails. You can still follow the tutorials if you just update the syntax for the new scaffold generator. The new syntax is mentioned here: http://wiki.rubyonrails.org/rails/pages/ScaffoldGenerator and there is lots of searchable information.

  • You did not mention a Java web framework. Why? I think Java has proven itself in web apps.

    By the way, the olympic games 2004 and the World of Warcraft website (saw that tomcat error once …) are based in Java.

  • I wonder how I missed that! Java!.. mpliax

  • Pingback: Thoughts Serializer()