Python Evangelism

Douglas Alan nessus at
Fri Mar 17 23:10:14 CET 2006

Andrew Gwozdziewycz <apgwoz at> writes:

> Douglas Alan wrote:

>> Ruby didn't start catching on until Ruby on Rails came out.  If
>> Python has a naming problem, it's with the name of Django, rather
>> than Python.  Firstly, Django doesn't have "Python" in the name, so
>> it doesn't popularize the language behind it, even should Django
>> become very popular.  Secondly, Django just doesn't have the ring
>> of "Ruby on Rails".

> I'll admit "Ruby on Rails" is a clever name. The fact that you
> mention it "didn't catch on" is only partially true.

I'm sorry if I wasn't clear.  By "didn't catch on", I only meant that
it had little mainstream success.  At least in the US.  I'm certainly
aware that it has had a significant community of devotees for some
time now.

> Rails did however jump start it's new career as the definitive
> web2.0 language, but who cares? Not me!

Well, I'm not sure that the threat to Python is being fully
appreciated here.  I have friends who are fully convinced that Python
is doomed because Ruby has all the buzz now.  I think that their
predictions of doom and gloom for Python are overstated.  For one
thing, I point out to them that Rails is what really has all the buzz,
not Ruby per se.  But such subtle distinctions seem to often get lost
in the type of buzz that causes technologies to succeed or fail.  This
is an example of how names are indeed very important.

There *is* a serious worry here.  For instance, look how PHP
completely decimated Perl in its biggest market niche at the time (CGI
programming) in just a couple of years.  PHP couldn't use that
advantage to threaten the more general scripting niches, but unlike
PHP, Ruby might certainly be able to leverage that advantage, as it is
also a perfectly good general-purpose programming language.  Ruby's
domain is not limited to just server-side web scripting.

For those who don't believe that Ruby on Rails does have an incredible
amount of buzz going for it right now, I do have a number of personal
data points that seem to indicate that it is indeed undergoing
exponential growth at the moment: (1) I'm sitting in on a class at MIT
on developing web applications.  For their projects and assignments,
the students are allowed to chose whatever programming languages,
databases (as long as they are ACID-compliant), and development
environments that they prefer.  From what I can tell, more than half
of the class is using Ruby on Rails.  One group is using C# and .NET.
Another is using JSP.  No one is using PHP.  No one is using Django.
One group was doing straight Python CGI, but I think they switched to
Rails.  (2) I've started to see advertisements for web hosting
services where the ads say, "PHP!  MySQL!  Rails!".  (3) I have
friends who work in companies that are big Python shops, but they seem
to be moving to Rails for web development.

> Hell I like django quite a bit, but anyone writing something for
> django knows it's written in python.

Yes, and for Rails, everyone who has never even seen a single line of
Ruby code knows that it is Ruby-based.  The same cannot be said for

> If some non-programmer decided to create a new web app, and his
> friend said, 'I hear django is quick and oh, it use's this really
> cool easy to learn language python,' What's the difference?

There's a huge difference.  Ruby on Rails gives Ruby great brand
recognition, while Django does nothing at all for Python's brand
recognition.  Just pay attention to TV commercials: a large fraction
of them have nothing to say whatsoever about the merits of their
product -- the ads just want to get the brand name into your head.
For better or worse, this is how human psychology works.

In any case, it's almost certainly too late for Django to achieve the
kind of popularity that Rails is achieving; if you Google
"web-development rails", you get 3 million hits, while if you Google
"web-development django", you get 82,000 hits.  So, unfortunately, how
to best use Django to help popularize Python is almost certainly moot
at this point.


More information about the Python-list mailing list