I'm researching object oriented programming and I've come across the term "four pillars of OOP" in a few places now.
I originally saw them listed as:
When I searched for the origin of this I found a Quora answer which says:
The four Pillars of OOP are in Grady Booch’s original book on the topic,. Object Oriented Analysis and Design. They are:
He then lists the four principles I mentioned above. Yet when I downloaded the PDF and searched for the word "four" I came across the section which seems to outline four key principles of OOP, and they are listed as:
When I searched further I found others listing the four pillars as they appear in the book above. For example this diagram:
Can anyone explain the discrepancy on what the four pillars are? I'm interested in the historical perspective: what is the origin of the four pillars? Can anyone confirm or deny Grady Booch as the origin of this phrase?