[Python-ideas] Python 3000 TIOBE -3%
steve at pearwood.info
Thu Feb 9 19:03:45 CET 2012
Massimo Di Pierro wrote:
> Here is another data point:
> 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
> 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