Path: utzoo!utgpu!attcan!uunet!husc6!cmcl2!rutgers!bellcore!faline!thumper!ulysses!andante!alice!bs From: bs@alice.UUCP (Bjarne Stroustrup) Newsgroups: comp.lang.c++ Subject: Re: Standards For C++ Summary: ``levels'' is a truly bad idea Message-ID: <8233@alice.UUCP> Date: 23 Sep 88 12:59:14 GMT References: <255@itivax.UUCP> <6590064@hplsla.HP.COM> <275@itivax.UUCP> Organization: AT&T Bell Laboratories, Murray Hill NJ Lines: 26 I think that having several ``levels'' of C++ language features is a truly bad idea. Essentially, all the features added to C++ since the book or under consideration (e.g. multiple inheritance, parameterized types, and exception handling) are there to help build better and more general libraries. For economic reasons library providers would feel oblidged to produce libraries for the lowest level of the language (to reach the greatest number of users) and such library interfaces would have to be expressed in the lowest ``level'' features. This would be a great disservice to all users, not least the novice and casual users. We already have this problem because you could consider C as ``level -2 C++'' so there is a great insentive to provide libraries that are common to C and C++. This implies that no classes, no overloaded functions, etc. may appear in the interfaces to those libraries. Yuck! Alternatively, there can be different interfaces from C and C++ but even this can seriously compromise the elegance of the C++ interface and bias the design and programming style. We will also get the problem repeatedly as we ramp up to the total set of facilities from the set available now. However, I think this will be manageable.