Alan Kay’s views on object orientation are flavored by his purpose in applying the concepts of object orientation that precede him, to a platform for general personal computing. After all, what new concepts in object orientation did Smalltalk introduce? In terms of object orientation, Smalltalk includes the concepts from Simula - objects, classes, subclasses and virtual object methods. To these, it added Lisp like incremental program generation. This is why Stroustrup and Gosling both state that their languages (C++ and Java) derive their implementations of object orientation from… Simula.
It would be better in my opinion, for the paper’s author to consider the viewpoint of the real inventors (Nygaard and Dahl) of object orientation, before attributing issues of the paradigm to problems of “scale”. They saw object orientation very differently from Alan Kay’s mystical and widely quoted ‘its all about messaging’ technical perspective.
Alan Kay didn’t invent objects, but he pushed them further than Simula did. While the current trend is to way overhype his work, he shouldn’t be discarded entirely.
No, Stroustrup didn’t derive C++ from Simula because he used it for his PHD. He used it because of the higher abstractions it supports. To quote him…
“And my idea was very simple: to take the ideas from SIMULA for general abstraction for the benefit of sort of humans representing things… so humans could get it with low level stuff, which at that time was the best language for that was C, which was done at Bell Labs by Dennis Ritchie. And take those two ideas and bring them together so that you could do high-level abstraction, but efficiently enough and close enough to the hardware for really demanding computing tasks. And that is where I came in. And so C++ has classes like SIMULA but they run as fast as C code, so the combination becomes very useful.”
Alan Kay’s views on object orientation are flavored by his purpose in applying the concepts of object orientation that precede him, to a platform for general personal computing. After all, what new concepts in object orientation did Smalltalk introduce? In terms of object orientation, Smalltalk includes the concepts from Simula - objects, classes, subclasses and virtual object methods. To these, it added Lisp like incremental program generation. This is why Stroustrup and Gosling both state that their languages (C++ and Java) derive their implementations of object orientation from… Simula.
It would be better in my opinion, for the paper’s author to consider the viewpoint of the real inventors (Nygaard and Dahl) of object orientation, before attributing issues of the paradigm to problems of “scale”. They saw object orientation very differently from Alan Kay’s mystical and widely quoted ‘its all about messaging’ technical perspective.
Alan Kay didn’t invent objects, but he pushed them further than Simula did. While the current trend is to way overhype his work, he shouldn’t be discarded entirely.
(Stroustrup derived C++ from Simula because he used it for his PhD.)
No, Stroustrup didn’t derive C++ from Simula because he used it for his PHD. He used it because of the higher abstractions it supports. To quote him…
“And my idea was very simple: to take the ideas from SIMULA for general abstraction for the benefit of sort of humans representing things… so humans could get it with low level stuff, which at that time was the best language for that was C, which was done at Bell Labs by Dennis Ritchie. And take those two ideas and bring them together so that you could do high-level abstraction, but efficiently enough and close enough to the hardware for really demanding computing tasks. And that is where I came in. And so C++ has classes like SIMULA but they run as fast as C code, so the combination becomes very useful.”
Uh seems like the answer is both
If anyone is interested, this is the Sandi Metz talk from which the article is taken https://www.youtube.com/watch?v=OMPfEXIlTVE