[Python-ideas] Python 3000 TIOBE -3%

Massimo Di Pierro massimo.dipierro at gmail.com
Thu Feb 9 19:25:18 CET 2012

On Feb 9, 2012, at 12:03 PM, Steven D'Aprano wrote:

> 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?

I teach so the average student is my benchmark. Please do not  
misunderstand. While some may be lazy, but the average CS undergrad is  
not stupid but quite intelligent. They just do not like wasting time  
with setups and I sympathize with that. Batteries included is the  
Python motto.

>> 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.

Don't shoot the messenger please.

You can dismiss or address the problem. Anyway... undergrads do care  
because they will take 4 years to grade and they do not want to come  
out with obsolete skills. Our undergrads learn Python, Ruby, Java,  
Javascript and C++. Many know other languages which they learn on  
their own (Scala and Clojure are popular). They all agree multi-core  
is the future and whichever language can deal with them better is the  
future too.

As masklinn says, the difference between garbage collection and  
reference counting is more than an implementation issue.

> -- 
> Steven
> _______________________________________________
> Python-ideas mailing list
> Python-ideas at python.org
> http://mail.python.org/mailman/listinfo/python-ideas

More information about the Python-ideas mailing list