Component-oriented programming in object-oriented languages
Current approaches to component-oriented programming are based on traditional object-oriented languages and concepts. However, most existing object-oriented languages fail to address subtle interface compatibility issues that become paramount in a component-based setting. We explore both syntactic and semantic interface incompatibilities and discuss why they are difficult to handle. We argue that resolving these incompatibilities requires breaking with a fundamental idiom of object-oriented languages: the subordination of messages to interfaces and classes. We propose a solution based on the concept of stand-alone messages as found in the experimental programming language Lagoona and discuss its ramifications.