Python advocacy ... HELP!

Jeremiah Dodds jeremiah.dodds at
Thu Dec 4 10:31:31 CET 2008

On Thu, Dec 4, 2008 at 1:52 AM, Michael_D_G <michaeldg at> wrote:

> I am a faculty member of a cs department. We currently teach C++ in
> our intro to programming course. I am teaching this class and it seems
> to me that we would be much better served teaching python in the intro
> course, C++ for Data structures, as we do now, and Java in object
> oriented programming, as we do now.
> Some of my colleagues agree with me but some still see python as a
> niche language and don't understand
> how we could teach anything beyond C, C++ or Java.
> I have looked at several interesting academic papers, on doing just
> this approach. I have also looked through the
> python web page to get examples of industry players using python in a
> non-trivial way. Yes, I know, Google,
> Microsoft, Sun, CIA website running on Plone, NOAA, NASA. If anyone
> has any recent articles,
> or if anyone on the list is at a fortune 500 company, how do I refute
> the notion that Python
> is a "marginal" language because according to TOBIE it only less than
> a  6% market share.
> -michael
> --

Well, I'm not in a fortune 500, but python _is_ currently paying my bills.
There is a python job board, and a very active community around the language
- I don't think it's hard to show that it's not a "niche" language anymore.
Canonical,  as well as Google, O'reilly, Sun,  _and_ Microsoft  are
sponsors of the PSF. That's pretty much every major name in the
software-development world right now. Niche languages aren't going to be
getting that much support, from that many sources. Blender uses python.
Bittorrent. Trac. Bazaar. Mercurial. But you know all this already.

It seems to me that it shouldn't even matter if it _is_ a niche language
though, considering that you're trying to convince people to use it as an
"intro to programming" language. I would think that an introductory
programming course in this day and age should be more about general concepts
than language bits, and python is pretty good at staying out of your way -
other than Scheme, I can't think of a better language to use to demonstrate
the process of programming on a high level. Showing some code to your
colleagues, in both C++ and python, and showing how the python code is close
to being psuedo-code, and easier to understand would help, as well as
showing the interpreter (or ipython), and how that could be very useful in

It's intro to programming - the specific language should take a backseat to
how easy it is to express ideas to the person with no programming experience
in a clean manner, right? It seems to me that that's the point that your
colleagues need to understand - being a good programmer (and, by
association, being led down the path to being a good programmer) is more
about understanding abstraction and how to break down a problem than what
language is used, especially at the beginning. This was perhaps less true 10
years ago, when it was much more important to have a firm understanding of
what's going on at a lower level to implement anything non-trivial, but
these days there are plenty of useful things and learning that can be done
with practically no knowledge of (for instance) machine architecture.

I know the above wasn't exactly what you were asking for, but I hope it
wasn't useless.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Python-list mailing list