On understanding types, data abstraction, and polymorphism
ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
CommonLoops: merging Lisp and object-oriented programming
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Encapsulation and inheritance in object-oriented programming languages
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
The programming language Oberon
Software—Practice & Experience
The annotated C++ reference manual
The annotated C++ reference manual
Eiffel: the language
Project Oberon: the design of an operating system and compiler
Project Oberon: the design of an operating system and compiler
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Iteration abstraction in Sather
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Modular object-oriented programming with units and mixins
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Foundations of component-based systems
Foundations of component-based systems
Generative programming: methods, tools, and applications
Generative programming: methods, tools, and applications
Component Software: Beyond Object-Oriented Programming
Component Software: Beyond Object-Oriented Programming
Java Virtual Machine Specification
Java Virtual Machine Specification
Java Language Specification, Second Edition: The Java Series
Java Language Specification, Second Edition: The Java Series
Stand-Alone Messages: A Step Towards Component-Oriented Programming Languages
JMLC '00 Proceedings of the Joint Modular Languages Conference on Modular Programming Languages
Import is Not Inheritance - Why We Need Both: Modules and Classes
ECOOP '92 Proceedings of the European Conference on Object-Oriented Programming
A Study of The Fragile Base Class Problem
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
Continuous program optimization: A case study
ACM Transactions on Programming Languages and Systems (TOPLAS)
CLU REFERENCE MANUAL
Foundations of a simple and unified component-oriented language
Computer Languages, Systems and Structures
SCL: a simple, uniform and operational language for component-oriented programming in smalltalk
ISC'06 Proceedings of the 14th international conference on Advances in smalltalk
Hi-index | 0.00 |
We are in the midst of a paradigm shift toward component-oriented software development, and significant progress has been made in understanding and harnessing this new paradigm. Oddly enough, however, the new paradigm does not currently extend to the level at which components themselves are constructed. While we have composition architectures and languages that describe how systems are put together out of atomic program parts, the parts themselves are still constructed on the basis of a previous paradigm: object-oriented programming. We argue that this mismatch impedes the progress of compositional software design: many of the assumptions that underlie object-oriented languages simply do not apply in the open and dynamic contexts of component software environments. What, then, would a programming language that supported component-oriented programming at the smallest granularity look like? Lagoona, our project to develop such a language, tries to answer this question. This paper motivates the key concepts behind Lagoona and briefly describes their realization (using Lagoona itself as the implementation language) in the context of Microsoft's NET environment.