Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image
Have one to sell? Sell on Amazon

Foundations of Object-Oriented Languages: Types and Semantics Hardcover – March 21, 2002

ISBN-13: 978-0262025232 ISBN-10: 026202523X
Buy used
Buy new
Used & new from other sellers Delivery options vary per offer
33 used & new from $11.86
Amazon Price New from Used from
"Please retry"
Hardcover, March 21, 2002
"Please retry"
$24.99 $11.86

Hero Quick Promo
Save up to 90% on Textbooks
Rent textbooks, buy textbooks, or get up to 80% back when you sell us your books. Shop Now
$50.00 FREE Shipping. Temporarily out of stock. Order now and we'll deliver when available. We'll e-mail you with an estimated delivery date as soon as we have more information. Your account will only be charged when we ship the item. Ships from and sold by Amazon.com. Gift-wrap available.

Frequently Bought Together

Foundations of Object-Oriented Languages: Types and Semantics + The Little Schemer - 4th Edition
Price for both: $78.08

One of these items ships sooner than the other.

Buy the selected items together

Editorial Reviews

About the Author

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

Shop the new tech.book(store)
New! Introducing the tech.book(store), a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Product Details

  • Hardcover: 404 pages
  • Publisher: The MIT Press (March 21, 2002)
  • Language: English
  • ISBN-10: 026202523X
  • ISBN-13: 978-0262025232
  • Product Dimensions: 8 x 1.2 x 9 inches
  • Shipping Weight: 2.2 pounds (View shipping rates and policies)
  • Average Customer Review: 3.5 out of 5 stars  See all reviews (2 customer reviews)
  • Amazon Best Sellers Rank: #1,939,120 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

3.5 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See both customer reviews
Share your thoughts with other customers

Most Helpful Customer Reviews

33 of 34 people found the following review helpful By wiredweird HALL OF FAMETOP 1000 REVIEWER on August 19, 2004
Format: Hardcover Verified Purchase
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.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
0 of 1 people found the following review helpful By anonymous on July 30, 2014
Format: Hardcover
While more practical than some books, this is still a lot of theory and notation.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

What Other Items Do Customers Buy After Viewing This Item?