From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00,LOTS_OF_MONEY autolearn=ham autolearn_force=no version=3.4.5-pre1 Date: 4 Dec 92 20:18:16 GMT From: happy.colorado.edu!srheintze@boulder.colorado.edu Subject: C++ vs. Ada -- Is Ada loosing? Message-ID: <1992Dec4.141816.1@happy.colorado.edu> List-Id: There are a lot of people out there who think C++ is the greatest thing since sliced bread. C++ is a truly wonderful toy because you can redefine the language for your application. For example you can provide the function that is invoked in response to assignment so you can optimize your matrix class to (1) only pass a pointer to the matrix data instead of actually making a physical copy and (2) defer the actual copy operation to the point in time when (and if) the target of the assignment is modified. This is impressive. HOWEVER, please read "A dynamic Vector is harder than it looks" from the June 1992 is issue of JOOP (Journal of Object Oriented Programming) - vol 5 no 4. *THIS ARTICLE IS SCARY* Basically Tom Cargill pointed out a bug that nearly all C++ textbooks have made when they implement a dynamically sized array. This includes the textbook written by the implementor of the AT&T Cfront compiler (will I get in trouble if I mention his name?). If the language is so convoluted that even the experts (including the compiler writers) cannot get their simple textbook examples correct, then I conclude there is something drastically wrong with the language. I don't want anybody writing code in C++ for satellites funded with my tax dollars! I heard a rumer about a multi-million (or multi-billion) dollar satellite going astray because some one left a comma out of a FORTRAN DO loop and it was still syntactically legal. Can anybody give me a reference on this? So we have C++ with very similar problems to this problem in FORTRAN that (I believe, correct me if I am wrong) Ada was supposed to solve. You can insert a ";" between the ")" and the "{" in any while or if statement and the C++ program is still syntactically correct but semantically disasterous. So, Ada was on the seen. I spent some significant time as a project lead with Ada in '89-90. I was excited about the language. Now I am independent and make my living with C++. Where is Ada going? Is it dying? That thread on "Is GNU-Ada self-insulting" suggests that Ada is floundering. How badly is Ada floundering? Does that mean I'll never see inheritance in Ada? Thanks, Sieg