I had a look at it, i'll have a look again when i've got more time but i wasn't too impressed. It seems to me you've found that python fits your way of thinking and thats why you are so happy with it. Whilst language plays a small part its only when it gets in the way and forces a particular pattern. I dunno where you've been but Perl is famous for bad code. It's the poster child for code that is hard to maintain. I'd have to agree with GreenBeret on this , so i'll myself the typing and won't repeat what he's said too much. I would have to disagree there are plenty of people who don't understand object oriented programming and abuse it immensely. One can write object oriented code in c if they wish , they just have to discipline and impose rules on themselves on how they name functions and call them. Correspondingly one can write procedural code in python , ruby , java or any of the other object oriented languages if they wish. There are many reasons for languages to become popular and most of them aren't related to how easy they are to use. I personally don't find the django syntax and structure very attractive at all , i prefer Rails, (although from the tutorials i saw that aren't the latest version of Rails the auto generated displays for django were prettier). It all depends one how one abstracts the code , one has to choose the right manner of abstraction in any language to be effective. When assembly is written by a good programmer it isn't that hard to follow. You can give a bad programmer the best language and he'll still write bad code. It's not because of a failing in the language but rather a failing in the programmer. Correspondingly you can give a good programmer a bad language and he'll write nice clean code without any hassle. Whilst i'm not a fan of php, you have to be kidding if you think somebody can't write bad code using Rails or Django. It'll turn out to be quite common the more people that code for it. Have you had much experience in many other object oriented languages? Auto generated code with these frameworks is fine but thats all it is , i'm sure a lot of us could write some auto generators if we wish and i'm sure some of us have. I know i've written little languages before to do tasks. I'm going to take a wild guess and say one of the reasons you are so enchanted with these frameworks is the MVC pattern and the avoidance of having to write SQL statements. You can use the MVC pattern in many languages (including php and asp) if you wish. I personally don't find SQL that difficult although i did like some of the purer forms of relational databases easier.