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,c78177ec2e61f4ac X-Google-Attributes: gid103376,public From: gwinn@res.ray.com (Joe Gwinn) Subject: Re: ada and robots Date: 1997/06/10 Message-ID: #1/1 X-Deja-AN: 247563326 References: <97060510114032@psavax.pwfl.com> <339C1ECF.431B@mlb.cca.rockwell.com> <339E143A.349D@dynamite.com.au> Organization: Raytheon Electronic Systems Newsgroups: comp.lang.ada Date: 1997-06-10T00:00:00+00:00 List-Id: In article <339E143A.349D@dynamite.com.au>, aebrain@dynamite.com.au wrote: > If Ada-83 is, quote "very bad at direct control of hardware, especially > I/O hardware, and simply does not handle shared memory correctly." > that's news to STN-Atlas Elektronik GmbH. > Submarines in at least 6 navies rely on Ada-83 code that handles shared > memory as the I/O on a VME bus in the CSU-90 and ISUS-90 projects. In > addition, Ada-83 was used extensively for the I/O handling on the BM-502 > MFCC consoles on the F-123 class Frigates. > Finally, Ada-83 was used by STN-Atlas on the SEC project, where its > facilities were used by Oerlikon-Contraves Zurich to debug their > software (written in C). The Ada code was so reliable, robust and able > to diagnose problems with incoming telegrams without a debugger and in > real-time. Whereas the C code and that specific deveopment environment > couldn't. There were some Ada compilers that did direct hardware OK, but the code wasn't portable between Ada compilers. One could have made many of them work anyway, but why would you? Portability was one of the major reasons for use of Ada. It was simpler to use assembly for those few bits that touched I/O registers. I've seen bad code written in good languages too. Even in Ada. Bad programmers write bad programs. > Maybe some early compilers had problems. But not ones built after about > 1990. Are the solutions portable, or simply compiler-by-compiler workable? > BTW I was the Team leader for the VME databus comms, and made the > decision to re-write old C code in Ada-83 at the lowest level. Found > bugs in code that had been 'working' with occasional unexplained > glitches for 5 or more years. Whenever one reimplements old code into a new language, any language, one generally discovers lots of bugs, often to the point that it isn't obvious how the old code could have worked at all. Joe Gwinn