Observation on "Core Python Programming"
Nick Vatamaniuc
vatamane at gmail.com
Sun Oct 29 17:14:07 EST 2006
I meant "omitted" not as complete omission but as not being there
sooner...
John Coleman wrote:
> A is not ommitted from DBECAFG - it just appears in a non-standard
> order. If the book simply ommitted functions then it would be a
> shocking ommission. As it is, it is just a curious way of sequencing
> topics. Functions are in chapter 11 out of 23 chapters - sounds like
> the "core" of the book to me.
>
> Chun does emphasize the first-class status of functions in Python -
> something which is fairly important to me since I have dabbled on and
> off with functional programming the last few years (mostly SML) and am
> interested in seeing the extend to which Python is genuinely
> "multi-paradigm" - able to blend the functional and imperative (and OO)
> paradigms together.
>
> -John Coleman
>
> Nick Vatamaniuc wrote:
> > I would consider that an omission. Functions are very important in
> > Python. I think the user/reader should see the _def_ and _class_
> > statement fairly soon in the introduction. The name of the book is
> > thus somewhat misleading, because functions are at the "core" of
> > Python.
> >
> > Functions should be right there with the integers, strings, files,
> > lists and dictionaries. Another important point to stress, in my
> > opinion, is that functions are first-class objects. In other words
> > functions can be passes around just like strings and numbers!
> >
> > -Nick Vatamaniuc
> >
> >
> > John Coleman wrote:
> > > Greetings,
> > > My copy of the second edition of Chun's "Core Python Programming"
> > > just arrived from Amazon on Friday. What really jumped out at me is an
> > > interesting feature about how it sequences its topics, namely,
> > > (user-defined) functions are not introduced until chapter 11, fully 400
> > > pages into the book. This contrasts strongly with a traditional
> > > "Introduction to language X" book which has a chapter sequence roughy
> > > like:
> > >
> > > Chapter 1) Intro - Hello World
> > > Chapter 2) Variables
> > > Chapter 3) If, if-else
> > > Chapter 4) Loops
> > > Chapter 5) Functions and/or subroutines
> > >
> > > The exact details vary from book to book and language to language of
> > > course, but usually the above topics are covered in the first 100-150
> > > pages since it is hard to do anything interesting until all of these
> > > tools are under your belt. Chun's book by contrast is able, on the
> > > strength of Python's built-in functions, to cover a fair amount of
> > > relatively interesting things (dictionaries, file IO, exception
> > > handling, etc.) before introducing user-defined functions.
> > >
> > > I don't want to read too much into this, but the mere fact that it is
> > > possible to write a Python book in this fashion seems to confirm the
> > > "batteries are included" philosophy of Python. Perhaps there is less
> > > need to learn how to roll your own batteries as soon as possible.
> > >
> > > -John Coleman
More information about the Python-list
mailing list