Programming Language Design Concepts and over 2 million other books are available for Amazon Kindle . Learn more

Buy New

Sign in to turn on 1-Click ordering.
Buy Used
Used - Very Good See details
Price: 14.11

Trade in Yours
For a 2.25 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Sorry, this item is not available in
Image not available for
Image not available

Start reading Programming Language Design Concepts on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Programming Language Design Concepts (Computer Science) [Paperback]

David A. Watt
4.0 out of 5 stars  See all reviews (1 customer review)
Price: 42.99 & FREE Delivery in the UK. Details
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In stock.
Dispatched from and sold by Amazon. Gift-wrap available.
Want it tomorrow, 27 July? Choose Express delivery at checkout. Details


Amazon Price New from Used from
Kindle Edition 37.07  
Paperback 42.99  
Trade In this Item for up to 2.25
Trade in Programming Language Design Concepts (Computer Science) for an Amazon Gift Card of up to 2.25, which you can then spend on millions of items across the site. Trade-in values may vary (terms apply). Learn more

Book Description

26 Mar 2004 0470853204 978-0470853207 1
Explains the concepts underlying programming languages, and demonstrates how these concepts are synthesized in the major paradigms: imperative, OO, concurrent, functional,  logic and with recent scripting languages. It gives greatest prominence to the OO paradigm. Includes numerous examples using C, Java and C++ as exmplar languages Additional case–study languages: Python, Haskell, Prolog and Ada Extensive end–of–chapter exercises with sample solutions on the companion Web site Deepens study by examining the motivation of programming languages not just their features

Product details

  • Paperback: 492 pages
  • Publisher: John Wiley & Sons; 1 edition (26 Mar 2004)
  • Language: English
  • ISBN-10: 0470853204
  • ISBN-13: 978-0470853207
  • Product Dimensions: 24 x 19 x 3 cm
  • Average Customer Review: 4.0 out of 5 stars  See all reviews (1 customer review)
  • Amazon Bestsellers Rank: 762,275 in Books (See Top 100 in Books)
  • See Complete Table of Contents

More About the Author

Discover books, learn about writers, and more.

Product Description

From the Back Cover

Programming languages exist to communicate with computers and also with people. A good language, like a good mathematical notation, helps us to formulate and communicate ideas more quickly. Yet there are many programming languages and many features to understand in each. Reflecting current trends where object–oriented (OO) programming has taken over from imperative programming as the dominant paradigm, this book gives greatest prominence to the OO paradigm using Java and C++ as the main exemplar languages. Similarly, since the Web has revolutionized the computing industry, the need for examination of scripting languages, such as Perl and Python, has risen. With additional case study languages including Python, Haskell, Prolog and Ada, Programming Language Design Concepts deepens study by examining the motivation of programming languages rather than just their features.,P.All programmers, not just language specialists, need a thorough understanding of language concepts in order to get the best of these most fundamental tools. This book explains the basic concepts that underpin all programming languages, and shows how these concepts are synthesized in the major paradigms: imperative, object–oriented, concurrent, functional, logic and scripting. Written in a clear, approachable style, ideal for classroom and self–study, the book includes numerous examples, case studies of several major programming languages, and end–of–chapter exercises. Sample solutions to exercises are available on the companion website.Companion website:∼daw/books/PLDC/

About the Author

David Watt is a Professor of Computing Science at Glasgow University. His research interests include the design, specification, and implementation of programming languages, and he has published several books on the topic. He has many years of teaching experience on this and other programming subjects.

Inside This Book (Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Back Cover
Search inside this book:

Customer Reviews

5 star
3 star
2 star
1 star
4.0 out of 5 stars
4.0 out of 5 stars
Most Helpful Customer Reviews
1 of 3 people found the following review helpful
4.0 out of 5 stars Great Programming Text 15 July 2004
By Pblack
This is a great text about general programming syntax and semantics and much more. Includes examples of C, C++, Java, ADA and Haskell. This text doesn't follow the exact sylabus of the Programming Languages module at Glasgow University which David Watt teaches however I found it a great help anyway.
Comment | 
Was this review helpful to you?
Most Helpful Customer Reviews on (beta) 2.3 out of 5 stars  3 reviews
15 of 16 people found the following review helpful
2.0 out of 5 stars Missing information and factual errors 25 April 2005
By William Smith - Published on
I found reading this book very frustrating for several reasons.

The first reason was that it would explain similar concepts in different programming languages with almost identical text with only a few words changed. It would have been much better if the book was organized to not be just an inventory of the features of the example languages but would contrast their meaning. It also seemed to focus more on the differing syntaxes of the languages instead of the similar or different semantics behind those syntaxes. It also would have been a stronger book if it mentioned concepts that were present in some languages not surveyed by the book.

It was also not very objective and would make value judgements about the languages, usually by praising Ada's attributes and disparaging C and C++.

Another problem that I found was that it had factual errors about C and C++. For example, it made an emphatic point of saying that C++ arrays could only be initialized with constants, which is not true. It also glossed over C++'s references and frequently made no distinction between C and C++.

In its section on parameter passing, it left out several important parameter passing mechanisms such as thunking (there was no mention of this at all) and C++'s non-const reference parameters. Also, it claimed that C had no modularity techniques and was therefore only useful for small projects and ignored the benefits of static functions or variables that can hide the internal structure of algorithms and information.

While I'm most familiar with C and C++, the flaws in this book with those languages made me unable to trust its comments about other languages. The value judgements it made about the quality or usefulness of different languages were both distracting and unhelpful.
7 of 8 people found the following review helpful
3.0 out of 5 stars No really theory! 22 Oct 2005
By Jos van Roosmalen - Published on
I would everyone recommend NOT to buy this book, but to buy 'Programming Language Pragmatics' by Michael L. Scott.

The problem with this book is this:

It has a very practical approach. This would be nice for some class of readers, but the problem is that the title suggest it's about language design & concepts (so theory).

This book tells you e.g. in short what a classes/objects are, and then a lot of examples in different languages how to define classes and work with objects.

The problem is, that it doesn't tell me anything about the core concepts of OO like inheritance and information hiding. Sure it tells me what inheritance is, and how to do this in different languages, but it doesn't tell me the path to inheritance (what was before, why we have it now), so the concept behind the concept is missing.

So I don't read in this book the concepts behind the concepts. What's the history of OO, how we did get here(Algol -> Modula, etc), the philosofy behind those things etc.

If you want to know this and other things you need to read the book I recommend above.
1 of 1 people found the following review helpful
2.0 out of 5 stars Simply wrong 26 April 2011
By Luciano Ramalho - Published on
The author cannot hide his bias towards static typing, and fails to appreciate the power of a dynamic language such as Python. The Python case study (Section 16.3, p. 425) has this criticism:

The compiler will not reject code that might fail with a type error, nor even code that will certainly fail, such as:

def fail(x):
... print x+1, x[0]

In fact it is trivial to implement a class X to create an instance x that can be added to an integer and accessed as a sequence, thanks to basic operator overloading. In order to comment on the design of a language, it is prudent to have more than passing knowledge of its semantics.
Were these reviews helpful?   Let us know
Search Customer Reviews
Only search this product's reviews

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
First post:
Prompts for sign-in

Search Customer Discussions
Search all Amazon discussions

Look for similar items by category