Vous voulez voir cette page en français ? Cliquez ici.


or
Sign in to turn on 1-Click ordering.
More Buying Choices
Have one to sell? Sell yours here
Programming Language Design Concepts
 
 

Programming Language Design Concepts [Paperback]

David A. Watt

List Price: CDN$ 73.95
Price: CDN$ 64.99 & this item ships for FREE with Super Saver Shipping. Details
You Save: CDN$ 8.96 (12%)
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.
Ships from and sold by Amazon.ca. Gift-wrap available.
Only 1 left in stock--order soon (more on the way).
Want it delivered Tuesday, May 29? Choose One-Day Shipping at checkout.

Product Details


Product Description

Product Description

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

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: www.dcs.gla.ac.uk/~daw/books/PLDC/


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

Tag this product

 (What's this?)
Think of a tag as a keyword or label you consider is strongly related to this product.
Tags will help all customers organize and find favorite items.
Your tags: Add your first tag
 

Customer Reviews

There are no customer reviews yet on Amazon.ca
5 star:    (0)
4 star:    (0)
3 star:    (0)
2 star:    (0)
1 star:    (0)
 
 
 
Share your experience with this product with others
Create your own review
Most Helpful Customer Reviews on Amazon.com (beta)
Amazon.com: 2.3 out of 5 stars (3 customer reviews)

12 of 13 people found the following review helpful
2.0 out of 5 stars Missing information and factual errors, April 25 2005
By William Smith - Published on Amazon.com
This review is from: Programming Language Design Concepts (Paperback)
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.

5 of 6 people found the following review helpful
3.0 out of 5 stars No really theory!, Oct 22 2005
By Jos van Roosmalen - Published on Amazon.com
This review is from: Programming Language Design Concepts (Paperback)
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.

2.0 out of 5 stars Simply wrong, April 26 2011
By Luciano Ramalho "stand-up programmer" - Published on Amazon.com
This review is from: Programming Language Design Concepts (Paperback)
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.
 Go to Amazon.com to see all 3 reviews  2.3 out of 5 stars 

Listmania!

Create a Listmania! list

Look for similar items by category


Look for similar items by subject


Feedback


Amazon.ca Privacy Statement Amazon.ca Shipping Information Amazon.ca Returns & Exchanges