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.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,fc52c633190162e0 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news3.google.com!newshub.stanford.edu!headwall.stanford.edu!newshub.sdsu.edu!newscon04.news.prodigy.net!prodigy.net!newsdst01.news.prodigy.net!prodigy.com!postmaster.news.prodigy.com!newssvr29.news.prodigy.net.POSTED!4988f22a!not-for-mail From: Newsgroups: comp.lang.ada References: <1172144043.746296.44680@m58g2000cwm.googlegroups.com> <1172161751.573558.24140@h3g2000cwc.googlegroups.com> <546qkhF1tr7dtU1@mid.individual.net> Subject: Re: why learn C? X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.2180 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180 X-RFC2646: Format=Flowed; Original Message-ID: <5ZULh.48$YL5.40@newssvr29.news.prodigy.net> NNTP-Posting-Host: 70.134.112.39 X-Complaints-To: abuse@prodigy.net X-Trace: newssvr29.news.prodigy.net 1174412225 ST000 70.134.112.39 (Tue, 20 Mar 2007 13:37:05 EDT) NNTP-Posting-Date: Tue, 20 Mar 2007 13:37:05 EDT Organization: SBC http://yahoo.sbc.com X-UserInfo1: O@Y[R^[GZRRER_H]]RKB_UDAZZ\DPCPDLXUNNHPIMASJETAANVW[AKWZE\]^XQWIGNE_[EBL@^_\^JOCQ^RSNVLGTFTKHTXHHP[NB\_C@\SD@EP_[KCXX__AGDDEKGFNB\ZOKLRNCY_CGG[RHT_UN@C_BSY\G__IJIX_PLSA[CCFAULEY\FL\VLGANTQQ]FN Date: Tue, 20 Mar 2007 17:37:05 GMT Xref: g2news1.google.com comp.lang.ada:14565 Date: 2007-03-20T17:37:05+00:00 List-Id: "Marc Boyer" wrote in message > > > If you have time to give a long definition of Ada, just do it. > Definition is not a word that would apply when one is seeking a deeper understanding of a subject. One could provide a definition of calculus, quantum mechanics, or the word, virus, but a definition would not provide a deep insight into those subjects. Ada is a language designed to maximize the amount of error detection as early in the development process as possible, and throughout each subsequent step of that process. Ada provides the developer with more engineering tools and idioms for the development of software than one finds in a lot of other languages. A source code model, in the form of Ada package specifications, can be created long before anyone writes any algorithmic code. The entire design can be structured and tested prior to committing too much to small details. For a large project, where many thousands of lines of code are required, that project can be decomposed and distributed over several programming teams without excessive worry about whether the resulting code will conform to the design. Unlike the C family of languages, which are generally no help at all, an Ada compiler frequently eliminates the need for extensive debugging of silly errors; e.g., the kind that originate from case-sensitivity, wrong order of arguments to parameters, improper spacing, missing curly-braces, and the plethora of language "features" that plague those who have chosen to use any member of the C family of languages. It has always seemed rather odd to me that people who are as intelligent as programmers, rarely question the silliness of using tools such as C and C++ for serious work. They simply take for granted that the kind of errors that are so common in those languages are somehow akin to the laws of nature. Java inherits many of those same properties and is not much better. It is taken as an article of faith that programming involves heavy use of debuggers. Instead of asking why this is so, they simply believe it is a fundamental law of programming -- mainly because the languages they have chosen make it so. Ada is a programming language that makes it easier to focus on the design before dealing with the details of that design. Then, Ada makes it easier to ensure that the details conform to the design. I wonder why that is such a difficult concept for so many. Richard Riehle It always amazes me that someone would choose an error-prone programming language such as C++ and expect error-free programs.