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,9e0e0d4450d54dbe X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!postnews.google.com!g43g2000cwa.googlegroups.com!not-for-mail From: "jimmaureenrogers@worldnet.att.net" Newsgroups: comp.lang.ada Subject: Re: Free e-book discussing the C Standard Date: 5 Jul 2005 06:00:25 -0700 Organization: http://groups.google.com Message-ID: <1120568425.629217.191360@g43g2000cwa.googlegroups.com> References: <1120505452.793985.251860@o13g2000cwo.googlegroups.com> NNTP-Posting-Host: 69.170.70.49 Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" X-Trace: posting.google.com 1120568431 1957 127.0.0.1 (5 Jul 2005 13:00:31 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Tue, 5 Jul 2005 13:00:31 +0000 (UTC) In-Reply-To: User-Agent: G2/0.2 Complaints-To: groups-abuse@google.com Injection-Info: g43g2000cwa.googlegroups.com; posting-host=69.170.70.49; posting-account=SqOfxAwAAAAkL81YAPGH1JdBwpUXw9ZG Xref: g2news1.google.com comp.lang.ada:11864 Date: 2005-07-05T06:00:25-07:00 List-Id: Derek M Jones wrote: > Jim, > > Looks like you are a fast reader. > > > Your work certainly has a negative point of view concerning Ada. > > I think you are reading what I wrote through Ada 'tinted' glasses. Perhaps, but I also think you are looking at Ada with C 'tinted' glasses. > > > You suggest that Ada was more expensive than C for DoD development > > because of the number of cancelled Ada projects. > > Subsection 8.6 of sentence 0 does not make a comparison against C. > > > This implies that > > the number of cancelled projects in Ada was significantly more than > > the number of cancelled projects in C for the same period, or over any > > similar period. > > The total cost of a project would also need to be taken into > account. There is no specific comparison against C. If there is no comparison against C, then why is this contents even in a work about C? Without a comparison, at least implied, there seems to be no reason to mention Ada in your writing. > > > Do you have any studies showing the cancellation > > rates of Ada projects versus projects in C? > > No I do not. Do you? I suspect that many projects are cancelled > for non-programming language related reasons. I agree. There are very few useful studies comparing languages. My experience shows that most projects are cancelled for many reasons that have no bearing on the language used. > > > Do you have any studies showing that the up-front development costs > > of Ada programs exceeded those of C programs when normalized on > > project complexity? > > I have failed to find much reliable data on this subject. > Do you have any? I have only one such study. http://www.adaic.com/whyada/ada-vs-c/cada_art.html > > > During the time of the DoD Ada mandate many people insisted on using > > validated Ada compilers while they were not concerned about using > > validated C compilers. How do you explain that, except for an > > irrational preference for C over Ada? > > I am sure there have also been plenty of instances of an irrational > preference of Ada over C. I am not so sure. If there had been, then Ada would be used more instead of C. > > > You note that the directive > > mandating the use of Ada was cancelled in 1997. Do you know why it > > was cancelled? > > Is there a reason other than that stated in the quoted reference? The reason stated by Rod Page at the time he cancelled the mandate was that Ada was now a mature language and did not need any special protection. It also appeared at the time that the DoD no longer wanted to fund its Ada enforcement bureaucracy. > > > Of course, there was never a mandate to use C. Cancellation of the > > Ada mandate simply placed C and Ada on the same footing as far as > > the Dod was concerned for choice of languages. It did not reject > > Ada as a language. > > While I did not say it did, it is does represent a big climb down > (given the commitment previously given to the language). > It certainly appeared that way at the time. It still does appear that way. > > Cancellation of the Ada mandate was part of a larger trend in the > > DoD to move towards Commercial Off The Shelf (COTS) solutions. > > I don't see a causal connection between the two. > Ada was viewed by DoD upper management as a language designed specifically for military use. In their mind they associated Ada with $1000.00 toilet seats and other costly items designed specifically for military use. The reasoning seemed to be along the lines of "If the military can get by with commercial toilet seats, then why not also use commercial programming practices and tools?" > > I wonder how well C is really suited for modern system development > > when we need to deal with complex parallel systems using multi-core > > CPUs. There are certainly C threading libraries. In fact several > > flavors of C threading libraries exist. Threading libraries are not > > yet part of any C standard. Does the lack of any C standard for > > threading (or concurrency in general) make C more attractive for > > development of concurrent system than Ada? I do not see how this > > could be true. > > Why do people choose to use one language over another? It > often seems to be the case that people rationalise their decision > after they have made it. That is certainly true about human behavior in general, and is not isolated to choosing programming languages. > > > You state that C is based on a single-threaded execution model. > > C also deals with the interrubtability of functions due the receipt > > of an interrupt. > > > > Ada has built-in concurrency. Interrupt handling for Ada 95 is > > built on its built-in concurrency. An Ada interrupt handler can > > be implemented as a simple task suspended on a protected entry > > associated with the interrupt. Only that task needs to deal with > > the interrupt. > > > > The single-threaded model of C presents more detailed complexity > > to the C programmer when dealing with concurrency than the tasking > > model does to the Ada programmer. This complexity is a paradox to > > the C model of simplicity. The extra complexity faced by the C > > programmer invites human error. The extra simplicity faced by the > > Ada programmer reduces the opportunities for error. > > The term lower complexity is better than extra simplicity. > I would agree that reducing complexity can reduce the number > of errors made. > > Ada has a particular model of concurrency. I would expect fewer > concurrency related errors to be made, compared to C, for those > cases where the application concurrency model had a straight > forward mapping to the Ada concurrency model. When there is not > a good fit between concurrency models it is can be very difficult > to estimate relative complexity. The only currently popular concurrency model not directly supported by the Ada concurrency model is lock-free synchronization. Ada is no more complex to use for lock-free algorithms than is C. > > > Correct > > programs can be written in either language. Incorrect programs > > can also be written in either language. This does not imply parity. > > More errors will be created in the environment where errors are > > easier to create and harder to avoid. Fewer errors will be created > > in the environment where errors are harder to create and easier to > > avoid. > > I would not make a easy/hard distinction. People make mistakes > for a variety of reasons, including information overload (really > another term for complexity), ignorance, lack of competence, etc. I was making the broad assumption that "all other factors are equal" with regard to ignorance, lack of competence, etc. Jim rogers