Tuesday, September 2, 2008

Python and Django

I have been trying out some of the new web development frameworks, and have formed some thoughts and opinions of them. Of the web development frameworks, I tried Ruby on Rails (RoR), then Groovy/Grails, and now Python/Django.

RoR seems nice, but doesn't have a great reputation for scaling up. Plus, Ruby is a complicated language. Grails didn't have a good community or good documentation, and after trying Django, I realize that it's slow. Grails is made by mixing a bunch of proven frameworks rather than creating a framework from the ground up. That could be viewed as a good thing, but maybe that's what made it slow.

After trying both RoR and Groovy/Grails I realized that even though the frameworks are made to be simple, I'm not going to be able to do much in the frameworks unless I learn the language that they use. That's what made me decide to try Python/Django. Based on my reading on the internet, it seems that Python is a popular language with good libraries. It's also more intuitive to me than Ruby. I understand that Python is a popular dynamic programming language for experienced Java programmers, which is what I am.

When I was trying to learn RoR, I bought a RoR book. The book was hard to follow, because it used an older version of the framework than what I downloaded to my machine. In addition, it wasn't much more helpful than the tutorials on the internet, so I returned the book. Since trying Python/Django I realized that the framework is less of an issue than learning the language, so I bought "Learning Python". I'm attempting to read the book cover-to-cover, which I've never done before with a programming book. I must be excited about it.

So far I like Python, and I think it will take me into the world of dynamically typed languages from statically typed (Java). Hopefully, it will make me a better programmer.

No comments: