88

Python first appeared in 1991, but it was somewhat unknown until 2004, if the TIOBE rankings quantify anything meaningful.

What happened? What caused the interest in this 13 year old language to go through the roof? Is there a reason that Python wasn't considered a real competitor to Perl in its first decade of existence? Is there a reason that Python didn't continue in relative obscurity for another ten years?

I personally think that Python is a very nice language, and I'm glad that I'm not the only one. But it doesn't have corporate backing or a killer feature that would explain a sudden rise to relevance.

Does anyone know the story?

gnat
  • 20,543
  • 29
  • 115
  • 306
Eric Wilson
  • 12,111

6 Answers6

78

Google

Google started using Python heavily and reinvesting in development of the language.

But it doesn't have corporate backing or a killer feature that would explain a sudden rise to relevance.

Google is the corporate backing. As for features Python is an OOP interpreted cross platform fast1 language. What's not to like? It's another excellent tool in the toolbox.


1. Fast to develop, not fast to execute. Writing a general purpose script in Python is much faster then say Java or C, disregarding the fact that those language would execute faster.

Josh K
  • 23,029
  • 10
  • 67
  • 100
25

I started using Python around 2001, and more seriously in 04/05, and more seriously a little later on. I can remember a few things happening that shifted the attitude towards Python and made it more viable as a web development language.

  • FCGI happen, and then WSGI. Prior to that you had to run Python scripts as ordinary CGI, which was not fast enough. mod_python was nowhere near as good as mod_php, the .NET CLR or the Java platform JIT VM.

  • Prominent Universities began teaching algorithm and other classes using Python, and book like 'Learn to think like a Computer Scientist' were published and became popular.

  • It became a top-tier implementation language at Google earlier in the decade, and this had an impact in how seriously it was taken.

  • Visible developers and standards developers, such as Joe Gregorio and Mark Pilgrim were both using Python to implement the prototypes of the Atom protocol. Pilgrim then wrote DiveIntoPython which helped a lot of people learn and pick up the language.

  • The 2.x branch became stable and implemented features such as Unicode support, good XML parsing, a new Garbage Collector, generators and functional methods, etc.

  • The biggest tipping point was Django - which became very famous along with RubyOnRails around 2005. The Django philosophy differed to that of Rails, and a lot of developers found it more suitable for projects.

For a language that was not backed by a large corporation (like C# and Java) the adoption and development curve are pretty typical and close to other open source languages such as Ruby.

Django didn't have as much impact on Python as Rails did on Ruby, as it was already being used a lot by scientists, mathematicians, quants, academia etc.

nikcub
  • 497
10

The reshuffle in TIOBE index in 2004 is down to Google changing their search. There really isn't much you can learn from TIOBE - it's utter nonsense. I don't believe there has been any sudden jump in Python popularity. Certainly not because one company happens to use it internally for some of their stuff.

8

Google was the reason. Only a handful of languages are mandated at Google: C++, Java, Python, Javascript, PHP?

Corporate backing is very important to a language's success. Examples:

  • C++: AT&T Bell Labs
  • Java: Sun
  • C#: Microsoft
  • Python: Google
Josh K
  • 23,029
  • 10
  • 67
  • 100
grokus
  • 7,528
  • 4
  • 32
  • 46
1

The community around it reached critical mass. It's very hard to overcome the barrier of popularity, and it's not really unexpected that it happens very suddenly.

-1

There are some aspects of python that made it look, frankly, archaic. Things that made you feel like you were coding on punched cards on a mainframe. Like having indent spacing matter to code blocks. Little stuff like that caused a lot of folks to dismiss the language after a very brief look. I suspect that hurt it pretty bad in the early days. Especially in the crowd that had lived in those types of environments for years and wanted nothing but to get away from the mainframe and out to the web.

cabbey
  • 208