Dagstuhl-Seminar 99081
Component-based Programming under Different Paradigms
( 21. Feb – 26. Feb, 1999 )
Permalink
Organisatoren
- K. Weihe (Konstanz)
- P. Wadler (Bell Labs)
Kontakt
Throughout the last decades, much research has focussed on object-oriented, template-oriented, and functional programming techniques. However, there is not much interaction between these research communities. Although there is a high overlap of fundamental ideas and concepts, ideas are expressed in terms of sharply different language features. Worse, the public discussion in each of these communities seems to be dominated by a "purist" viewpoint, which regards the other paradigms as strongly inferior.
Recently, new threads of research have been initiated that try to find practical combinations of different programming styles in mainstream programming languages. This research is centered around Java and C++. Java has turned out to be too restricted for many applications. Consequently, a number of extensions to Java have been proposed and implemented, to add parametric and functional features. On the other hand, the full power of the generic features of C++ and the possibility to simulate other features from the functional realm have been discovered only recently. Since the C++ standard library - and many other recent libraries - is designed according to these principles, there is a practical need for further research on combinations of generic and functional techniques with an object-oriented programming style.
The notion of components, or component-based programming, seems to be a useful fundament for this kind of research. The meaning of this word is intuitive: programs are broken down into primitive building blocks, which may be flexibly "plugged together" according to well-defined protocols. In fact, each of the above-mentioned programming paradigms may be viewed as an attempt to realize such a component-based programming style, however, the definition of components and the techniques for combining them varies significantly. Hence, analyzing these differences is crucial for a deeper understanding of the problem.
The main goal of this seminar is to bring people from these different worlds together, to have fruitful discussions, and to share knowledge across the borderlines of languages and paradigms. Theoretical insights are welcome, but we want to put emphasis on practical know-how. Every participant is expected to give a talk about his or her work and to discuss this work in view of these goals.
By the end of the seminar, we would like to come up with the following results:
- A common language of discourse across the cultures.
- A process for transferring theoretical insights and practical know-how.
- A list of problems arising in combined applications of different programming styles.
- K. Weihe (Konstanz)
- P. Wadler (Bell Labs)