Object-oriented programming: some history, and challenges for the next fifty years
Andrew P. Black

TL;DR
This paper reviews the history and evolution of object-oriented programming, highlighting its origins from Simula, its growth into a dominant paradigm, and discussing future challenges and directions for the next fifty years.
Contribution
It provides a comprehensive historical overview and discusses future challenges for object-oriented programming, connecting foundational ideas to current and future developments.
Findings
Object-oriented programming originated from Simula in 1961.
It has evolved into the dominant programming paradigm over fifty years.
Future challenges include addressing complexity and adapting to new computing paradigms.
Abstract
Object-oriented programming is inextricably linked to the pioneering work of Ole-Johan Dahl and Kristen Nygaard on the design of the Simula language, which started at the Norwegian Computing Centre in the Spring of 1961. However, object-orientation, as we think of it today---fifty years later---is the result of a complex interplay of ideas, constraints and people. Dahl and Nygaard would certainly recognise it as their progeny, but might also be amazed at how much it has grown up. This article is based on a lecture given on 22nd August 2011, on the occasion of the scientific opening of the Ole-Johan Dahl hus at the University of Oslo. It looks at the foundational ideas from Simula that stand behind object-orientation, how those ideas have evolved to become the dominant programming paradigm, and what they have to offer as we approach the challenges of the next fifty years of informatics.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Software Engineering Methodologies · Logic, programming, and type systems · Software Engineering Research
