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,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,5faad1722103f6a7 X-Google-Attributes: gid103376,public Path: g2news1.google.com!news1.google.com!news.glorb.com!news.moat.net!border1.nntp.sjc.giganews.com!nntp.giganews.com!local1.nntp.sjc.giganews.com!nntp.comcast.com!news.comcast.com.POSTED!not-for-mail NNTP-Posting-Date: Wed, 09 Jun 2004 01:31:19 -0500 Date: Wed, 09 Jun 2004 02:31:19 -0400 From: "Robert I. Eachus" User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax) X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: 7E7 Flight Controls Electronics References: <90Stc.15309$be.3117@newsread2.news.pas.earthlink.net> <40b86431$0$186$edfadb0f@dread11.news.tele.dk> <40B888E0.5040707@noplace.com> <40B8C86A.3050302@noplace.com> <40BE6BFD.8030305@noplace.com> <40BF141F.8020001@noplace.com> <40C38E7C.64564F@notes.udayton.edu> <40C44F24.8010902@noplace.com> In-Reply-To: <40C44F24.8010902@noplace.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Message-ID: NNTP-Posting-Host: 24.147.90.114 X-Trace: sv3-mL6WsZzy2exW4hZQ1wXURQrDEG6x2DQCnBMxcgKDc8IMl7dN7BpAbwarU6ZoLSe3uTNoe1X/qiC7CQr!3YqhNMsVdvv0mjloP+WAkRVdK3L6dN3FW7pl03kTNWjaBP9z5msTObYfzq+o+g== X-Complaints-To: abuse@comcast.net X-DMCA-Complaints-To: dmca@comcast.net X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.1 Xref: g2news1.google.com comp.lang.ada:1271 Date: 2004-06-09T02:31:19-04:00 List-Id: Marin David Condic wrote: > Ada, OTOH tried to address the needs of embedded systems programmers and > missed the mark for a variety of reasons. Probably chief among them was > that embedded programmers already had something - C - which was cheap > and small and could be made to fit just about any processor - and was > available for just about any microprocessor. Ada was huge and cost a > fortune and couldn't be made to work for small microprocessors and was > not available for most targets. Given that people had choices and Ada > wasn't meeting their needs, mandate or not, they went elsewhere. > > The moral of the story: Find out what the customer wants/needs before > you build a huge product and try to sell it to them. No, the HOLWG hit the mark they were aiming at. They wanted to reduce the 800 or so programming languages in use by the DoD, and they succeeded. DoD1 was expected to provide a 'language of last resort', so that the DoD could provide a development environment for DoD1, which became Ada, that would make it usable for any embedded DoD software project. What people on the front lines missed totally about the development of Ada by the DoD was that the goal was not really to force everyone to use one language. It was to be able to say, "No we will not fund you to develop a compiler for this neat new language as part of this procurement project. Here is a list of languages you can use. If you need modifications to a compiler to support particular requirements, we are willing to discuss it. But we won't support any effort to create a new programming language, or modify an existing one. So from the HOLWG point of view Ada succeeded. The lofty goals expressed by government functionaries along the way were nice dreams, the big wonderful thing that the HOLWG got right, was to design the language to meet their requirements before they started implementing it. Compare it to many of the other programmng languages that the DoD sponsored over the years. Many of you may have heard of JOVIAL, which Ada replaced in the Air Force. (There are still systems flying out there written in Jovial, in fact AWACS is still using J3I for part of its systems. RSIP replaced most of the radar system sofware with Ada.) But what about TACPOL? That was the Army's favorite programming language before Ada. The Navy used CMS-2, well CMS-2M and CMS-2Y, just as the Air Force had two different versions of Jovial, J3B and J3I that were combined into J73. Are you seeing a pattern here? Contractors developed compilers for langauges that weren't well specified in advance, and the difference between compilers was big enough that the dialects were treated as different languages. That was why the Ada program said that compilers were required to implement the whole language and only the Ada language, no supersets or subsets. Projects could develop policies that subsetted the language if they chose, and in fact early on it was expected that many programs would not use Ada tasking and others would not use Ada generics. (This was before Text_IO was created which meant that almost everyone would need to use some generics.) We figured, before the name Ada was ever associated with it, that it the HOLWG could get the number of programming languages in use in the DoD below 50, that would count as success. Right now, my guess is that there are less than a dozen general purpose programming languages in use on DoD programs. Just so I don't get accused of being a pollyanna, the HOLWG also failed, big time. There were three parts to HOLWGs plans. First develop the language, and sponsor compiler developments. Then design a development environment for DoD1 (Ada) program development. But the "competition" between two government funded compiler developments, the ALS at Softech, and the AIE at Intermetrics, got way out of hand. There was some justification for the AIE project to design a development enviroment that their Ada compiler would be a part of--the contract anticipated contracting for the development environment after the compiler was ready. However, the ALS project seems to have "just grown" to include a development environment that wasn't in the original contract. On both projects, resources that should have been focused on creating a decent compiler got lost in feeping creaturism. The Intermetrics team finally was given a "stop work" order for anything not part of the compiler, and the Intermetrics compiler eventually turned out to be pretty decent. Another little detail was that the Intermetrics compiler was supposed to target IBM mainframes and Interdata 32 systems. Before the compiler was finished, I think that Interdata was acquired, by Perkin Elmer I think, and I don't know if that version of the Intermetrics compiler ever made it to market. As for the IBM mainframe targets, I'll let people who were in the line of fire describe the problems. Targetting MVS only would have made sense, but the government had its priorities... The ALS compiler was a disaster. If you ask me to describe why it was a disaster, I could give you a blow by blow description of what the contracting office did wrong. It really comes down to the issued the contract too soon--they should have had at least six months more work on design development before freezing a lot of details in the contract. As usual this resulted in a lot of finger pointing, and a totally useless product, that met the requirements of the contract. By that time there were several good commercial Ada compilers developed without government funding and goverment contracts--but validated to meet the goverment standards. The DoD basically abandoned the ALS and AIE projects and started over with a new Ada development enviroment project. Unfortunately, at a meeting I chaired in 1984, the death knell for the Ada CAIS was sounded. And it was such an innocent question. ;-) I asked people who had ported real Ada software from one system to another how it compared to trying to understand the CAIS documentation. The consensus was that the port of some reasonably large software, written in Ada, took less time than it took to understand the CAIS well enough to use it. (I certainly spent over 100 hours studying the documentation, and I was _starting_ to get a clue.) So you could spend three months per person training your programming team in using the CAIS. Then if you used the CAIS for development, it would cut the effort required to reuse the software in half. But if it took three weeks to do a port without the CAIS, you had to be planning on an awful lot of retargeting of software for the CAIS to make sense. There was eventually a European effort called PCTE that developed a programming environment for Ada. (http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-162.pdf) In practice the only reason I know of for using the PCTE is if you are using it for both Ada and C. The tendancy in Ada is to use a "thin" binding to the actual operating system, instead of a thick binding like the PCTE. (In fact, I find the POSIX Ada binding to be a bit too thick for my taste--your opinion may vary.) In any case, if the HOLWG got an A for Ada*, they may not have deserved an F for their efforts at development environments--but that is the lowest grade I can give them. ;-) *Of course what saved the HOLWG was that the interest in Ada was so great, that there were several commercial compilers, and the Rational environment, developed without DoD funding. (NYU's AdaEd did have some DoD funding, but more of a study of Ada semantics, rather than a useable compiler. That it did result in a useable compiler, and eventually in GNAT, has more to do with the genius of those involved rather than DoD management. (Well the DoD project management did the right thing on Ada Ed and GNAT, they worried about implementing Ada right, and what that meant, rather than contract deliverables as such.) -- Robert I. Eachus "The terrorists rejoice in the killing of the innocent, and have promised similar violence against Americans, against all free peoples, and against any Muslims who reject their ideology of murder. Their barbarism cannot be appeased, and their hatred cannot be satisfied. There's only one way to deal with terror: We must confront the enemy and stay on the offensive until these killers are defeated." -- George W. Bush