Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!ucsd!hub!eiffel!bertrand From: bertrand@eiffel.UUCP (Bertrand Meyer) Newsgroups: comp.lang.c++ Subject: Re: EC++.TUTORIAL Summary: Why not the real thing? Message-ID: <208@eiffel.UUCP> Date: 25 Oct 89 13:57:57 GMT References: Distribution: comp.lang.c++, comp.object Organization: Interactive Software Engineering, Santa Barbara CA Lines: 44 If imitation is flattery, I certainly have reason to be honored by the recent ``EC++'' posting. With the exception of the garbage collection strategy (for which I believe our approach to be superior), everything it adds to C++ is directly lifted from Eiffel. The promised ``future developments'' have been present in Eiffel for years. If we ever needed a confirmation that we have been doing the right thing all along (rather than following whims of fashion), this is it. Reinventing the wheel (especially if done with some of the proper acknowledgments, as here) is permitted. In the meantime, of course, we are working on the next steps. Good luck anyway. I am afraid, however, that the path followed by the posting - yet another set of semi-compatible extensions to an obsolete technology - holds little promise. Although few will listen, as few have listened in the past, I will once again repeat Hoare's and Wirth's admonition: you don't build programming languages by adding features ad libitum. Hoare was reacting to the orgies of the sixties, but the present circumstances are not much better. Like any other good engineering design (or any good design whatsoever), a good programming language is defined as much by what it excludes as by what it includes. (See also my article in ``Structured Programming'', Vol. 10 no. 1, 1989, pages 10-39.) It is also rather saddening, after more than twenty years of use of the catchphrase ``software engineering'', to see programming language features defined in terms of translator's output, ``unraveling the stack'', ``longjmps'' and so on. This is not an inappropriate place to repeat (for those readers who prefer originals to imitations) that anyone is free and welcome to produce an implementation of Eiffel - compiler, interpreter, ... - as well as libraries, tools and the like. The name is a trademark and must be acknowledged, but that's all. It is so much more fun to do the real thing. -- Bertrand Meyer bertrand@eiffel.com -- -- Bertrand Meyer bertrand@eiffel.com