On Thu, Feb 9, 2012 at 10:03 AM, Steven D'Aprano <steve@pearwood.info>wrote:
Massimo Di Pierro wrote:
Here is another data point: http://redmonk.com/sogrady/**2012/02/08/language-rankings-**2-2012/<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?
Well either way it's depressing...
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.
Not sure how that's relevant. Massimo used "won't compile" as a shorthand for "has a syntax error". 50+% of the students have a mac and an increasing number of packages
depend on numpy. Installing numpy on mac is a lottery.
But that was the same in the 2.5 days. The problem is worse now because (a) numpy is going mainstream, and (b) Macs don't come with a C compiler any more. I think the answer will have to be in making an effort to produce robust and frequently updated downloads of numpy to match various popular Python versions and platforms. This is a major pain (packaging always is) so maybe some incentive is necessary (just like ActiveState has its Python distros).
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.
Hm. I know a fair number of people who use Eclipse to edit Python (there's some plugin). This seems easy enough to address by just pointing people to the plugin, I don't think Python itself is to blame here. 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.
I can see the discomfort if the other professors keep bringing this up. It is, sadly, a very effective troll. (Before it was widely know, the most common troll was the whitespace. People would declare it to be ridiculous without ever having tried it. Same with the GIL.) - 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.
Yeah, trolls are a pain. We need to start spreading more effective counter-memes. -- --Guido van Rossum (python.org/~guido)