Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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?

share|improve this question
6  
Historically, that's a pretty quick rise! –  Macneil Dec 17 '10 at 4:10
3  
This question was quite interesting. +1 –  Tim Post Dec 17 '10 at 7:55
    
The essay The Python Paradox is from 2004. –  stesch Apr 17 '11 at 8:38
2  
Could people have come to Python via Django, like some came to Ruby via Rails? –  Andrew Grimm Apr 17 '11 at 8:56
1  
Django. That's the first context in which I heard people talking about actually using it seriously for development. Before that, most of the talk I'd seen about it was "why doesn't anyone want to use this language?" Or... "Rails is why Ruby took off and why Python is going nowhere." (Note that last one was in pre-Django days). –  scriptocalypse Apr 17 '11 at 16:30
add comment

closed as not constructive by ChrisF Jan 30 '12 at 22:53

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

6 Answers

up vote 59 down vote accepted

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.

share|improve this answer
20  
Guido van Rossum, creator of Python was hired by Google around 2005, the same time when they started using python heavily. This also provided a boost. –  nayan Dec 17 '10 at 4:10
4  
What do you mean by fast language? –  Peaker Apr 17 '11 at 12:35
    
I remember people saying that, as an interpreted language, it was too slow compared to Perl, but now computers are a lot faster. –  user2442 Apr 17 '11 at 12:54
    
So.. the next language to become popular is google go? –  Nils May 7 '11 at 10:28
4  
The jump in usage in 2004 was because Google started using it heavily in 2005? –  Tom Hawtin - tackline Oct 25 '11 at 15:02
show 7 more comments

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.

share|improve this answer
add comment

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.

share|improve this answer
5  
If you don't trust TIOBE, you can try indeed.com. They show a steady growth in job postings for Python since 2005 –  Robert Harvey Dec 17 '10 at 6:46
2  
Nonsense or not, there are a lot of programmers that had never heard of Python in 2003, and had by the end of 2005. Which is unusual for a language in its second decade. –  Eric Wilson Dec 17 '10 at 13:47
    
@RobertHarvey: seems that the trend in indeed is generic for web dev languages. Eg. indeed.com/jobtrends?q=python%2C+php%2C+ruby . –  vartec Jun 27 '12 at 15:47
    
@vartec Indeed it looks like steady growth (presumably at the expense of Perl growth) instead of any sudden jump. / Interesting to see how relatively poorly Obejctive-C - presumably Apple have hundreds of thousands of programmers working below minimum wage. –  Tom Hawtin - tackline Jun 27 '12 at 16:25
add comment

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
share|improve this answer
2  
You really shouldn't post an answer so similar to an existing one. Edit in anything you feel is missing. –  Josh K Dec 17 '10 at 4:06
1  
@Josh, I voted you up, but felt it didn't say all I wanted to say, however I wasn't sure if people would like if I modified their answers. –  grokus Dec 17 '10 at 4:08
5  
If it improves the quality of the answer, I guess should be fine. The feature's there for a reason. –  nayan Dec 17 '10 at 4:27
2  
That's the idea of the site. ;) –  Josh K Dec 17 '10 at 5:15
add comment

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.

share|improve this answer
add comment

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.

share|improve this answer
4  
Indent scoping is a religious debate. Some people love it, others detest it, but it's impossible to give conclusive set of arguments for or against. –  dbkk Dec 17 '10 at 17:34
1  
exactly my point. Those who detest it walked away from the language as soon as they realized it, and many bad mouthed the language to their peers. I think that hurt adoption for a long time. (TBH: it's one of the reasons I still to this date dread having to work on *.py) –  cabbey Dec 17 '10 at 21:07
2  
In any modern language, you indent in order to make the structure clear, anyway. So dropping the braces is an obvious step forward. It has nothing to do with punched cards and I don't think the number of programmers having an experience with them is significant or was 13 years ago. Moreover, I hope most of them didn't get such a far-fetched association as you did. –  maaartinus Apr 17 '11 at 9:51
    
@maaartinus: It's an obvious step forward, right up until you run into an expression too long to fit on one line without horizontal scrolling. Then things get awkward fast. –  Mason Wheeler Aug 7 '11 at 17:50
    
@Mason Wheeler Agreed, but what's the line length limit before you need to scroll? For me it's surely more than 80 chars and in the few cases the line gets longer it's mostly easy to refactor it in two shorter lines. When you stick to the recommended 80 chars per line, you have some problems. But 80 chars is what reminds me of punched cards. –  maaartinus Aug 8 '11 at 3:43
show 1 more comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.