Concepts of Programming Languages (8th Edition)

Binding : Hardcover
ProductGroup : Book
Manufacturer : Addison Wesley
Label : Addison Wesley
Publisher : Addison Wesley
Studio : Addison Wesley
Lowest Used Price: USD $74.68
Lowest New Price: USD $80.00
Now in the Eighth Edition, Concepts of Programming Languages introduces students to the main constructs of contemporary programming languages and provides the tools necessary to critically evaluate existing and future programming languages. By presenting design issues for various language constructs, examining the design choices for these constructs in some of the most common languages, and critically comparing the design alternatives, this book gives readers a solid foundation for understanding the fundamental concepts of programming languages.
Preliminaries; Evolution of the Major Programming Languages; Describing Syntax and Semantics; Lexical and Syntax Analysis; Names, Binding, Type Checking, and Scopes; Data Types; Expressions and Assignment Statements; Statement-Level Control Structure; Subprograms; Implementing Subprograms; Abstract Data Types; Support for Object-Oriented Programming; Concurrency; Exception Handling and Event Handling; Functional Programming Languages; Logic Programming Languages.
For all readers interested in the main constructs of contemporary programming languages.
Solid Overview (2009-01-05)
I bought this for a programming languages concepts class and this book definitely has some very solid principles and concepts that everyone should know about programming languages. I would recommend this if someone is looking into what really makes up a programming language and a deeper look at theory over trial.
8th Edition? Get Real! It's Still Garbage! (2008-11-14)
The fact that this dreadful, outdated, poorly written textbook is in it's 8th edition is proof of the graft and corruption in the text book industry. This books focus on outdated technology and sparse, unsatisfactory coverage of functional and concurrent languages makes it suitable for only the most basic course on languages. For such a course the previous 7 editions of this book would be more than adequate.
Instructors: Say NO to requiring the most recent edition! Say NO to support corrupt business practices of textbook publishers who exploit students and their families!
Intro to programming languages (2008-06-22)
This book is decent for what it is, and that is an introductory programming languages textbook. The background material on what makes languages different and how those types of languages function differently is pretty good.
Once the book gets into the survey of the different languages, the material is very shallow. I don't expect a lot, but I did expect more than simple looping and list manipulation for examples to compare the different languages.
Worthless (2008-06-18)
I have just finished my Programming Languages class that used the 8th edition of the book. My school is online so what is in the book is all I had to work with. I have not learned anything from this book. I am not a programmer but this book expects the reader to be one of not just a couple of languages but of several. While it may hold some value for the wide range of topics covered it fails to really explain the "Concepts", rather it is just an assault of programming pieces. The parts it shows you are not complete programs you could actually do something with unless you knew how to program in that language. Showing me a piece of something I don't know anything about the rest fails to teach me the "concepts". It would be better named "Exercises in Several Programming Languages".
I am a book collector and find it hard to get rid of text books. This book fails to impart $120 worth of information to the student. If you need random information about programming languages this book might be able to help, but not worth the money even for that.
Pros:
Covers a lot of material
Cons:
Index is minimal (making finding concepts difficult).
Arranged by languages rather than concepts (You know the part you needed).
Very unreadable writing style.
Suggestion:
Put it in PDF Form so that it can at least be searched since the index is horrible.
Focuses Almost Exclusively on Imperative Languages (2008-04-25)
I'm highly disappointed in this book. The biggest problem with it (and it's mighty big for a book that's supposed to talk about the concepts of various programming languages) is that it focuses almost entirely on a subset of imperative languages. Almost exclusively, the descriptions and examples involve Fortran, C, C++, Java, C# and Ada. Only in the last two chapters does the author really talk about other types of programming languages and those two chapters are devoted to them. It's like they were just tacked on.
After that, the other problems with the book are relatively insignificant. First, the book is badly edited. In spots, it reads like it was mechanically translated from a foreign language. Second, an awful lot of his explanations are unnecessarily filled with pretentious-sounding multi-syllabic words. For instance, on page 183 he gives the following description of a top-down parser:
"Given a sentential form that is part of a leftmost derivation, the parser's task is to find the next sentential form in that leftmost derivation. The general form of a left sentential form is xAa (my note: that "a" is actually the letter alpha in the book), whereby our notational conventions x is a string of terminal symbols, A is a nonterminal, and a is a mixed string. Because x contains only terminals, A is the leftmost nonterminal in the sentential form, so it is the one that must be expanded to get the next sentential form in the leftmost derivation."
And finally (for my purposes here), he defines things using undefined (or merely "later-defined") terms. For instance, on page 220 he says, "stack-dynamic variables are allocated from the run-time stack." He doesn't define what a run-time stack is until page 433 and that definition is: "This stack is part of the run-time system, and therefore is called the [b]run-time stack[/b]." The real kicker is he doesn't explain WHY the use of a stack is important here.
If it were just a matter of those smaller problems I have with the book, I could give it a decent rating. But, his focus in imperative languages just kicks the legs out from under the book. The best I can give it is a Not Very Good two stars out of five. A much better book is Michael L. Scott's Programming Language Pragmatics, Second Edition.


Leave a Reply