1. 11
  1.  

  2. 11

    I’ve done a bunch of research into the history of OO, digging to try to find a solid foundation. And pretty much every time it turns out like this. There’s a popular term that’s kind of vague, but if you dig down to where it comes from you’ll find a paper from the 70s or 80s with a definition that’s almost totally unrelated.

      1. 5

        Oh hey, I remember this paper. It came up when I was doing research into Liskov Substitution Principle. That curiosity turned into my talk Lessons of Liskov. I found three definitions of the LSP - this paper is the second definition. The first is in Liskov’s 1987 paper Data Abstraction and Hierarchy, which Robert Martin reinterpreted to write the third, popular definition that’s oriented around inheritance. And, not helping things, I tried to distill what they were all getting at (substitutability) if you ignore the inheritance/subtyping implementation details.