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: fac41,9a0ff0bffdf63657 X-Google-Attributes: gidfac41,public X-Google-Thread: 1108a1,9a0ff0bffdf63657 X-Google-Attributes: gid1108a1,public X-Google-Thread: f43e6,9a0ff0bffdf63657 X-Google-Attributes: gidf43e6,public X-Google-Thread: 103376,4b06f8f15f01a568 X-Google-Attributes: gid103376,public From: last.first@domain.nul Subject: Re: Is there a language that Dijkstra liked? (was: Re: Software landmines (loops)) Date: 1998/10/13 Message-ID: <36228EC3.4F7381FD@domain.nul>#1/1 X-Deja-AN: 400437054 Content-Transfer-Encoding: 7bit References: <6rf59b$2ud$1@nnrp1.dejanews.com> <6rfra4$rul$1@nnrp1.dejanews.com> <35DBDD24.D003404D@calfp.co.uk> <6sbuod$fra$1@hirame.wwa.com> <904556531.666222@miso.it.uq.edu.au> <6sgror$je8$3@news.indigo.ie> <6sh3qn$9p2$1@hirame.wwa.com> <6simjo$jnh$1@hirame.wwa.com> <35eeea9b.2174586@news.erols.com> <6sjj7n$3rr$1@hirame.wwa.com> <35f055a5.1431187@news.erols.com> <6sjnlu$83l$1@hirame.wwa.com> <6skfs7$2s6$1@hirame.wwa.com> <35F252DD.5187538@earthlink.net> <6t4dge$t8u$1@nnrp1.dejanews.com> <6t5mtp$4ho$1@news.indigo.ie> <35FFE58C.5727@ibm.net> <3600E72E.24C93C94@cl.cam.ac.uk> <6ts1q0$vo2$1@nnrp1.dejanews.com> <361DBC60.C153BBAD@earthlink.net> Content-Type: text/plain; charset=us-ascii Organization: AT&T WorldNet Services Mime-Version: 1.0 Newsgroups: comp.lang.eiffel,comp.object,comp.software-eng,comp.lang.ada Date: 1998-10-13T00:00:00+00:00 List-Id: Jay Martin wrote: > > Matthew Heaney wrote: > > > > dewarr@my-dejanews.com writes: > > > > > In article <3600E72E.24C93C94@cl.cam.ac.uk>, > > > Markus Kuhn wrote: > > > > IMO Ada died because: Is it dead? I thought that the current fly-by-wire commercial offerings from Boeing (and military/commercial Lockheed-Martin Hercules/C-130) used ADA for the flight control and other safety-of-flight/life-critical system software? > -- A lot of programmers scoff at anything the miltary does and the > whole defense industry. In fact, defense workers are high tech lepers. Pity, isn't it, that some of the self-declared moral-high-ground volk [nasty overtones of self-appointed ubermensch philosophy intentional] see people who work/worked in defense industry as lepers? Bigger pity that people who implement late, unpredictable, unreliable, and sometimes unsafe systems are not looked upon as lepers instead. Consider: in the defense industry, a fair number of engineering staff were/are habituated to the idea that if you don't do things right, property is damaged or people die unnecessarily, and that is a BAD THING. Thus a few of them might actually be inclined to design and produce products which a) degrade gracefully rather than fail catastrophically, b) have internal fault tolerence/detection/recovery, c) build products assuming long service lifetimes (inevitably, since software is used much longer than anyone expects or wants), so MAKE the products maintainable from the start of the design process. > -- Ada compilers were late, buggy, slow, too expensive, no libraries, .... And commercial Fortrans and Pascals were not? For some reason, ADA became a bete noir; I suspect mostly because the CUSTOMER wanted it and the vendors didn't want to spend any money on learning to do it. Longterm thinking be dammed, what's the quarterly bottom line? > -- Ada was not C, thus perceived worthless for Unix and Windows. I've been of the opinion that compilers need to add internal error checking since I got into this business: the standard "buffer overflow"/"stack overflow" exploits in things like webservers just demonstrates that even if the people who write the code probably KNOW BETTER, they don't reliably implement error checks. Does this mean that C and C++ are bad per se? No: it just means that a lot of code goes into production systems that does not implement error checking that freshman computer science 101 demanded one design and build in. The idea of designing/building error checking into your code, at least in CS101, has been pretty consistent over the years; the idea of not bothering, since "it's just an irrelevent academic exercize, has also been pretty common to language specific training over the years, too. [The first time I took CS 101 was 1974, using PL1; I've retaken selected CS, IS, and SE courses ever since: including the introductory CS101 in 1991 (ISO Pascal), 1995 (Microsoft C), and 1997 (JAVA) and noted that EVERY TIME they emphacized writing error detecting/error tolerent code.] ADA (and Pascal and Eiffel and half a dozen other unfashionable languages) was a step in the direction of moving some of the neglected portions of the software design/engineering/implementation process out of the hands of the coder and into the realm of the automated tool (i.e., the language's syntax forces it or the compiler does it for you). > -- Mismanagement by the DOD. No argument there: establish a requirement and then arbitrarily waiver the requirement is mismanagement. > -- No hyped technology that it could be piggybacked on. (Like C, Java) What's the relevance? The announced intent of ADA was to provide a way to produce better (reliability/maintainability sense) code that could be reused. That the industry was/is still driven by coders using handicraft worker's perspectives and by some (or most) upper management with a "don't spend a penny that you don't have to since everything is based on quarterly profit" perspective rather than not isn't exactly a glowing review of the industry. > -- Winning cold war sucked most of the life out of the defense field. Maybe. Or maybe the lack of QRC program quick-fixes every 14 months for mission critical threats isn't relevant. > > So it was more like "Ada sucks! and ... this Hoare guys says so too!". > Sure: and we're still floundering on in an industry where pre-1970 techniques such as DOCUMENTATION and VERSION CONTROL seem to be mostly regarded as wasteful, unnecessary, or pointless. > > Jay -- Standard disclaimer.