Cover of A theory of objects

A theory of objects

by Martín Abadi · first published 1996

13mentions
4recommended by
10HN commenters
2008–2024first – last mentioned

40% recommend60% neutral

The authors take a novel approach to understanding object-oriented languages by introducing object calculi and developing a theory of objects around them. The book covers both the semantics of objects and their typing rules, and explains a range of object-oriented concepts, such as self, dynamic dispatch, classes, inheritance, prototyping, subtyping, covariance and contravariance, and method specialization. (From back-cover copy)

Affiliate links. As an Amazon Associate I earn from qualifying purchases.

Mentions per year

30 2007: 0 mentions2008: 1 mention2009: 0 mentions2010: 1 mention2011: 0 mentions2012: 0 mentions2013: 1 mention2014: 1 mention2015: 0 mentions2016: 1 mention2017: 0 mentions2018: 0 mentions2019: 1 mention2020: 3 mentions2021: 1 mention2022: 0 mentions2023: 1 mention2024: 1 mention2025: 0 mentions2026: 0 mentions200720172026

What Hacker News says

  • blasdel · Nov 25, 2008 · Recommends

    …restrictive designs are always faster by several orders of magnitude for their specific domains. There is absolutely a theory behind objects, I urge you to read Luca Cardelli and Martin Abadi's monograph "A Theory of Objects", you'll find all the answers you're looking for there with both rigorous proofs and examples from languages (real and imagined). OODBs did not fail because of a lack of theory, nearly all of the people…

    on “Fowler: Rethinking databases aka Database Thaw” ↗
  • blasdel · Mar 15, 2010 · Recommends

    If you want to know how other languages could work, in the sense of an OO version of the lambda-cube, read Cardelli and Abadi's Theory of Objects: http://www.amazon.com/dp/0387947752

    on “The C Object System: Using C as a High-Level Object-Oriented Language” ↗
  • blasdel · Apr 11, 2010 · Recommends

    …is far more object-oriented than the usual Linnaean classicism. Pay attention to Alan Kay, not Stroustrup or Gosling. If you really want to know what OOP is / was / can be, read Cardelli and Abadi's A Theory of Objects. The first half is available online, and covers the parts you'd care about: http://books.google.com/books?id=4xT3LgCPP5UC

    on “Ideas I would like to build / see built” ↗
  • Rochus · Sep 20, 2020 · Recommends

    You might be interesten in "A Theory of Objects" by Cardelli et al. (see https://www.amazon.com/-/de/dp/0387947752).

    on “OOP: History, and challenges for the next fifty years (2013)” ↗
  • rramadass · Jan 22, 2023 · Recommends

    The Kiczales book has already been mentioned. Two more: 1) A Theory of Objects by Abadi and Cardelli. 2) Putting Metaclasses to Work by Forman and Danforth (Guido Van Rossum recommends it on Amazon!).

    on “Ask HN: Looking for curated list of approaches to OO implimentation” ↗
  • kragen · Oct 19, 2019 · Recommends

    …entirely fair to ding Josh Bloch for this. Rigorously modeling inheritance (with overriding, open recursion, and covariant self type) turns out to be quite challenging; I recommend Abadí and Cardelli's A Theory of Objects to those who are interested. The most interesting thing I'm looking at right now with regard to software design is Jackson's Alloy model checker, which does a kind of abstract-interpretation exhaustive…

    on “Goodbye, shitty Car extends Vehicle object-orientation tutorial (2011)” ↗
  • rayiner · Apr 29, 2013 · Mentions

    …performance characteristics of that--from 1984." I think TypeScript is actually one of the more genuinely interesting developments recently--it's state of the art circa 1996 (Abadi and Cardelli's "A Theory of Objects.") This is not really a dig at software development. There is, for example, very little in aerospace that has changed more than incrementally since the 1970's. But people have this perception of software…

    on “Older Is Wiser: Study Shows Software Developers’ Skills Improve Over Time” ↗
  • zozbot234 · Sep 3, 2020 · Mentions

    …You want to know why "lambda calculus" books exist but there are no "Object Oriented Calculus" books? Because there is no formal theory of OOP period. It literally doesn't exist See Luca Cardelli, A Theory of Objects. I might agree with you that the formal foundations of OOP are far from intuitive or foolproof (which is why everyone cautions you against using, e.g. implementation-inheritance unless you know exactly…

    on “Why is OOP still so widely spread?” ↗
  • avik · Nov 19, 2014 · Mentions

    …techniques from Typed Racket (occurrence typing): http://www.ccs.neu.edu/racket/pubs/popl08-thf.pdf Many other papers have influenced the design in some way or the other. For example, Abadi/Cardelli's theory of objects.

    on “Facebook Launches Flow, Static Type Checker for JavaScript” ↗
  • CyberFonic · May 5, 2016 · Mentions

    Great post! In Abadi & Cardelli's "A Theory of Objects" they show that you can implement FP using OOP environment, but you can't implement OOP using FP. Of course, the both Common Lisp and Scheme have created OOP frameworks - maybe they didn't read that book…

    on “When FP? And when OOP?” ↗
  • philzook · Nov 27, 2020 · Mentions

    …research topic. - Codata in Action https://www.microsoft.com/en-us/research/publication/codata-... - Hasekll's Overlooked Object System https://arxiv.org/abs/cs/0509027 - Abadi, Martin; Luca Cardelli - A Theory of Objects. - Type Theories and Object Oriented Programming http://users.csc.calpoly.edu/~gfisher/classes/530/handouts/r...

    on “Existential Haskell” ↗
  • trenchgun · Mar 18, 2024 · Mentions

    …that interact with one another. But also, from same wikipedia page: >Attempts to find a consensus definition or theory behind objects have not proven very successful (however, see Abadi & Cardelli, A Theory of Objects[68] for formal definitions of many OOP concepts and constructs), and often diverge widely. For example, some definitions focus on mental activities, and some on program structuring. https://en.wikipedia.org/wiki/Object-oriented_programming…

    on “What's worked in Computer Science: 1999 vs. 2015 (2015)” ↗
  • kragen · Mar 31, 2021 · Mentions

    …everything is an object and there is no mutability at all. You could reasonably object (heh) that, although it's intended to capture object-oriented programming, and Abadí and Cardelli's book is called A Theory of Objects, it's not widely used, so opinions may differ as to whether they succeeded. https://news.ycombinator.com/item?id=26588642 goes into more detail there. So your definition of "object" only excludes each…

    on “Why OO Sucks by Joe Armstrong (2000)” ↗

Keyboard shortcuts

/
Focus search
j / k
Next / previous book
Enter
Open focused book
Esc
Close / go back
g h
Go to Home
g t
Go to Top all-time
g m
Go to Most recommended
g r
Go to Rising
g f
Go to For You
?
Show this help