or
Sign in to turn on 1-Click ordering.
 
 
Express Checkout with PayPhrase
What's this? | Create PayPhrase
More Buying Choices
37 used & new from $35.00

Have one to sell? Sell yours here
 
   
Concepts, Techniques, and Models of Computer Programming
 
See larger image
 
Tell the Publisher!
I’d like to read this book on Kindle

Don’t have a Kindle? Get your Kindle here.
 
  

Concepts, Techniques, and Models of Computer Programming (Hardcover)

~ (Author), Seif Haridi (Author)
4.0 out of 5 stars  See all reviews (6 customer reviews)

List Price: $73.00
Price: $62.80 & this item ships for FREE with Super Saver Shipping. Details
You Save: $10.20 (14%)
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.com. Gift-wrap available.

Want it delivered Tuesday, November 17? Choose One-Day Shipping at checkout. Details
26 new from $41.96 11 used from $35.00

Frequently Bought Together

Concepts, Techniques, and Models of Computer Programming + Structure and Interpretation of Computer Programs, Second Edition + How to Design Programs: An Introduction to Programming and Computing
Price For All Three: $230.68

Show availability and shipping details

  • This item: Concepts, Techniques, and Models of Computer Programming by Peter Van-Roy

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Structure and Interpretation of Computer Programs, Second Edition by Julie Sussman

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • How to Design Programs: An Introduction to Programming and Computing by Matthias Felleisen

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details


Customers Who Bought This Item Also Bought

How to Design Programs: An Introduction to Programming and Computing

How to Design Programs: An Introduction to Programming and Computing

by Matthias Felleisen
4.7 out of 5 stars (11)  $54.83
Real World Haskell

Real World Haskell

by Bryan O'Sullivan
4.6 out of 5 stars (22)  $43.13
Purely Functional Data Structures

Purely Functional Data Structures

by Chris Okasaki
4.3 out of 5 stars (6)  $42.50
Programming Language Pragmatics, Third Edition

Programming Language Pragmatics, Third Edition

by Michael Lee Scott
4.7 out of 5 stars (23)  $60.93
Types and Programming Languages

Types and Programming Languages

by Benjamin C. Pierce
4.8 out of 5 stars (6)  $40.62
Explore similar items

Editorial Reviews

Review

"In almost 20 years since Abelson and Sussman revolutionized the teaching of computer science with their Structure and Interpretation of Computer Programs, this is the first book I've seen that focuses on big ideas and multiple paradigms, as SICP does, but chooses a very different core model (declarative programming). I wouldn't have made all the choices Van Roy and Haridi have made, but I learned a lot from reading this book, and I hope it gets a wide audience."
Brian Harvey, Lecturer, Computer Science Division, University of California, Berkeley

"This book follows in the fine tradition of Abelson/Sussman and Kamin's book on interpreters, but goes well beyond them, covering functional and Smalltalk-like languages as well as more advanced concepts in concurrent programming, distributed programming, and some of the finer points of C++ and Java."
Peter Norvig, Google Inc.


Product Description

This innovative text presents computer programming as a unified discipline in a way that is both practical and scientifically sound. The book focuses on techniques of lasting value and explains them precisely in terms of a simple abstract machine. The book presents all major programming paradigms in a uniform framework that shows their deep relationships and how and where to use them together. After an introduction to programming concepts, the book presents both well-known and lesser-known computation models ("programming paradigms"). Each model has its own set of techniques and each is included on the basis of its usefulness in practice. The general models include declarative programming, declarative concurrency, message-passing concurrency, explicit state, object-oriented programming, shared-state concurrency, and relational programming. Specialized models include graphical user interface programming, distributed programming, and constraint programming. Each model is based on its kernel language--a simple core language that consists of a small number of programmer- significant elements. The kernel languages are introduced progressively, adding concepts one by one, thus showing the deep relationships between different models. The kernel languages are defined precisely in terms of a simple abstract machine. Because a wide variety of languages and programming paradigms can be modeled by a small set of closely related kernel languages, this approach allows programmer and student to grasp the underlying unity of programming. The book has many program fragments and exercises, all of which can be run on the Mozart Programming System, an Open Source software package that features an interactive incremental development environment.

Product Details

  • Hardcover: 930 pages
  • Publisher: The MIT Press (March 1, 2004)
  • Language: English
  • ISBN-10: 0262220695
  • ISBN-13: 978-0262220699
  • Product Dimensions: 10.1 x 8.4 x 2 inches
  • Shipping Weight: 4.4 pounds (View shipping rates and policies)
  • Average Customer Review: 4.0 out of 5 stars  See all reviews (6 customer reviews)
  • Amazon.com Sales Rank: #293,075 in Books (See Bestsellers in Books)

More About the Author

Peter Van-Roy
Discover books, learn about writers, read author blogs, and more.

Visit Amazon's Peter Van-Roy Page

What Do Customers Ultimately Buy After Viewing This Item?


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 
(2)
(2)
(1)

Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

 

Customer Reviews

6 Reviews
5 star:
 (4)
4 star:    (0)
3 star:
 (1)
2 star:    (0)
1 star:
 (1)
 
 
 
 
 
Average Customer Review
4.0 out of 5 stars (6 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

 
68 of 68 people found the following review helpful:
5.0 out of 5 stars Will change how you think about program design completely, March 22, 2004
By ROBERT B CALCO (Alachua, Florida United States) - See all my reviews
This book is a real mind-bender that illuminates paths for computer design at both the conceptual and practical levels I'd never travelled down before.

The notion that one language can be so flexible as to accomodate both the syntax and semantics of so many different computational models, or paradigms, took some unlearning of bad programming practice before its power, elegance and potential began to sink in.

It also explodes the myth that "pure" languages -- i.e., pure OO, or pure functional, etc., languages--have some kind of innate advantage over so-called "hybrid" languages. In fact, "hybrid" (or as the authors would prefer to call them, "multi-paradigm") languages come out of this book looking even more powerful than the "pure" ones, insofar as they allow the programmer to use the right model for each task, instead of trying to make OO fit, for instance, in places where it doesn't fit so well.

The idea here is that each computational model represents a completely different way of approaching a domain problem. Used by themselves, each has its niche. For instance, everybody knows OO is good for domain modelling and busines objects. Prolog-type languages are good for applications that need to apply rules over a set of data. Functional languages are great in mathematical applications. And so on. What is new here is that one can program in an environment in which all of these tools are available in a single core semantics that seamlessly weaves these computational models into a complementary whole. Used together judiciously, with an eye toward program correctness, they make things possible that have long been considered very hard -- for instance, constraint programming.

Mozart-Oz, the underlying technology, is a strange language when you first look at it. It's hard at first to get used to concepts like "higher-order programming" or "by need execution" or "lazy execution" if you are the programming grunt in the field of most modern IT shops, forced by bosses to code in your standard fare -- Java, C#, VB, etc. If OO in Java is like the hammer that makes everything look like a nail, in Mozart-Oz you have a language that is like walking into Ace hardware store, a swiss army knife of a language (conceptually speaking) that challenges you to become a highly skill code craftsman, not just a programmer.

But, if only for the personal growth you will experience grappling with the concepts in this book, I recommend it very highly even to "non academic" programmers (like myself) as well as to any advanced student of computer science. It may be painful, you may scratch your head in places where the concepts just seemed to leap over your cranium, but if you are patient, do the exercises (and at least think about what it would take to tackle some of the research projects), you will grow.

Unfortunately, you may find the languages you work on to be rather confining, and maybe even boring, after you get a whiff of what multi-paradigm programming can do. More likely, however, is that you will grasp very clearly how the language you code in today works, and that can only make you a better software engineer. So do it-buy this book!

Comment Comments (2) | Permalink | Was this review helpful to you? Yes No (Report this)



 
28 of 28 people found the following review helpful:
5.0 out of 5 stars Integrated view of programming, October 22, 2005
Modern programming has become fragmented into a variety of computational models (OO, functional, imperative, etc), and a variety of languages supporting those computational models. Neophyte programmers are typically introduced to just one of these models, and only learn the other, "less natural" models later. With CTM, Van Roy and Haridi take an alternative approach. They teach programming as an integrated discipline, and demonstrate the underlying links between the different computational models. By the time the reader is done with the book they will have a much better understanding of the discipline of programming, and will be well-equipped to decide which model is best suited to the task at hand. Reading CTM is an extremely worthwhile experience for anyone wishing to achieve a deep understanding of the art and science of programming.

CTM has been compared to Abelson and Sussman's "Structure and Interpretation of Computer Programs". They are similar, in the sense that they both provide the reader with a deeper understanding of programming than most programming texts. However, the content of both books is quite different, and it is definitely worth reading both.

Another book that I feel makes a good companion to CTM is Hoare's (sadly hard to come by) "Unifying Theories of Programming". It covers a lot of the same material as CTM, but in a much more theoretical sense. Where CTM is concerned with practical programming, Hoare is concerned with mathematical underpinnings. The two complement each other nicely.
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
31 of 34 people found the following review helpful:
5.0 out of 5 stars The Power of Programming Without Dogmatic Restraints, March 2, 2004
In 1976 Edsger W. Dijkstra elevated programming to an intellectual discipline and taught us how to reason about what we now call "imperative programming". To illustrate his methodology Dijkstra solved challenging problems with unforgetably beautiful, yet simple and powerful example programs that are as relevant today as they were forty years ago. Since then, programming has splintered into paradigms, methodologies and suffers from baroqueness, perpetuation of obsolete conventions and other practices that restrict the full expressive power of programming "as a whole".

In 2004 Van Roy and Seif Haridi have given us a glimpse of what programming can be like without unnecessary restrictions imposed by paradigms and other heavy baggage caused by politics, ideology and historical inertia. Using the remarkably mature implementation of the Mozart system and the conceptually clean, simple, elegant, yet powerful programming language Oz, Van Roy and Haridi show us how dogmatic heavy baggage falls away when we can look at programming as a whole and choose the best programming concepts that the solution of a problem requires. Such a program becomes simpler, more elegant and therefore less error prone than an equivalent solution that is restricted to a specific paradigm.

Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews

3.0 out of 5 stars Becoming Outdated
I've had a course w/Abelson's textbook (see ed. review). So this one was for "fun". I've just started so, perhaps I'll finish and have something more positive to say. Read more
Published 3 months ago by D. Nalepa

1.0 out of 5 stars This is the worst book I've ever read
This book is the worst book that I've ever read on computer programming. Although I appreciate the concepts presented in the book, when you try to read the examples, you will end... Read more
Published 14 months ago by Vladimir Sarertnoc

5.0 out of 5 stars Fantastic book, a more in-depth SICP
This book is fantastic! It's like a more "fleshed out" version of Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer... Read more
Published 21 months ago by K. Durocher

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
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Discussion Replies Latest Post
Anyone need psychology testbook- trying to sell a used copy 2 1 hour ago
textbook scam 72 3 hours ago
Textbooks for Kindle DX? 61 6 days ago
Search Customer Discussions
Search all Amazon discussions
   




Product Information from the Amapedia Community

Beta (What's this?)


Look for Similar Items by Category


Look for Similar Items by Subject

 

Feedback

If you need help or have a question for Customer Service, contact us.
 Would you like to update product info or give feedback on images?
Is there any other feedback you would like to provide?

Your comments can help make our site better for everyone.


Your Recent History

 (What's this?)

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.