Should we still be learning this?

John Zenger john_zenger at yahoo.com
Sat Feb 18 08:36:59 EST 2006


Don't overly concern yourself with your course being 100% up to date. 
When learning programming, the concepts are what is important, not the 
syntax or libraries you happen to be using.  Even if they were to teach 
you the latest and greatest features of 2.4.2, that would be out of date 
in a few months/years when the next version comes along and the Python 
gods decide to deprecate the entire os module or something.

Syntax and libraries change; just roll with it.  When you are a student, 
the important thing is learning the mental skills of how to put it all 
together.  When I was a wee lad, they taught me Pascal, a language that 
is now as dead as Latin, but I now realize that the language did not 
matter; all that mattered was that I learned the basics of how to design 
and put together a program in a (procedural) language.  Once I knew 
that, it was a cinch to teach myself C in an afternoon, and only 
slightly tougher to learn C++ and then Java.

Python is a good teaching language because by learning one language you 
learn three major programming paradigms: procedural, OO, and functional. 
  It doesn't matter if, three years from now, a Dark Age descends upon 
the land and Python becomes as extinct as Pascal.  If your course was 
decent, you spent your time learning programming, not just learning 
today's syntax and libraries, and you'll be able to learn Microsoft 
Visual C#++.Net.Com.Org or whatever other language happens to be 
fashionable in the future.

And BTW, map and filter are such useful concepts that it makes sense to 
teach them to students even if they will one day be deprecated in 
Python.  If you want to teach yourself Haskell or a Lisp dialect (and 
you should!), knowing those concepts will come in very handy.

Max wrote:
> On monday I start a semester course in Python (the alternative was 
> Java). I was looking through the course outline and noticed the following:
> 
> 1) UserDict is used. This is deprecated, right?
> 2) There is no mention of list comprehensions, but map and filter are 
> taught early and then revisited later. I don't think this is good: list 
> comprehensions are, IMO, one of Python's great features, Psyco prefers 
> them, they're more pythonic, and map and filter seem to be going out the 
> window for Python 3000.
> 
> What do you think?
> 
> --Max



More information about the Python-list mailing list