bertrand@eiffel.UUCP (Bertrand Meyer) (07/26/90)
The following list answers a frequently asked question. The list was prepared fairly quickly and is not guaranteed to be complete. It will be updated as new articles appear, or omissions are pointed out to us. AN EIFFEL BIBLIOGRAPHY August 1990 The documents listed below describe various aspects of Eiffel: the language, the supporting environment (in Interactive's implementation), and its practical use. Most articles without an author indication are by B. Meyer. All are available from Interactive Software Engineering Inc. and other Eiffel distributors, under the Technical Report numbers (TR-EI-``n/CC'') given (some of them only as part of the book ``An Eiffel Collection'', as indicated below). Not included in the list below are the proceedings of the International Eiffel Conferences'' (Paris, 1988; San Diego, 1988; Paris, 1989; New Orleans, 1989; Paris, 1990). These proceedings, containing a number of interesting articles about actual user experiences with Eiffel, were distributed to conference participants but have not been republished. The list uses an order which is not chronological, but but goes from the more general documents to the more specific ones. 1. ``Object-Oriented Software Construction'', a book published by Prentice-Hall. 534+xviii pages. Explains the Eiffel approach to the design and implementation of high-quality software. TR-EI-10/OO. ISBN 0-13-629049-3. Paperback (not available in US): 0-13-629031-0 2. ``Eiffel: An Introduction''. Presents a brief overview of the language and Interactive's environment. TR-EI-3/GI. Version 2.3, August 1990 3. ``Eiffel: The Language''. Provides a complete description of the language. Intended as reference rather than pedagogical introduction. Was written both for users of existing Eiffel implementations and for developers of new implementations. TR-EI-17/RM. Version 2.3, August 1990 4. ``Eiffel: The Libraries''. Describes the Eiffel Libraries of reusable software components. TR-EI-7/LI. Version 2.3, August 1990 5. ``Eiffel: The Environment''. Shows how to use Eiffel in practice through the tools of Interactive's Eiffel environment (compiling, debugging, browsing). TR-EI-5/UM. Version 2.3, August 1990 6. ``An Eiffel Collection''. A collection of articles, many of them published in journals or conference proceedings, describing various aspects of Eiffel and Interactive's environment. Articles appearing in this volume are marked in the right margin below. (This book.) TR-EI-20/EC. Version 2.3, August 1990 7. ``Release 2.2 Overview''. Surveys the enhancements and extensions introduced in release 2.2 of Eiffel (August 1989). TR-EI-16/22. August 1989. 8. ``Release 2.3 Overview''. Surveys the enhancements and extensions introduced in release 2.3 of Eiffel (September 1990). TR-EI-16/23. August 1990 9. ``From Structured Programming to Object-Oriented Design: The Road to Eiffel''. Appeared in ``Structured Programming'', Volume 10, Number 1, pages 19-39, January 1989. A free-form discussion of the thinking that led to the design of Eiffel. Reproduced in ``An Eiffel Collection''. 10. ``Conversation with Editorial Board Member B. Meyer''. Appeared in ``Journal of Object-Oriented Programming'', Volume 2, Number 2, pages 41-42, May- June 1989. An interview where the author explains some of the background that led to Eiffel, and his views of the evolution of object-oriented technology. Reproduced in ``An Eiffel Collection''. 11. ``The New Culture of Software Development: Reflections on the Practice of Object-Oriented Design''. Appeared in ``TOOLS 1'' (Technology of Object-Oriented Languages and Systems, Paris, November 1989), SOL, Paris, pages 13-23, November 1989. A broad discussion of object-oriented programming as a new culture, the ``component culture'', implying a radical departure from the traditional ``project culture''. Addresses the managerial and organizational consequences of introducing object-oriented technology, with its emphasis on reuse, in a corporate environment, with some practical advice for easing the transition. Reproduced in ``An Eiffel Collection''. 12. ``Sequential and Concurrent Object-Oriented Programming''. Appeared in ``TOOLS 2'' (Technology of Object-Oriented Languages and Systems, Paris, 23-26 June 1990), Angkor/SOL, Paris, pages 17-28, June 1990. Justifies and describes a concurrency mechanism for Eiffel, meant to cover parallel, coroutine, real-time, distributed and process control applications. Reproduced in ``An Eiffel Collection''. 13. ``Tools for the New Culture: Lessons from the Design of the Eiffel Libraries''. To appear in ``Communications of the ACM'', September 1990. Discusses the design and implementation of the Eiffel libraries, and general principles for developing good libraries of reusable software components. Reproduced in ``An Eiffel Collection''. 14. ``Programming as Contracting''. Reviews the Eiffel approach to software reliability, emphasizing assertions, disciplined exceptions and controlled inheritance. TR-EI-12/CO. Version 2, March 1988. Reproduced in ``An Eiffel Collection''. 15. ``A Development in Eiffel: Design and Implementation of a Network Simulator'', by Cyrille Gindre and Fre'de'rique Sada. Appeared in ``Journal of Object-Oriented Programming'', Volume 2, Number 2, pages 27-33, May-June 1989. A report on the experience of developing an industrial product with Eiffel at Thomson-CSF. Includes discussion of design issues and methodology, and some measures on the resulting product, in particular the reusability factor, Reproduced in ``An Eiffel Collection''. 16. ``Reusability: The Case for Object-Oriented Design''; appeared in ``IEEE Software'', March 1987. Analyzes the object-oriented approach to software reusability, emphasizing the Eiffel approach through examples. TR-EI-6/RE. Version 1.2, September 1986. Reproduced in ``An Eiffel Collection''. 17. ``Genericity versus Inheritance'', Proceedings of ACM OOPSLA Conference, Portland, Sept. 1986, SIGPLAN Notices, 21, 10, pp. 391-405; revised version appeared in ``Journal of Pascal, Ada and Modula-2'', 1987. Compares the object-oriented notion of inheritance with the genericity mechanism of Ada. Explains how the two concepts were reconciled by the design of Eiffel, and describes Eiffel's generic (parameterized) classes. TR-EI-8/GI. Version 2, 1987. 18. ``Bidding Farewell to Globals''. Appeared in ``Journal of Object-Oriented Programming'' (Eiffel column), Volume 1, Number 4, pages 73-76, August- September 1988. An explanation of why global variables, which hamper software quality, do not exist in Eiffel, and a presentation of Eiffel techniques for sharing information between modules. Reproduced in ``An Eiffel Collection''. 19. ``Harnessing Multiple Inheritance''. Appeared in ``Journal of Object-Oriented Programming'' (Eiffel column), Volume 1, Number 5, pages 48-51, November- December 1988. Reproduced in ``An Eiffel Collection''. 20. ``You can write, but can you type?''. Appeared in ``Journal of Object-Oriented Programming'' (Eiffel column), Volume 1, Number 6, pages 58-67, March-April 1989. An introductory discussion of what typing means in the object-oriented context. Reproduced in ``An Eiffel Collection''. 21. ``Static Typing for Eiffel''. Technical Report TR-EI-18/ST, Interactive Software Engineering Inc., July 1989 (revised from January 1989 version). A detailed technical discussion of some of the more intricate aspects of static typing for object-oriented programming, explaining the design choices made in Eiffel. TR-EI-18/ST. July 1989 (revised from Jan. 1989 version). Reproduced in ``An Eiffel Collection''. 22. ``Pure Object-Oriented Programming with Eiffel''. Appeared in ``Programmer's Update'', pages 59-69, February 1990. An interview where the author explains some of the key Eiffel ideas. Reproduced in ``An Eiffel Collection''. 23. ``Object-Oriented Analysis: Case Studies'', by Jean-Marc Nerson, Tutorial Notes for TOOLS 2 (Technology of Object-Oriented Languages and Systems, Paris, 23-26 June 1990). Describes an object-oriented system analysis method. The notation is Eiffel-based. TR-EI-25/AN. Version 1, June 1990. 24. ``Objective Reality'', by Alan Winston. Appeared in ``Unix World'', pages 72-75, April 1990. Taken from an article on applications of object-oriented programming, this extract gives the view of a user company developing telecommunication applications in Eiffel. Reproduced in ``An Eiffel Collection''. 25. ``The Eiffel Environment''. Appeared in ``Unix Review'', Volume 6, Number 8, pages 44-55, August 1988. Describes the tools supporting software development in Interactive's implementation of Eiffel, as they existed in 1988. Reproduced in ``An Eiffel Collection''. 26. ``Ce'page User's Manual''. Introduces the general-purpose Ce'page language-customizable editor; a specialized version of this editor exists for Eiffel. The Ce'page system itself, entirely written in Eiffel, is an example of a large application made possible by the approach. TR-CE-4/UM, version 1.3, June 1988. Reproduced in ``An Eiffel Collection''. 27. ``Eiffel: A Language and Environment for Software Engineering''. Appeared in ``Journal of Systems and Software'', 1988. Offers a detailed introduction to the language and Interactive's environment as they existed in 1988. TR-EI-2/BR. Version 2.2, January 1987. 28. ``Eiffel: Programming for Reusability and Extendibility''. Appeared in ``ACM SIGPLAN Notices'', Volume 22, Number 2, pages 85-94, February 1987. The first published introduction to Eiffel. ``Eiffel: an Introduction'' is an updated version. 29. ``Eiffel: Object-Oriented Design for Software Engineering'' by B. Meyer, Jean-Marc Nerson and Masanobu Matsuo. Appeared in Proceedings of ESEC 87 (First European Software Engineering Conference), Strasbourg, 8-11 September 1987, Springer-Verlag, Lecture Notes in Computer Science, Berlin-New York, 1987. An overview of the principles of Eiffel, describing the then current state of Interactive's implementation. 30. ``Eiffel Installation Manual''. Instructs on how to install Eiffel on a computing system. TR-EI-4/IM. Version 2.3, August 1990 -- -- Bertrand Meyer bertrand@eiffel.com