gabriele@foresthill.toronto.edu (Mark Gabriele ) (10/31/89)
The following is a portion of a project proposal for a master's course in language design. I am posting it here because I've been having difficulty locating good sources of discussion of libraries for object-oriented languages, and I would greatly appreciate any pointers that readers of this newsgroup can think of. =-=-= Object-oriented languages are intended to make the software implementor more efficient by stressing reusability of software. This, in turn, is accomplished in part by providing libraries of software which can be invoked whenever needed. Perhaps the most important aspect of an object oriented language which touts reusability as its outstanding feature is the ease with which its library classes can be applied to the everyday programming needs of the people who use the language. If the library of an object-oriented language is so important, then what goes into the library? How does the designer of the language decide what should be there and what should be excluded? Is there some algorithm which can assist the designer of an object-oriented language in determining what library classes should be distributed with the language? The project which I have undertaken is to study the makeup of several object-oriented languages' libraries (Smalltalk, Eiffel, C++, others if the information is available) and ascertain what elements they have in common, and what they lack. It may be reasonable to assume that some commonality exists among their libraries. If this is true, then it may be possible to develop a rudimentary algorithmic test for inclusion in an object-oriented language library which may be applied to candidate library classes. The result of this project will be a paper detailing my findings about the makeup of libraries for object-oriented languages. Responses to either myself or the net are welcomed. If I get several, I will be happy to summarize and post here. My thanks in advance. Mark Gabriele, University of Toronto (gabriele@hub.toronto.edu)