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=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,583275b6950bf4e6 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-05-11 13:10:55 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!nntp.cs.ubc.ca!cyclone.bc.net!sjc70.webusenet.com!news.webusenet.com!newsfeed1.earthlink.net!newsfeed.earthlink.net!stamper.news.pas.earthlink.net!stamper.news.atl.earthlink.net!harp.news.atl.earthlink.net!not-for-mail From: Richard Riehle Newsgroups: comp.lang.ada Subject: Re: Using Ada for device drivers? (Was: the Ada mandate, and why it collapsed and died) Date: Sun, 11 May 2003 13:12:38 -0700 Organization: AdaWorks Software Engineering Message-ID: <3EBEAEB5.2B2C8AEF@adaworks.com> References: <9fa75d42.0305080606.70eebec@posting.google.com> <9fa75d42.0305090522.29c56a04@posting.google.com> Reply-To: richard@adaworks.com NNTP-Posting-Host: 3f.bb.a9.d6 Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Server-Date: 11 May 2003 20:10:55 GMT X-Mailer: Mozilla 4.7 [en] (Win98; I) X-Accept-Language: en Xref: archiver1.google.com comp.lang.ada:37194 Date: 2003-05-11T20:10:55+00:00 List-Id: soft-eng wrote: > Oh, right! The Ada compilers ranged as high as $1500s iirc, > but Janus had a low cost one. But if the quality was > so good, and the cost was so low (right in line > with Turbo Pasca, Quick C etc), the incentives > so high (defense contracts) it just proves > that the language was found un-usable > by programmers. It was not the language that was un-usable, but the implementations often fell short of what was necessary for a given platform. Turbo Pascal was popular because it had a good development environment. No one ever developed anything as good for Ada that was reasonably priced. Ada was a better language design, and could be used with the same ease as Pascal, but those who published compilers seemed to overlook the need for ordinary programmers to be able to create code easily. Meridian Ada had a set of very nice packages that made DOS programming a little easier. It was even priced so it could be used. Meridian also, finally, produced a development environment. Then, Meridian sold itself to Verdix, which did nothing much with it, which finally became absorbed by Rational which quietly euthanized it by selling it to a publisher who had no idea what to do with it. Had Meridian been allowed to migrate to Ada 95, it might have done well, even in competition with GNAT and ObjectAda. It is not enough to create a better language. These days, the development environment and libraries are as important as the language. If I have some really excellent seeds that will grow into great flowers, those seeds are no good to me unless I have suitable soil, climate, and growing conditions for them. And, if I have no tools for plowing, planting, tending, and harvesting, even the best of plants will be starved out by the weeds. One of the best examples was the Tandem Computers Ada compiler. The small group within Ada that developed the compiler did a pretty good job. They produced a compiler that could be validated by the then standard validation suite. Once that was done, Tandem executives halted all additional work. There was no effort to ensure the Tandem Ada compiler could work in conjunction with the other Tandem products. There was not effort to take advantage of Tandem's excellent non-stop environment (still an superior product even today), or distribute tasks across its dynabus architecture. One Tandem executive quietly confided to one of my (now-deceased) colleagues, that Tandem Ada was intended to be a "checkbox" product so they could check off the box on a procurement RFP's, "Yes" for validated Ada. No one was expected to actually use it for anything. I did have a chance to use it, and even talked with one of the programmers who wrote the compiler. A medical group in Salt Lake City used Tandem Ada but finally gave up on it because it was so hard to interface it to the rest of Tandem's products. The Tandem story illustrates the attitude of a lot of people throughout the 1980's regarding Ada. Although Tandem could not be accused of "malicious compliance" the ultimate effect was the same. Perhaps it was more like "indifferent compliance," a more insidious path to destruction. Other hardware vendors were as guilty (some more so) in their attitude toward Ada. At least one gigantic company, after being awarded a huge contract for an Air Traffic Control project, blamed Ada for their failure, their own Ada compiler it seems, even though many of the programmers on the project knew that the failure originated in the incompetence of those assigned to manage the project. This included the fact that they never created development tools to support their own Ada compiler. Most of the project failures with Ada happen for the same reasons projects fail using other languages: managerial incompetence. While I believe Ada is more appropriate for certain kinds of software applications than some competing technologies, it is not more appropriate if it is handicapped by a lack of development tools. The best seeds will not grow without water and good soil. Java succeeds for a variety of reasons, none of which has anything to do with its qualities as a programming language design. Someone mentioned the anti-Microsoft sentiment. This is often justified since Microsoft seems to have become someone arrogant about the developer community. Sun did an excellent job of publicizing Java's benefits, if not its drawbacks. Of real importance is the the sustained availability of libraries, development tools, and infrastructure. None of the administrators of the DoD AJPO initiatives could ever do as well. They never had the funding, the entrepreneurial leadership, nor the experience to make AJPO really strong and vital. Some intitiatives, in the mid-Nineties, including an idiotic Ad campaign, simply evoked derisive chuckles. Now that Ada must stand on its own, newer initiatives are emerging that can make it a viable choice for certain classes of software development. CLAW, GWindows, GtkAda, and even JEWL open new avenues for people who want to do GUI programming. This was never Ada's strong suit before, but it can be now. Development environments from companies such as Green Hills demonstrate how one can integrate Ada into mainstream development projects and provide serious interoperability opportunities for Ada. The new product from ACT, GPS, promises to open up new frontiers for Ada as a language for new kinds of development. The George libraries, along with other resuable component libaries can make Ada attractive for a larger range of applications. Is it too late? I often ask myself this question. With the decision to abandon Ada for JSF (a wrong decision in my opinion), along with the increasing use of Java instead of C, C++, or Ada for educational venues it will be a mighty struggle for Ada to make a comeback. The decision to abandon support for JGNAT demonstrates one of the serious problems with Ada. This decision is reminsicent of the "bodice ripper" phrase, "seduced and abandoned." Just as many of us in the educational community were becoming excited by the opportunities for JGNAT, began projects using it, got thesis students enthused about it, had other professors asking about it, it vanished. If Ada is to succeed, we must stop promising what we cannot deliver, and deliver what we do promise. Products that are under-funded, under-supported, and potentially doomed do not inspire confidence. No one wants to commit to a language or development environment with a short lifespan. For Ada to succeed, those of us who produce products and services must be ready to support those products and services for as long as our customers need them. Those companies who are telling their clients that they are abandoning Ada are not doing it any good. At the recent Embedded Systems Conference, Green Hills made it clear that Ada was being good for them and they unashamedly sang its praises to anyone who wanted to know about it. Certain other companies, one whose fortunes were built on Ada, seemed intent on hiding any knowledge about its Ada products or history with Ada. I found myself directing people to visit the Green Hills booth which I saw as Ada friendly. It's Sunday afternoon, Mother's Day, and I should be doing other things with my day. Instead, I got caught up in this rant. My apologies. Richard Riehle