Books I'd like to see
mis6 at pitt.edu
Fri Nov 14 07:23:57 CET 2003
Scott Chapman <scott_list at mischko.com> wrote in message news:<mailman.714.1068736975.702.python-list at python.org>...
> I'd like to see a good introduction to Python for brand new programmers
> that starts with Python's object orientation (at least as the
> assumption, if not explicitly dealing with objects at the beginning).
> I've looked over every book on the market and the Net that is
> introductory to Python and none of them emphasize Python's uniqueness
> and power. It is not possible to rightly understand Python without
> understanding that virtually everything except the keywords are
> objects. This is the year 2003 and books are still introducing
> Structured Programming paradigms and then re-teaching by introducing
> Object Oriented later. This is Wrong! :-)
> Guido's Tutorial probably comes the closest. He assumes objects under
> the hood in his presentation of the material, rather than trying to
> make Python fit into the old molds. If it had a full set of exercises
> it would be a good starting text, perhaps needing some fleshing out in
> Maybe one of the existing books out has exercises at the end of the
> chapters; another shortcoming IMHO.
But Python is designed in such a way that a lot of it can be taught
without talking about objects. Yes, you are right that in its heart
it is very strongly object oriented (maybe even more than Java or Ruby),
but NOT on the surface. This is on purpose and I think it is a good
thing (for teaching purposes and for other reasons too). I would welcome
a metaprogramming/advanced OOP book by the Martellibot, but this would NOT
be a book for beginners.
Actually I was confused by the tutorial that you liked so much, since
when I first read it I knew nothing about OOP. I don't think talking
immediately about OOP would be helpful for a total beginner. On the
other hand, if you already knew OOP from another language, then you
are an experienced enough programmer and you can learn Python from
the Nutshell, isn't it?
More information about the Python-list