Observation on "Core Python Programming"

John Coleman jcoleman at franciscan.edu
Sun Oct 29 22:18:59 CET 2006

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