Buy New

or
Sign in to turn on 1-Click ordering.
or
Amazon Prime Free Trial required. Sign up when you check out. Learn More
Buy Used
Used - Very Good See details
$12.88 & eligible for FREE Super Saver Shipping on orders over $25. Details

or
Sign in to turn on 1-Click ordering.
 
   
Sell Back Your Copy
For a $3.75 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Foundations of Object-Oriented Languages: Types and Semantics
 
 
Tell the Publisher!
I'd like to read this book on Kindle

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

Foundations of Object-Oriented Languages: Types and Semantics [Hardcover]

Kim B. Bruce (Author)
4.0 out of 5 stars  See all reviews (1 customer review)

List Price: $50.00
Price: $25.29 & this item ships for FREE with Super Saver Shipping. Details
You Save: $24.71 (49%)
  Special Offers Available
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.
Only 5 left in stock--order soon (more on the way).
Want it delivered Monday, January 30? Choose One-Day Shipping at checkout. Details
Textbook Student FREE Two-Day Shipping for Students. Learn more

Sell Back Your Copy for $3.75
Whether you buy it used on Amazon for $8.88 or somewhere else, you can sell it back through our Book Trade-In Program at the current price of $3.75.
Used Price$8.88
Trade-in Price$3.75
Price after
Trade-in
$5.13

Book Description

026202523X 978-0262025232 March 21, 2002

In recent years, object-oriented programming has emerged as the dominant computer programming style, and object-oriented languages such as C++ and Java enjoy wide use in academia and industry. This text explores the formal underpinnings of object-oriented languages to help the reader understand the fundamental concepts of these languages and the design decisions behind them.The text begins by analyzing existing object-oriented languages, paying special attention to their type systems and impediments to expressiveness. It then examines two key features: subtypes and subclasses. After a brief introduction to the lambda calculus, it presents a prototypical object-oriented language, SOOL, with a simple type system similar to those of class-based object-oriented languages in common use. The text offers proof that the type system is sound by showing that the semantics preserves typing information. It concludes with a discussion of desirable features, such as parametric polymorphism and a MyType construct, that are not yet included in most statically typed object-oriented languages.


Special Offers and Product Promotions

  • Buy $50 in qualifying physical textbooks, get $5 in Amazon MP3 Credit. Here's how (restrictions apply)

Frequently Bought Together

Customers buy this book with Object-Oriented Software Construction (Book/CD-ROM) (2nd Edition) $91.72

Foundations of Object-Oriented Languages: Types and Semantics + Object-Oriented Software Construction (Book/CD-ROM) (2nd Edition)
Price For Both: $117.01

Show availability and shipping details

  • This item: Foundations of Object-Oriented Languages: Types and Semantics

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

  • Object-Oriented Software Construction (Book/CD-ROM) (2nd Edition)

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



Editorial Reviews

About the Author

Kim B. Bruce is Frederick Latimer Wells Professor of Computer Science at Williams College.


Product Details

  • Reading level: Ages 18 and up
  • Hardcover: 404 pages
  • Publisher: The MIT Press (March 21, 2002)
  • Language: English
  • ISBN-10: 026202523X
  • ISBN-13: 978-0262025232
  • Product Dimensions: 9.1 x 8.3 x 1.1 inches
  • Shipping Weight: 2.2 pounds (View shipping rates and policies)
  • Average Customer Review: 4.0 out of 5 stars  See all reviews (1 customer review)
  • Amazon Best Sellers Rank: #1,838,878 in Books (See Top 100 in Books)

More About the Author

Kim Bruce is the Reuben C. and Eleanor Winslow Professor of Computer Science at Pomona College, where he helped found and served as the first chair of the new Computer Science Department. He is the Frederick Latimer Wells Professor of Computer Science emeritus at Williams College, where he taught for 28 years. His first position out of graduate school was as an instructor in Mathematics at Princeton University from 1975 to 1977.

He has also served as a visiting professor or scientist at the University of California at Santa Cruz, Princeton University, the Newton Institute at Cambridge University, the Ecole Normale Superieure in Paris, Stanford University, University of Pisa, and M.I.T. He has served as a consultant for Prime Computer, Digital Equipment Company (DEC), NEC Research Institute, and EcoNovo.

He received a B.A. from Pomona College in 1970, and M.A. (1972) and Ph.D. (1975) degrees from the University of Wisconsin at Madison, all in Mathematics with a specialty in mathematical logic and a minor field of Computer Science. Five years after receiving his Ph.D., he spent a year on leave at M.I.T. where he studied and began research in Computer Science. In 2004-2005, he spent a year at the University of California at Santa Cruz where he started studying a new field once again, this time linguistics.

His research program was originally in the model theory of languages with generalized quantifiers, but his interests turned to programming languages after his stay at M.I.T. His research focus evolved from models of the polymorphic lambda calculus to the study of semantics and type theory, as well as language design, especially of object-oriented languages. His research in computer science has been supported by many NSF (and other) research grants, and has resulted in many published papers in conferences and journals as well as numerous invited talks at conferences. He also co-founded and obtained NSF funding to establish the series of International Workshops on Foundations of Object-Oriented Languages (FOOL), and served as its steering committee chair until 2001. He is currently working on research in linguistics to develop formal models of the context of a continuing dialog, with special interest in the interactions between participants and how the context is built as a conversation progresses.

He has a long-standing interest in Computer Science education. He played a major role in setting up the Computer Science major at Williams College and was the founding chair of the Computer Science Department there. He was one of the founding members of the Liberal Arts Computer Science Consortium, and has contributed to each of their three model curricula for liberal arts colleges. He was a member of the joint ACM - IEEE CS Joint Curriculum Task Force responsible for Curricula 1991 and contributed to Curricula 2001. He has also served on several ACM and IEEE task forces, most recently the ACM Java Task Force responsible for creating a Java library to be used in CS 1 courses. He has also served several times on the organizing committee for the series of workshops on Pedagogies and Tools for the Teaching and Learning of Object-Oriented Concepts. He has served on visiting committees for the computer science and/or math departments of more than 15 liberal arts colleges. In recognition of his work in Computer Science education, he was given the ACM SIGCSE 2005 award for Outstanding Contributions to Computer Science Education.

 

Customer Reviews

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

30 of 31 people found the following review helpful:
4.0 out of 5 stars Typing skills for computer scientists, August 19, 2004
Amazon Verified Purchase(What's this?)
This review is from: Foundations of Object-Oriented Languages: Types and Semantics (Hardcover)
This is a useful introduction to the theory behind data types in object oriented (OO) languages. It starts at a very readable pace. The first section (about 100 pages) covers the basics of OO languages and OO features, and establishes a working vocabulary. For example, it introduces the very distinct notions of subclass and subtype early on. That is important, if only because words like "subtype" have different meanings when used by different authors. Barbara Liskov, for example, used a semantic definition for "subtype" in her famous substitutability principle, a definition that can not be checked by automatic tools. Here, the definition talks only about the information you might find in a Java interface or C++ abstract class, and can be checked automatically. This early discussion also defines the problem to be solved: creating programming languages that are richly expressive, that compile to efficient code, and that are rigorously type safe, goals that often conflict. The clear statement of the problem is very informative, by itself, and casual readers might stop at this point.

The next brief section defines a mathematical notation, a lambda calculus, for discussing types. In this calculus, a "record" or "struct" keyword is an operator that aggregates other types together into a new unit, and C++ templates are functions that generate new types. This calculus feeds into a formal logic that proves statements about types the same way standard arithmetic proves statements about numbers.

This isn't nearly as daunting as a normal proof of program correctness, by the way. Behavioral correctness deals with a program's changes of state over time; this treats the program as a static, compile-time entity. Also, for better or worse, it skips the most of the category theory that often accompanies type formalisms.

The remaining 200 pages or so constitute the real meat of the discussion. Bruce takes the first section's intuitive ideas about types and languages, phrases them in the second section's formalism, and uses that language to analyze several small, purpose-built OO languages with different type systems. Along the way, Bruce makes a few remarkable claims. One is that, although multiple inheritance can cause pragmatic problems for developers, it's no big deal for the mathematical tools. The real problem is deciding what you mean by multiple inheritance, where C++ and Eiffel provide only two of the possible answers. (Agreed - coming up with something useful to say is often harder than saying it.) Another is that classes really aren't necessary for strong OO typing. Classes are just names for collections of features, and it's the features in the collections that matter. (I see the theory, but I'm not sure that this leads to practical improvements in language design.) Many of these results are quite clear even if you, like me, skip some of the hairier proofs.

This is certainly not a book for a beginner to programming or to OO. It's really about the theory of how languages work. It will be of use to developers who create new languages, compilers, or language-smart CASE tools. I doubt that most others will find information relevant to their work. If you really care about the fussy bits of an OO language's type system, though, this book will be very helpful.

//wiredweird
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Only search this product's reviews



Inside This Book (learn more)
Browse Sample Pages:
Front Cover | Table of Contents | First Pages | Index | Surprise Me!
Search Inside This Book:


What Other Items Do Customers 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.
 

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 Discussions

This product's forum
Discussion Replies Latest Post
TOC and sample chapters download 0 May 17, 2007
See all discussions...  
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
   
Related forums



So You'd Like to...

Create a guide


Look for Similar Items by Category


Look for Similar Items by Subject