From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,effb80d4bb7716dd X-Google-Attributes: gid103376,public From: Richard D Riehle Subject: Re: Wanted: Ada STL. Reward: Ada's Future Date: 1999/02/05 Message-ID: <79fgt6$1ed@dfw-ixnews9.ix.netcom.com>#1/1 X-Deja-AN: 441098000 References: <790f4q$3l@bgtnsc01.worldnet.att.net> <36B856E4.D921C1D@bton.ac.uk> <36BAEA8B.5B375A30@bton.ac.uk> <36BB3910.B460D8B@averstar.com> Organization: Netcom X-NETCOM-Date: Fri Feb 05 1:30:46 PM CST 1999 Newsgroups: comp.lang.ada Date: 1999-02-05T13:30:46-06:00 List-Id: In article <36BB3910.B460D8B@averstar.com>, Tucker Taft wrote: >In my view, the C++ STL is (appropriately) following along in the >general C/C++ philosophy emphasizing writability over readability. It has been said that C is a universal assembler. Sometimes I think C++ is a class-based universal assembler. STL is a collection of macros a class-based universal assembler. This is not evil. It is often a useful view since such a perspective serves as a warning to the developer about the risks associated with using C++ for creating reliable software. Once a programmer accepts the reality of those risks, she/he can successfully create high quality software. Many of those risks are absent in Ada. However, Ada has risks that are addressed better in C++. For example, access parameters in Ada 95 functions permit modification of the content of a record (struct). A C++ function can be defined with a const for the function or the parameter to ensure that the function is a "query only" function. For Ada programmers, the syntax is equivalent to constant function F1 (A : access T) return Y; which guarantees that no updating capability is possible in this function (like a protected function), or function F2 (A : access constant T) return Y; which guarantees that no update of any part of A is permitted. There are features of C++ which some might say are "better" than Ada. The point is that comparing languages at this level is unprofitable. I prefer Ada for any software that is important, but I can see a lot of ideas in C++ and Eiffel that are attractive language features. Richard Riehle richard@adaworks.com http://www.adaworks.com