How much better is the second edition of "Essentials of Programming Languages"?

I have a copy of the first edition of Essentials of Programming Languages that I have not worked though yet. I was thinking of reading it and experimenting with the code presented in it. What are the important differences between the first and second edition? Is it worth paying for the new edition?

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

My Perception...

... is that a fair amount of effort was put into slimming down EOPL in the second edition. My hardcover 2nd ed. is approximately half as thick (!) as my hardcover 1st. The chapter on the CPS transformation was essentially totally rewritten, for the better, as far as elegance and performance of the transformation is concerned.

Some reviewers claim that some of the more advanced information in several chapters was altered or removed. It's tempting to say that this must be the case based solely on the difference in size of the two books, but I'm reluctant to do so without literally going through them side-by-side ("Issues of typography alone may make the comparison an unfair one," as Guy Steele said about comparing the sizes of the Scheme and Common Lisp standards). IIRC, Ehud offered his opinion shortly after the 2nd ed.'s publication that while 2nd ed. might be better in a classroom setting, he preferred the 1st ed. for self-study.

As I write this, I feel mildly guilty for seeming to answer all of falcon's questions with lots of recommendations for textbooks whose price tags cause my wife to glare at me when she sees the Amazon bill—and I'm 20+ years beyond my starving student days. So I'm now inclined to say that there's nothing (modulo errata, of course) wrong with the 1st ed. at all. Grab it and DrScheme's EOPL language and enjoy!

books and more books

For a quick and basic introduction to many technical concepts google is enough. For a little advanced topics...or when I don't even know what to ask I post at forums liks this one. The the books or papers people suggest continue to guide me far longer than even I expect. Luckily I haven't been a starving student for about four years...and I need to keep reading these things otherwise outsourcing will make me a starving middle aged man :)


That's the main difference. Both subjects are discussed in EOPL2 at length.

In fact, I prefer EOPL1's style, but since OO and type systems are important subjects these days, I chose to teach from EOPL2.

I perfer the 1Ed

I have read through the 1Ed before the publication of 2ed. And later I skimed the 2ed. My conclusion is that the 1ed is better.

Newer equals Worse?

I'm curious if folks know of other books that they feel went downhill in later editions, or where the the newer edition was a mixed-bag (as EOPL seems to be).

I can think of two examples off hand: the Green Dragon vs. Red Dragon books (on compilers); and "Introduction to Automata Theory, Languages, and Computation" (2nd ed.).

Green vs Red Dragon

Hmmm. I liked the Red Dragon better; to each his own, I suppose.

Speaking of the dragon books: Supposedly (according to, and Jeffrey Ullman's homepage) a third version of the dragon book (Twenty-First Century Compilers) is due out in November. Monica Lam has been added as a fourth author.

Anyone know what color that dragon will be?