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-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,71dcda1787f0bed5 X-Google-Attributes: gid103376,public From: RC Subject: Re: Success: Ada versus C Date: 1997/06/08 Message-ID: X-Deja-AN: 246934022 Distribution: world X-NNTP-Posting-Host: clanchy.demon.co.uk [158.152.48.37] References: <33984686.9A8@gdls.com> Organization: Clanchy Newsgroups: comp.lang.ada Date: 1997-06-08T00:00:00+00:00 List-Id: In <33984686.9A8@gdls.com> by Arthur Schwarz >RC wrote: >> Had Ada been around when C and Unix were developed, I'm sure it would >> have had a better head start. >Ada 'was' around when C started, tho' in another form. The immediate >predecessor to Ada was Pascal. At the time that Pascal was introduced >it was immediately hailed as an innovation over existing languages and >was in general felt to be superior to it's competitors, Fortran and >Cobol. During the beginning 80's, fast, cheap, and relatively good >compilers for Pascal were available (ala Borland). Despite its >deficiencies, it was gradually being expanded in capability, supplanted >by other 'better' languages (Ada and Modula for two), and then it >died. I've heard reasons why. I don't understand them. But it died >as it appears that Ada might. People are supposed to thrive on adversity, perhaps they feel that Ada just would make life too easy to be interesting any more? I always took Pascal and Fortran to be joint ancestors of C, I wasn't in K's or R's head at the time but the io formatting always seemed to taste of Fortran and the general structure too similar to Pascal to be a coincidence. Pascal grew out of Algol which was designed by a committee and had inherent shortcommings (special symbols needing a special keyboard for instance), Algol paved the way for Pascal, 'C', Modula (n), Ada and so on and deserves its place in history but not to live beyond its years. C is better now than it was then (I'm not talking about C++) and I feel Pascal will live on if only in that mutant form. Pascal was intended as a teaching language so many desirable features of a real working language were deliberately excluded from it (the horrible restrictions on the character set for instance). Compiler designers added functionality into Pascal which thereby lost its portability although being more useable. Modula (n?) was a valid and necessary development of the Pascal specification to address many of its shortcommings and include low level systems facilities. It is still a valid and useful working language with many of the good features of Ada in a smaller box and with affordable implementations widely available. >> Ada started as a large, expensive project funded by a large, well funded >> end user. There has been little reason for suppliers to introduce Ada >> as an inexpensive loss-leader. >Cobol was started by DoD in the 60's. It is a widely successful language >and I believ to this day, more software is written and available in >Cobol than any other single computer languages. If I remember correctly, >the Communications of the ACM (or SIGPLAN) published a survey of >languages used sometime during the 80's. At that time (if memory serves >me correctly - it really never does), Cobol programming exceeded 80% >of all programming done. I believe that a survey done in the 90's showed >that although it's lead was dropping, it still has a commanding lead. Interesting, reminds me of the advert about statistics, 85.3% of all statistics are made up on the spur of the moment to prove a point. (I'm sure yours are quoted from verifiable sources.) There has to be a balancing statement though, how about... "Cobol does 20% of all the work done by computers using 80% of all the code?" That ought to get me into trouble with someone. >So go figure. Ada lookalike languages die (Pascal) and DoD / Gov'n >funded projects don't. This is to say that it appears that for any >valid example there is an equally valid counter-example, and vice- >versa. >I don't mean to poke fun at you but I can't understand it either. I >do know that from a 'rabid supporter' for Ada in the 80's, I'm only >lukewarm now. > I do find learning the language tortuous It has its own style but I can't really understand why, I find it stands in the way of expressing the solution to a problem much less than any other language which is why I like it. > and compiling and linking a real burden. Compilers and linkers are tools not part of the language. > For 'simple' projects it is seems unduly complex. For long-term, > large scale projects I believe Ada advocates, it is good. > But very often, small inconsequential projects >done within a larger framework become major future efforts. Maybe >this is where Ada fails to have a 'draw'. Being geared to projects >which start large and continue, it is not able to attract projects >which start small and grow. I don't know, when I read the Ada news- >groups I see a lot of stridency for a viewpoint without many concessions >for success. So I personally don't see a large future for the language. When I was learning to program, several of my colleagues used to favour the term 'Noddy program'. I always held that there was no such thing although there might be Noddy programmers and there are bad programs. If something is worth doing, it is worth doing properly. It may be a simple, ad hoc one off with no safety features but if it performs a necessary function elegantly and effectively it deserves to be described as a program. This extends to writing small, simple programs in Ada. OK there are overheads involved in code which checks data, handles exceptions and so on but if your system is worth developing it must be worth making effective. The intention of Ada was for general use not just for writing large programs. If your compiled 'hello world', gigabytes of storage, blame the compiler implementation, not the language. >As a non-sequitor, when I tried to learn rather than just admire the >language (in the 80's) I had a great deal of difficulty. Being an >experienced (and arrogant) programmer, I really didn't want a tutorial >and didn't want to spend time with the LRM. I couldn't find books >which were not tutorial and I did find that the LRM was all but >impenetrable. Like learning to talk, a second language is much more difficult to learn because you can already talk in your first language. Any technical book is almost by definition at the wrong level. If it's at too low a level you have nothing to learn from it. If it starts at too high a level its impenetrable. Even if it is at exactly your level, once you've read it, it moves into the too low a level category. > In terms of C (now, not then), I use a book by Harbison >and Steele, "C, A Reference Manual". For me it is an unqualified >success. To this day I don't know of a comparable book in Ada. Yes, to program in C a good book is very advisable. There is an unfortunate bootstrapping effect here, if Ada was more popular, more people would write books on it, more people would read them and Ada would be more popular... >My feeling is that it is time to stop congratulating ourselves. Is that what we are doing? > It is time to develop an appreciation for our potential audience. If your drinks machine dispenses the drink you want, you dont care if it is programmed in Ada or runs by clockwork, steam or even 'C'. If their systems are effective, they'll be happy and carry on using you to supply their systems. The people who gain most directly from Ada are the programmers, you may be able to make things work using SCMP assembly language but if it takes 5% of the time and 1% of the effort to do it in Ada it must be the best choice. Employers, managers and others at the pointy end of the hierarchy need to either find out what works best or listen to the voices from below which are feeding them with informed opinions. How about if manufacturers were to sell off their Ada 83 compilers at bargain basement prices? Make it financially attractive, if people like it they'll be back to buy Ada 95, if not, no one has really lost anything except the unfortunates who couldn't see the benefits. > The language won't sell itself and strong advocacy is not the same as > many and enthusiastic user's. > The articles that I see telling about Ada's >successes and its future seem to be a cry of desparation. "Why can't >people see the superiority of Ada over C/C++?". Good question. What's >the answer. Aye, there's nowt so queer as folk. Do people have an emotional reaction to Ada's roots in defence? ("Program in C for peace man, yeah.") Yes, I know it sounds silly, but I've met people who haven't realised that a language can be more general than a single application. Take the Tolstoy approach, don't rely on someone else to lead the way, individuals need to move in the right direction on their own initiative. Ada might fail as the best like Betamax or be replaced by something better but I'd hate to think it was because I couldn't be bothered to mention it to a Cobol programmer who knew no better. >So go figure. One of the best languages of the times seems destined >for a footnote in history - used by the Government, abandoned by the >people. Unfortunately, all the effort that went into the specification doesn't seem to have been reflected in the tools available. Surely, it's not dead yet? >(sorry for the speach). No worries blue. My apologies for the length of this, better out than in as they say. RC1