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,9cccf6ef6149fdaa X-Google-Attributes: gid103376,public From: rracine@myremarq.com (Roger Racine) Subject: Re: Ada Date: 1999/12/23 Message-ID: <386216c3.172629337@news.draper.com>#1/1 X-Deja-AN: 565444298 References: <38620350.48F8FC08@gecm.com> X-Complaints-To: abuse@draper.com X-Trace: news.draper.com 945956275 16316 140.102.40.31 (23 Dec 1999 13:37:55 GMT) NNTP-Posting-Date: 23 Dec 1999 13:37:55 GMT Newsgroups: comp.lang.ada Date: 1999-12-23T13:37:55+00:00 List-Id: On Thu, 23 Dec 1999 11:11:12 +0000, Brijesh wrote: >I am fairly new to Ada programming and have a rather trivial question I >was hoping the group could help answer. > >I understand Ada is a very powerful language but is not used much >outside the defence industry, I was woderign if this is a correct >assumption and if so why is this the case - and if not where else is it >used. > >Thanks, > >Brij > You actually have 2 questions, only 1 of which is trivial: 1) Is Ada used much outside the defence industry? 2) If not, why not; if so where? 1) Ada is not used "much" anywhere, inside or outside the military, if you compare it with C. It is, however, being used by "many" organizations both within and outside the military. This should be a trivial question since the number is some finite countable positive integer. Unfortunately, I do not think anyone knows the exact number. 2) Ada is being used in communication systems (TopLayer is one example), airplanes (Boeing), space systems (NASA), teaching, compilers (ACT), etc. The list is not small unless it is compared with the equivalent list of C projects. The hard part of your second question is "why not?" There are so many reasons, none of which are very "good" (which is why those of us who still advocate its use are still doing so). At the risk of getting into another language war, here goes: 1) Control theory. C is in a positive control loop; Ada is in a negative loop. C is popular. Therefore people want C on their resumes. Therefore people want to do projects in C. Therefore companies provide tools for C development. Therefore libraries for C are written. Ada is not popular. Therefore people do not want Ada on their resumes. I know of people who have threatened to quit if they were forced to use Ada, since they thought they were becoming unwanted. 2) Time to Market. Ada is a readable language. C is a writeable language. People think they are more productive using C because they get to integration faster, and they might get a software system to market sooner than with Ada. Ada will allow people to find certain errors more easily, but this is not perceived to be a significant enough improvement, and for most commercial software, getting all the bugs out is not necessary to getting a product out. 3) Philosophy. I am treading on thin ice here, but there is possibly an innate human trait to need recognition. With C, you need gurus who are great at finding the subtle problems. These people are less important in Ada projects, and therefore are less happy. I will admit that one of my current projects is being done in C, and we had a code peer review the other day. I found some very significant defects, that probably would not have been found until very late in the testing. Everyone praised me for finding these defects, and I felt very good. The defects could not have existed in Ada. Special recognition in Ada projects has to come in other ways, and will generally come to a different group of people, and possibly fewer. 4) First impressions last a long time. The first impression many people had with Ada was that the language had shortcomings for real-time systems. In fact, the Ada conferences and publications had many articles on what was wrong with the language. The compiler vendors tried to provide ways to get around the problems, but then code was not portable. This left a very bad feeling in people who used Ada 83. They are not interested in even looking at Ada 95. 5) Tools. Books, compilers, development environments, are all more available and cheaper for C than for Ada. I can go into a local computer store and find Visual C++ for some small amount of money (I have seen it, but have not bought it, so I do not remember the exact amount). To get an equivalent Ada development environment (supported), I have to go to a vendor, and the cost will probably be at least an order of magnitude more. This brings one into economics. If Visual C++ costs the same to produce as some Ada compiler, but 100 times more copies of Visual C++ are sold, what is the difference in profit for Microsoft if they sell theirs for 1/10 the price? It is not trivial to answer this (since it depends on the cost of initial development, the value of stock options, the cost of distribution, the cost of lawyers, etc.), but it can be more profitable. Does this help explain the current situation? This is probably way too simplistic. I forgot to even mention the DoD mandate. Roger Racine