21. – 26. Februar 1999, Dagstuhl-Seminar 99081

Component-based Programming under Different Paradigms


P. Wadler (Bell Labs), K. Weihe (Konstanz)

Auskunft zu diesem Dagstuhl-Seminar erteilt

Dagstuhl Service Team


Dagstuhl-Seminar-Report 231

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:

  1. A common language of discourse across the cultures.
  2. A process for transferring theoretical insights and practical know-how.
  3. A list of problems arising in combined applications of different programming styles.


In der Reihe Dagstuhl Reports werden alle Dagstuhl-Seminare und Dagstuhl-Perspektiven-Workshops dokumentiert. Die Organisatoren stellen zusammen mit dem Collector des Seminars einen Bericht zusammen, der die Beiträge der Autoren zusammenfasst und um eine Zusammenfassung ergänzt.


Download Übersichtsflyer (PDF).


Es besteht weiterhin die Möglichkeit, eine umfassende Kollektion begutachteter Arbeiten in der Reihe Dagstuhl Follow-Ups zu publizieren.

Dagstuhl's Impact

Bitte informieren Sie uns, wenn eine Veröffentlichung ausgehend von
Ihrem Seminar entsteht. Derartige Veröffentlichungen werden von uns in der Rubrik Dagstuhl's Impact separat aufgelistet  und im Erdgeschoss der Bibliothek präsentiert.