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