[Python-Dev] re: cool link
Greg Wilson
gvwilson@ca.baltimore.com
Mon, 12 Feb 2001 12:14:02 -0500
> From: "Tim Peters" <tim.one@home.com>
>
> Mentioned on c.l.py:
>
> http://cseng.aw.com/book/related/0,3833,0805311912+20,00.html
>
> This is the full text of "Advanced Programming Language
> Design", available online a chapter at a time in PDF format.
Greg Wilson:
>From the November 1998 book review column in "Doctor Dobb's Journal":
I didn't enjoy the last two books in this month's review as much as
the first four, but that's not necessarily the books' fault. Finkel's
"Advanced Programming Language Design" reminded me of a Victorian
naturalist's description of his most recent expedition up the Orinoco.
The book is dedicated to Finkel's father, "Who first tickled my
interest in programming languages by announcing that he was learning a
language that could be read and written, but not pronounced."
I was fascinated by some of the ideas in this book, such as how
different notions of what a 'type' is can have a profound influence on
how easy or difficult it is to do certain things in a programming
language, or how co-routines can be used to replace more traditional
control structures. Some of it, however, fell under the heading of
"more detail than I needed" --- figuring out how to achieve the
appearance and effect of CLU iterators in C using macros might be a
real intellectual challenge, but that doesn't mean it's worth sharing.
And in some parts, such as the discussion of concurrent programming, I
got the feeling that the author's descriptions were second-hand; his
discussion was shallower and less incisive than the earlier parts of
the book. While it's probably worth reading for ideas if you're
designing a new programming language, it's probably not worth doing if
you're simply curious.
I much prefer Sam Kamin's "Programming Languages: An Interpreter-Based
Approach", which starts with a three-page lambda calculus interpreter
in Pascal, and slowly adds names, local variables, objects, iterators,
closures, continuations, types, polymorphic types, etc., a chapter at
a time. It apparently didn't do very well --- programming language
survey courses are slowly disappearing from the undergrad curriculum
in the US.
Greg