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=unavailable autolearn_force=no version=3.4.4 Path: border1.nntp.dca3.giganews.com!border2.nntp.dca3.giganews.com!border4.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!news.bbs-scene.org!de-l.enfer-du-nord.net!feeder2.enfer-du-nord.net!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Bill Findlay Newsgroups: comp.lang.ada Subject: Re: Gnat 2013 is out! Date: 31 May 2013 18:35:14 GMT Message-ID: <2060981844391650619.364511yaldnif.w-blueyonder.co.uk@news.individual.net> References: <32d94173-533a-471e-95a0-abb73a6cdcc2@googlegroups.com> <0jmfq8pekf23kpe5ea0mki6tgtclisoi73@invalid.netcom.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Trace: individual.net 8x592OlH73W9a5rqJBkZfQuZx830mpl/clmm7Jrz8FlzLuK0sJ Cancel-Lock: sha1:tvZZ8Rh/kkIqdxYINsyn0+Ee5AA= User-Agent: NewsTap/4.0.1 (iPad) X-Original-Bytes: 2463 Xref: number.nntp.dca.giganews.com comp.lang.ada:181779 Date: 2013-05-31T18:35:14+00:00 List-Id: Dennis Lee Bieber wrote: > On Thu, 30 May 2013 09:01:17 +0100, Bill Findlay > declaimed the following in comp.lang.ada: > >> >> The worst 'program' I ever saw was 'written' in 'FORTRAN'. >> Yes, those quotes are meant to scare you. >> >> In the mid 80s a graduate student visiting Glasgow was sent to me for help. >> A program, which she had brought with her from an even more ancient seat of >> learning, would not work on the GU Computing Service computer. > > > >> Each subroutine had many parameters, the actual parameters of most calls >> being being a selection of variables from the COMMON areas. >> >> Variables in COMMON were also used directly. >> Many times. Many, many times. Many times. >> > > Ouch! While FORTRAN's pass-by-reference could be dangerous (the > infamous [and maybe urban legend] non-constant constant in some early > compilers) when the same actual is provided to multiple arguments, > mixing COMMON and argument passing at the same time is something I never > encountered. The non-constant constant actually happened to me in my first real FORTRAN program. I called a routine that took a desired error parameter, which I wrote as 0.0; not noticing that the same parameter was used to return an achieved error estimate. The following arithmetic IF malfunctioned bafflingly until I realised that 0.0 was being redefined! -- Bill Findlay