Skip to content
Scan a barcode
Scan
Hardcover Concepts in Programming Languages Book

ISBN: 0521780985

ISBN13: 9780521780988

Concepts in Programming Languages

Select Format

Select Condition ThriftBooks Help Icon

Recommended

Format: Hardcover

Condition: Very Good

$17.59
Save $91.41!
List Price $109.00
Almost Gone, Only 1 Left!

Book Overview

Concepts in Programming Languages elucidates the central concepts used in modern programming languages, such as functions, types, memory management, and control. The book is unique in its comprehensive presentation and comparison of major object-oriented programming languages. Separate chapters examine the history of objects, Simula and Smalltalk, and the prominent languages C++ and Java. The author presents foundational topics, such as lambda calculus...

Customer Reviews

5 ratings

Excellent explanation of fundamental concepts

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.

Excellent introduction to programming language concepts

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 :-).

Get it! Read it!

I used this book in CS 242. It was a great class; and this is one of my favorite books ever!

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 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.

great book, the best presentation of the topic

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.
Copyright © 2024 Thriftbooks.com Terms of Use | Privacy Policy | Do Not Sell/Share My Personal Information | Cookie Policy | Cookie Preferences | Accessibility Statement
ThriftBooks® and the ThriftBooks® logo are registered trademarks of Thrift Books Global, LLC
GoDaddy Verified and Secured