A semantics of multiple inheritance.
Proc. of the international symposium on Semantics of data types
CLU reference manual
On understanding types, data abstraction, and polymorphism
ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
DEMOS: a system for discrete event modelling on Simula
DEMOS: a system for discrete event modelling on Simula
Keynote address - data abstraction and hierarchy
OOPSLA '87 Addendum to the proceedings on Object-oriented programming systems, languages and applications (Addendum)
Object-oriented programming in scheme
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
Interfaces for strongly-typed object-oriented programming
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
How to make ad-hoc polymorphism less ad hoc
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The C programming language
A behavioural approach to subtyping in object-oriented programming languages
Inheritance hierarchies in knowledge representation and programming languages
The Geneva convention on the treatment of object aliasing
ACM SIGPLAN OOPS Messenger
Theoretical aspects of object-oriented programming: types, semantics, and language design
Theoretical aspects of object-oriented programming: types, semantics, and language design
Programming languages (3rd ed.): design and implementation
Programming languages (3rd ed.): design and implementation
Objects and classes, co-algebraically
Object orientation with parallelism and persistence
Modern languages and Microsoft's component object model
Communications of the ACM
Abstract types have existential types
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
On the Theory of Specification, Implementation, and Parametrization of Abstract Data Types
Journal of the ACM (JACM)
Programming language pragmatics
Programming language pragmatics
Types and programming languages
Types and programming languages
The Smalltalk-76 programming system design and implementation
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Actor induction and meta-evaluation
POPL '73 Proceedings of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Communication and Concurrency
Essential COM
The Java Language Specification
The Java Language Specification
Programming Languages: Principles and Practice
Programming Languages: Principles and Practice
The Definition of Standard ML
Concepts in Programming Languages
Concepts in Programming Languages
Ownership types for object encapsulation
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Object-Oriented Multi-Methods in Cecil
ECOOP '92 Proceedings of the European Conference on Object-Oriented Programming
Synthesizing Object-Oriented and Functional Design to Promote Re-Use
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
An axiomatic approach to semantics of specification languages
Proceedings of the 6th GI-Conference on Theoretical Computer Science
Object-Oriented Programming Versus Abstract Data Types
Proceedings of the REX School/Workshop on Foundations of Object-Oriented Languages
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
Programming with abstract data types
Proceedings of the ACM SIGPLAN symposium on Very high level languages
Procedural encapsulation: A linguistic protection technique
Proceeding of ACM SIGPLAN - SIGOPS interface meeting on Programming languages - operating systems
A denotational semantics of inheritance
A denotational semantics of inheritance
An overview of the programming language Smalltalk-72
ACM SIGPLAN Notices
History of programming languages---II
The Calculi of Lambda Conversion. (AM-6) (Annals of Mathematics Studies)
The Calculi of Lambda Conversion. (AM-6) (Annals of Mathematics Studies)
Programming in Modula-2
Modular invariants for layered object structures
Science of Computer Programming - Special issue on source code analysis and manipulation (SCAM 2005)
Concepts of Programming Languages (8th Edition)
Concepts of Programming Languages (8th Edition)
Observational purity and encapsulation
Theoretical Computer Science
Programming Languages: Principles and Paradigms
Programming Languages: Principles and Paradigms
Programming in Scala: A Comprehensive Step-by-step Guide
Programming in Scala: A Comprehensive Step-by-step Guide
Putting theories together to make specifications
IJCAI'77 Proceedings of the 5th international joint conference on Artificial intelligence - Volume 2
Type classes as objects and implicits
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
A case of visitor versus interpreter pattern
TOOLS'11 Proceedings of the 49th international conference on Objects, models, components, patterns
Socio-PLT: principles for programming language adoption
Proceedings of the ACM international symposium on New ideas, new paradigms, and reflections on programming and software
Wyvern: a simple, typed, and pure object-oriented language
Proceedings of the 5th Workshop on MechAnisms for SPEcialization, Generalization and inHerItance
The power of interoperability: why objects are inevitable
Proceedings of the 2013 ACM international symposium on New ideas, new paradigms, and reflections on programming & software
Object-oriented programming: Some history, and challenges for the next fifty years
Information and Computation
Hi-index | 0.00 |
In 1985 Luca Cardelli and Peter Wegner, my advisor, published an ACM Computing Surveys paper called "On understanding types, data abstraction, and polymorphism". Their work kicked off a flood of research on semantics and type theory for object-oriented programming, which continues to this day. Despite 25 years of research, there is still widespread confusion about the two forms of data abstraction, abstract data types and objects. This essay attempts to explain the differences and also why the differences matter.