[Python-ideas] Python 3000 TIOBE -3%

Steven D'Aprano steve at pearwood.info
Thu Feb 9 19:03:45 CET 2012

Massimo Di Pierro wrote:
> Here is another data point:
> http://redmonk.com/sogrady/2012/02/08/language-rankings-2-2012/
> Unfortunately the TIOBE index does matter. I can speak for python in 
> education and trends I seen.
> Python is and remains the easiest language to teach but it is no longer 
> true that getting Python to run is easer than alternatives (not for the 
> average undergrad student).

Is that a commentary on Python, or the average undergrad student?

> It used to be you download python 2.5 and 
> you were in business. Now you have to make a choice 2.x or 3.x. 20% of 
> the students cannot tell one from the other (even after been told 
> repeatedly which one to use). Three weeks into the class they complain 
> with "the class code won't compile" (the same 20% cannot tell a compiler 
> form an interpreter).

Python has a compiler. The "c" in .pyc files stands for "compiled" and Python 
has a built-in function called "compile". It just happens to compile to byte 
code that runs on a virtual machine, not machine code running on physical 
hardware. PyPy takes it even further, with a JIT compiler that operates on the 
byte code.

> 50+% of the students have a mac and an increasing number of packages 
> depend on numpy. Installing numpy on mac is a lottery.
> Those who do not have a mac have windows and they expect an IDE like 
> eclipse. I know you can use Python with eclipse but they do not. They 
> download Python and complain that IDLE has no autocompletion, no line 
> numbers, no collapsible functions/classes.
>  From the hard core computer scientists prospective there are usually 
> three objections to using Python:
> - Most software engineers think we should only teach static type languages
> - Those who care about scalability complain about the GIL

How is that relevant to a language being taught to undergrads? Sounds more 
like an excuse to justify dislike of teaching Python rather than an actual 
reason to dislike Python.

> - The programming language purists complain about the use of reference 
> counting instead of garbage collection

The programming language purists should know better than that. The choice of 
which garbage collection implementation (ref counting is garbage collection) 
is a quality of implementation detail, not a language feature.


More information about the Python-ideas mailing list