The Very Roots of Object-Oriented Programming
An image below is the first historical mention of something resembling objects we use today in OOP.
The author is Douglas T. Ross from MIT, who published this concept in a paper “A Generalized Technique for Symbol Manipulation and Numerical Calculation” in 1960! He called it a plex, a shorter form of plexus, meaning “an interwoven combination of parts in a structure; a network”.
This solution was intended to solve problems for which commonly used linked list or tree structures were not sufficient enough. Each plex could hold both data and an arbitrary number of pointers, allowing it to represent complex object relationships — essentially, a network of interconnected elements. Pointers do not only point to other plexi, they could also point to functions. And, as these are not actual functions but pointers (which can potentially be changed during runtime), this means an invention of virtual functions as well. A truly fascinating stuff!
I’ve learned this bit from a great talk of Casey Muratori at the Better Software conference in which he digs into the history of OOP in C++. I highly recommend watching it in full.