Distrbution and Abstract Types in Emerald
IEEE Transactions on Software Engineering - Special issue on distributed systems
Object structure in the Emerald system
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Dimensions of object-based language design
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
The essence of functional programming
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The early history of Smalltalk
HOPL-II The second ACM SIGPLAN conference on History of programming languages
User-defined types and procedural data structures as complementary approaches to data abstraction
Theoretical aspects of object-oriented programming
Delegation versus concatenation or cloning is inheritance too
ACM SIGPLAN OOPS Messenger
Classes versus prototypes in object-oriented languages
ACM '86 Proceedings of 1986 ACM Fall joint computer conference
Communications of the ACM
On the criteria to be used in decomposing systems into modules
Communications of the ACM
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A type declaration and inference system for smalltalk
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The Essence of Objects: Concepts and Terms
IEEE Software
The early history and characteristics of PL/I
ACM SIGPLAN Notices - Special issue: History of programming languages conference
The roots of object orientation: the Simula language
Software pioneers
ALGOL Bulletin
The development of the SIMULA languages
History of programming languages I
Transcript of discussant's remarks
History of programming languages I
Pragmatic Version Control: Using Subversion (The Pragmatic Starter Kit Series)(2nd Edition)
Pragmatic Version Control: Using Subversion (The Pragmatic Starter Kit Series)(2nd Edition)
The development of the Emerald programming language
Proceedings of the third ACM SIGPLAN conference on History of programming languages
Chapter III: Hierarchical program structures
Structured programming
Programming Erlang: Software for a Concurrent World
Programming Erlang: Software for a Concurrent World
A universal modular ACTOR formalism for artificial intelligence
IJCAI'73 Proceedings of the 3rd international joint conference on Artificial intelligence
On understanding data abstraction, revisited
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
Modules as objects in newspeak
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
Grace: the absence of (inessential) difficulty
Proceedings of the ACM international symposium on New ideas, new paradigms, and reflections on programming and software
Hi-index | 0.00 |
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.