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: , , ,

01 July 2006

Is Google really a one trick pony?

BusinessWeek has published an interesting take on Google. Their claim is that while Google has released an avalanche of services, those services consistently have poor market share, so that Google is basically still just riding their initial hit: web search.

There's certainly a lot of truth to this: services like Google Talk get announced to a lot of fanfare, but there's really nothing to separate the service from AIM, Yahoo, or MSN. When you combine that with the massive installed base of these other services, you get a service that's doomed to obscurity for anyone except for the most determined Google fans and the small group of people who happily juggle several different IM clients.

But is Google really just search and a bunch of failed spinoffs? You can certainly argue the point with several of their services. It's idiotic that Google Mail is still in beta, but it still has sigmificant midshare and has been a model for good interface design. And Google Maps may have a smaller market share than MapQquest, but it is one of the best web applications ever devised. Even if some of their services are nothing special, clearly some of them are.

Still, the main thing that I think BusinessWeek misses the boat on is Google's advertising model. Google's search was their first great success, but surely their distributing advertising model has been just as pivotal. Before Google, web advertising was all about advertising networks pitching their placements to big Madison Avenue firms and major clients, just like TV, outdoor, and other media. Google turned everything upside down, and let anyone with a little spare cash by highly targeted ad placement. Even better, they allowed virtually any site on the net to sign right up collect revenues for ad placement without having to pitch anyone at Google about the demographic or traffic they can deliver. This has been revolutionary, and was more responsible than anything else for turning around the internet advertising collapse of the dotcom bust.

Even if someone comes up with better search than Google, their ad network isn't going anywhere. And perhaps even more than their search, their advertising model is their real legacy to the way the internet works.

Tags: , , ,