Customer Reviews


12 Reviews
5 star:
 (4)
4 star:
 (2)
3 star:
 (1)
2 star:    (0)
1 star:
 (5)
 
 
 
 
 
Average Customer Review
Share your thoughts with other customers
Create your own review
 
 
Only search this product's reviews

The most helpful favorable review
The most helpful critical review


21 of 23 people found the following review helpful:
4.0 out of 5 stars Good introduction to the subject
I can't speak to John Mitchell's skill as a lecturer, but some of the complaints here seem to betray a misunderstanding of the purpose of the book: to serve as an introduction to programming language theory, such as can be found in Mitchell's other book *Foundations for Programming Languages*. Mitchell is taking you *out of* the marketable skills zone and into abstract...
Published on June 18, 2007 by Jeffrey Rubard

versus
7 of 14 people found the following review helpful:
1.0 out of 5 stars I think I had a worse textbook once, ten years ago
The excessive reliance on ML and poor language skills exhibited are well covered in the other reviews. I'd just like to add that Mitchell has a terrible habit of explaining things out of order (for instance, activation records are explained on page 165, but you are expected to know them on page 148), and his "This is beyond the scope of this book." handwaving makes many...
Published on December 19, 2005 by William H. Cleveland


‹ Previous | 1 2 | Next ›
Most Helpful First | Newest First

21 of 23 people found the following review helpful:
4.0 out of 5 stars Good introduction to the subject, June 18, 2007
By 
Jeffrey Rubard (Beaverton, OR US) - See all my reviews
(REAL NAME)   
This review is from: Concepts in Programming Languages (Hardcover)
I can't speak to John Mitchell's skill as a lecturer, but some of the complaints here seem to betray a misunderstanding of the purpose of the book: to serve as an introduction to programming language theory, such as can be found in Mitchell's other book *Foundations for Programming Languages*. Mitchell is taking you *out of* the marketable skills zone and into abstract computer science, and he's being pretty nice about it -- the book contains friendly precises of topics like lambda calculus and denotational semantics, which make up the formal core of programming languages. What you will learn has applications in all popular programming languages, even if it's not spelled out in the text.

ML was a good choice as an example language, because it includes many of the features a programming language might have (being both imperative and functional), and furthermore is a serious research language on account of its well-understood semantics and type system. Focusing on it to explain core concepts was not a mistake. Mitchell knows how to do it the other way, too: explanations of the basic elements of object-orientation are parceled out over several notable OO languages, providing a way to compare and contrast how the major OO concepts can be implemented. (I didn't find the final chapter, Apt's summary of Prolog, as helpful: the declarative paradigm is too far removed from what was developed in the rest of the book.)

On account of its relatively gentle explanations and the importance of its concepts for all aspects of CS, this would be a good book for a relative beginner in CS to pick up (provided they can comprehend more than just code). But if you find it too repellent, you're probably not going to be much happier with more advanced treatments: its character just reflects the nature of the field.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


23 of 29 people found the following review helpful:
4.0 out of 5 stars Missing the point, August 9, 2004
This review is from: Concepts in Programming Languages (Hardcover)
While I cannot speak to the quality of Mitchell's course, having only read his book, the earlier criticisms of his use of ML in the book are missing the point of a programming languages class. It's not meant to teach you a random sampling of the 2500+ computer languages that are out there. The idea is to learn about the fundamental paradigms of programming, with a focus on the functional and logical approaches since students are generally already familiar with imperative and object-oriented programming.

ML is one of several good choices for illustrating functional programming, and is actually one of the more popular functional languages (especially the OCaML dialect.) There are many well written books and tutorials on the ML family of languages freely available on the web if you need more examples or detail than he provides in this text. However, the point isn't to learn ML, but rather that once you understand functional programming in any language, you can take advantage of its power, not only in languages like perl and python which offer some limited but nice functional features like map and anonymous functions, but also in imperative languages like C via function pointers and callback techniques.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


3 of 3 people found the following review helpful:
5.0 out of 5 stars Excellent introduction to programming language concepts, April 11, 2010
This review is from: Concepts in Programming Languages (Hardcover)
I really enjoyed reading Concepts in Programming Languages.

The book covers a little bit of everything. It includes an introduction to mathematical foundations such as computability theory and lambda calculus, but I found it quite readable (at the time when I was reading it, which was early during my undergraduate studies). It also includes a tiny bit on the semantics of programming languages (that is, how to describe the meaning formally), which is another important concept from the mathematical foundations of programming languages.

Then it talks about many programming languages and concepts that come from them and are interesting including LISP (which is a basis for Clojure), ML (a basis for Microsoft's F#) but also Simula and Smalltalk (two fundamental OO languages that inspired all modern OO languages, both dynamic such as Ruby and static such as Java). It also talks about C++ and Java (practical OO languages with quite different approach). There are also a few notes about different approaches to concurrency (quite important nowadays!) and logical programming (an iteresting alternative).

It doesn't go into much details and covers wide range of topics, which I consider as a benefit if you want to read it to get a broad overview of the programming language theory. The book actually motivated my current interest in programming languages :-).
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


14 of 21 people found the following review helpful:
5.0 out of 5 stars great book, the best presentation of the topic, January 9, 2004
By A Customer
Amazon Verified Purchase(What's this?)
This review is from: Concepts in Programming Languages (Hardcover)
The book is wonderfully and clearly written; it is an easy read without taking a college course, which is what I did. Any person seriously interested in computer science should get acquainted with this material to develop true understanding and appreciation for programming languages in general and specific ones in popular use right now. Introduction of other languages, like Lisp, ML, and Smalltalk is very appropriate and sets a good background for the foundation and comparison of popular aspects of C++ and Java.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


5.0 out of 5 stars Excellent explanation of fundamental concepts, July 1, 2010
This review is from: Concepts in Programming Languages (Hardcover)
I read this book out of interest in programming languages theory. I did not want to read a pure theoretical book but wanted to get an understanding on how important concepts are currently implemented in various different languages. This book does this job quite effectively. It also has a puritan theoretical flavor that I liked. It used ML for explaining important concepts and I think that is a right choice. It also has pointed out many good references at the end of every chapter in case one may want to explore more about a topic. The topics covered here are very relevant to Engineers particularly to understand the possibilities the set of all languages can provide. The same author has a theory book. However, that book is mainly for researchers in programming languages.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


0 of 1 people found the following review helpful:
5.0 out of 5 stars Get it! Read it!, October 1, 2009
This review is from: Concepts in Programming Languages (Hardcover)
I used this book in CS 242. It was a great class; and this is one of my favorite books ever!
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


7 of 14 people found the following review helpful:
1.0 out of 5 stars I think I had a worse textbook once, ten years ago, December 19, 2005
This review is from: Concepts in Programming Languages (Hardcover)
The excessive reliance on ML and poor language skills exhibited are well covered in the other reviews. I'd just like to add that Mitchell has a terrible habit of explaining things out of order (for instance, activation records are explained on page 165, but you are expected to know them on page 148), and his "This is beyond the scope of this book." handwaving makes many of the explanations completely incoherent.

I have never sold back a textbook before, but I'm taking this back to the bookstore right after my final, and then I'll get a real Comparative Programming Languages textbook.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


2 of 6 people found the following review helpful:
3.0 out of 5 stars Good Review Book, Bad Intro Book, January 3, 2007
This review is from: Concepts in Programming Languages (Hardcover)
It's a good review book if you know your material and just need a quick refresh or need the same concept explained differently. However, this book will intimidate you if you're new to computer science. An example would be in Chapter 1, the words "stack memory management and recursive functions or procedures" were thrown at the readers without any explanation.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


7 of 17 people found the following review helpful:
1.0 out of 5 stars Bordering on incoherent, October 9, 2005
This review is from: Concepts in Programming Languages (Hardcover)
As a grdauate student, I feel compelled to write honestly about this book in the hopes that what I'm writing might influence some teacher's decision in the future. Granted, the topic area this book is covering isn't trivial, but in the light of its complex nature it is even more paramount that someone attempting to explain it to those who don't understand it be well-versed in, frankly, English. This book is quite possibly the worst textbook I have ever encountered. The writing is atrocious, the "flow" is like mud, and the explanations make even things that could be simple, dreadfully complex. Avoid it like the plague, there are a lot better options.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


8 of 31 people found the following review helpful:
1.0 out of 5 stars Yes it sucked!, January 30, 2004
By A Customer
This review is from: Concepts in Programming Languages (Hardcover)
I too took the class with John Mitchell in Stanford a few years back. The manuscript, which now is this book, was very poorly written, erroneous, inconsitent and not even complete! It's one of the worst classes I've taken at Stanford. I believe I could've benefited more from the class had he put students' interest first by choosing a better textbook.

I don't know why he put so much empathsis on ML. Had he put some decent effort in helping people actually understand ML, maybe it won't have been so frustrating (back then it was pre-2000, so there weren't many ML material available online - and you haven't heard of Google yet:-). For functional language, wouldn't Lisp be a better example for instructive purposes?

Someone in the class at that time suggested him talk about scripting languages such as Perl (Python is now getting interesting). That would be useful comparison. But that was brushed aside.

I would not buy this book unless you have no choice.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


‹ Previous | 1 2 | Next ›
Most Helpful First | Newest First

This product

Concepts in Programming Languages
Concepts in Programming Languages by John C. Mitchell (Hardcover - October 14, 2002)
$90.00 $71.41
In Stock
Add to cart Add to wishlist