Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!cmcl2!brl-adm!adm!dsill@NSWC-OAS.arpa From: dsill@NSWC-OAS.arpa (Dave Sill) Newsgroups: comp.lang.c Subject: Re: \"C\" vrs ADA Message-ID: <8993@brl-adm.ARPA> Date: Tue, 25-Aug-87 12:50:14 EDT Article-I.D.: brl-adm.8993 Posted: Tue Aug 25 12:50:14 1987 Date-Received: Wed, 26-Aug-87 06:37:12 EDT Sender: news@brl-adm.ARPA Lines: 63 >From: Eric Beser sys admin >... Ada is a verbose language (if rich can be stated in any other >words). But it is that richness that makes the language so useful. I'm afraid I don't see the connection between richness and verbosity implied here. >... Ada is not just a computer language, >it is a software engineering methodology. I don't agree. Ada *is* just a language. Software engineering *requires* things that Ada simply can't. The most important of these, I think, would be design. You know, all that work that's supposed to be done *before* coding begins. >Many customers who originally requested C are now asking for Ada. The customer's always right, huh? :-) > : >This design change proliferated itself through the entire system. The coding >for this change took about a man-month, but the debug and reintegration >phase took only two days. The system ran as before, must more efficient >due to the design change. Had the code been written in C, this would not >have happened. Many of the errors that were interjected by the engineers >were due to spelling, wrong variable selection, or unhandled boundary >conditions. These errors would not have come out during C compilation. No, but they would probably have shown up during linting, with the exception of unhandled boundary conditions. I don't think there's anything in the C language that specifically precludes the type of strictness Ada enforces. However, the approach usually taken by C implementors is to let compilers compile and syntax checkers check syntax. Granted, run-time error checking for C is usually poor or non-existent, but there have been implementations with quite good run-time support (Safe-C comes to mind, but I can't remember the name of the vendor). > : >My suggestion is that you learn software engineering, object oriented >design, and the use of software tools. Then learn Ada. Good advice, but I think the "learn Ada" part is not as important as one might think. Software engineering principles are valid across language barriers, there are object-oriented languages based on C, and there are, of course, quite a few tools available to C programmers. If you want to learn Ada, by all means, learn it. Just don't expect it to magically solve all your problems. >You will find >that the C will come in handy when you have to try to understand what >some engineer did so to do an Ada redesign. I can't understand this sentence at all. -Dave Sill "It is the tragic fate of most individuals dsill@nswc-oas.arpa to die before they are born." -Erich Fromm The opinions expressed above are those of the author and do not necessarily reflect those of the Department of Defense or the U.S. Navy.