Listening To Reason

random musings about technologies by Andy Norris

20 July 2006

Casual impressions of python and ruby

Andrew L Smith has an interesting post on python and ruby, Industry demands Python, not Ruby or Rails.

There are some interesting comments, especially by Python enthusiasts who can't see any reason for anyone to use Ruby when Python already exists. So I thought I would discuss my experiences choosing a new language last fall.

Let me preface this by saying that I have nothing against python -- it would be silly to, because I don't know the language (yet).

My recent professional background has been in c#/.Net because I've been developing apps that need both a Windows desktop and a web client, and .Net has fairly elegant solutions for that problem. Last fall, I got interested in a side project that involved developing a relatively straightforward (compared to what I'm used to) database-driven website with *nix as a preferred deployment platform. So I decided to pick a different platform to learn.

I have plenty of background in perl or java, but I was looking for something a little more straightforward for web development than java with all of its framework soup, and something a little more maintainable than perl can be as projects scale. I decided to cross these languages off my list early on, and the remaining ones I still wanted to consider were PHP, Python, and Ruby.

I'm not saying that the selection criteria I used were right in any absolute sense, but I think they may be illustrative. Anyway, these were my early impressions after doing a little bit of research on them:

PHP: trivially simple to develop bad, non-reusable code. Seems to require considerable proficiency to develop good object-oriented code.

Python: terrific language, maybe better than ruby. Multiple web application frameworks, none of which (at least my impression as of last fall) has the full force of the python community behind them.

Ruby: up and coming, still some loose ends. Pathologically simple to get started. Rails is not only the clear choice for application frameworks, it's the driving force for the language. Web development tutorials are all over the web. Designing good model view controller code is so simple that you would have to make an effort to avoid doing so.

Basically, I got about that far, picked Ruby, and stopped looking. Python has a large, enthusiastic base of users, and I'm sure it will continue to do well -- it just didn't seem like the simplest place to get started for a newcomer focused on web development. PHP for real developers frankly puzzles me, except for the fact that it may have been a better choice a few years ago.

Other than that I wasn't sure how to get quick-started for the web, I only have one negative impression that I have gathered about Python. Yes, Perl's pathological TMTOWTDI philosophy results in wildly unmaintainable code. But my early impression is that the Python community's determination that for any task there is at most one correct way to perform it and that way is objective correct -- frankly, that seems a little pathological in it's own right. Geez, relax. ;-)

I'm sure my previous paragraph will result in me being wildly flamed by any Python enthusists that happen past. Oh well.

Tags: , , ,


At 11:45 PM, Anonymous chromatic said...

I believe you meant to say that undisciplined programming makes an unmaintainable mess, not TIMTOWTDI, unless Python 2.5 suddenly enforces the use of proper design, good identifiers, and effective functional decomposition.

At 11:40 PM, Anonymous Anonymous said...

It is the goonzu gold which make me very happy these days, my brother says goonzu money is his favorite games gold he likes, he usually buy some goonzu online gold to start his game and most of the time he will win the buy goonzu gold back and give me some cheap goonzu gold to play the game.

At 1:20 AM, Anonymous Microsoft Office 2007 said...

Office 2010
Microsoft Office 2010
Microsoft word
Office 2007
Microsoft Office
Microsoft Office 2007
Office 2007 key
Office 2007 download
Office 2007 Professional
Outlook 2010
Microsoft outlook
Microsoft outlook 2010
Windows 7


Post a Comment

<< Home