The origination of OO was quite geeky. A bunch of geeky guys toyed around with the idea of moving a data structure, derived from a language construct, from the stack to the heap. They built a new language construct to do this. They named that language construct a “class”. Where, then, did we get the idea that OO was about modeling the real world?

Robert C. Martin’s Blog: Aristotle’s Error or Agile Smagile.