Software Tools in a Programming Workshop
When we began, some years ago, building a programming environment for the logical programming language Prolog, the goals we had in mind were predominantly technical ones. Our basic aim was to combine the logical and object-oriented programming styles and to compile a set of tools for constructing Prolog software in a uniform environment. Once we felt we had found satisfactory solutions to the problems involved, we released the programming environment for use by other development groups. We were astounded to find that the external use of our environment led to a number of unexpected problems. We then began not only to eliminate technical errors and inconsistencies, but also to reflect on how it was possible for these problems to arise. The conclusion we reached was that we needed to find answers to a number of questions which went well beyond the original technical problems:
What are the building blocks of a programming environment and how can they be “invented”?
What is a good building block and how can it be smoothly integrated into an environment?
How does an operational building block become an integral part of the developer’s daily work?
What are we doing when we develop a programming environment and what are we doing when we work with it?
KeywordsRecombination Production Line Conglomerate Metaphor
© Springer-Verlag Berlin Heidelberg 1992