On Tue, Mon Sep 27 06:48:43 2010, Ford, Mike wrote: > > -----Original Message----- > > From: tedd [mailto:tedd.sperl...@gmail.com] > > Sent: 25 September 2010 16:02 > > > > One can make the argument that the ELSE IF statement first surfaced > > circa 1977 in FORTRAN 77 and the CASE statement came later in > > FORTRAN > > 90 circa 1991. > > Being a fully-fledged member of the pedants' society, I can't let that > go without comment. > > Those dates only hold if you stick to FORTRAN. Algol-68 had > if-elif-else-fi, and I don't believe it was a pioneer in the structure > even then (although the syntax may have been novel). It also had a > case-esac structure. I'd say both elseif and case/switch developed in > other languages and were adopted into FORTRAN long after they were > established as bona fide programming constructs.
In Algol 68 rev0 had the longer "conditional clause": * IF ~ THEN ~ ELSF ~ THEN ~ ELSE ~ FI Subsequently - in rev1- this was dropped in favour of: * IF ~ THEN ~ ELIF ~ THEN ~ ELSE ~ FI Or... "brief" form: ( condition1 | statements |: condition2 | statements | statements ) Pdf - AB36.3.1 FINAL REPORT ON IMPROVEMENTS TO ALGOL 68 c.f. http://portal.acm.org/citation.cfm?id=1061641 (registration required) > C 55 (representations) > Some further small changes: > elif is now used in place of elsf , (on a bad lineprinter , ELSE was too > difficult to distinguish from ELSE) The ALGOL 68 page on wikipedia details the ALGOL 68 conditional clause in German: > # Nachfolgetag - Deutsche Variante # > menge datum = tupel(ganz tag, wort monat, ganz Jahr); > funktion naechster tag nach = (datum x) datum: > wenn tag von x < monatslaenge(monat von x, jahr von x) > dann (tag von x + 1, monat von x, jahr von x) > wennaber monat von x = "Dezember" > dann (1, "Januar", jahr von x + 1) > ansonsten (1, nachfolgemonat(monat von x), jahr von x) > endewenn; Note their standard in particular used WENN ... ENDWENN * WENN ~ DANN ~ WEBBABER ~ DANN ~ ANSONSTEN ~ ENDEWENN (However I cannot find anther reference to substantiate this, does anyone have a copy of the German standard?) The Soviets standardised using Cyrillic, c.f. "GOST 27974-88 Programming language ALGOL 68 - Язык программирования АЛГОЛ 68" * http://vak.ru/lib/exe/fetch.php/book/gost/pdf/gost-27974-88.pdf > Russian/Soviet example: In English Algol68's reverent case statement > reads case ~ in ~ out ~ esac, in Cyrillic this reads выб ~ в ~ либо ~ > быв. [OT]: Algol68's standard permitted localisation of the character sets. The "Final Report" was also available in Braille. (Maybe as Algol68 was funded by UNESCO). Algol68 allowed reserved words, variable names and operators in any character set, hence makes Algol68 one of first of the International programming languages. [Maybe it can even be Universalised [u11n] because with the advent on Unicode maybe Algol68 cade can written in Romulan? --) ] NevilleDNZ -- * http://sourceforge.net/projects/algol68 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php