ALGOL 58

ALGOL 58
Paradigmprocedural, imperative, structured
FamilyALGOL
Designed byFriedrich L. Bauer, Hermann Bottenbruch, Heinz Rutishauser, Klaus Samelson, John Backus, Charles Katz, Alan Perlis, Joseph Henry Wegstein
First appeared1958; 66 years ago (1958)
Typing disciplineStatic, strong
ScopeLexical
Influenced by
FORTRAN, IT, Plankalkül,[1] Superplan, Sequentielle Formelübersetzung
Influenced
Most subsequent imperative languages (Algol-like)

ALGOL 58, originally named IAL, is one of the family of ALGOL computer programming languages. It was an early compromise design soon superseded by ALGOL 60. According to John Backus:

The Zurich ACM-GAMM Conference had two principal motives in proposing the IAL: (a) To provide a means of communicating numerical methods and other procedures between people, and (b) To provide a means of realizing a stated process on a variety of machines...[2]

ALGOL 58 introduced the fundamental notion of the compound statement, but it was restricted to control flow only, and it was not tied to identifier scope in the way that Algol 60's blocks were.

Name

Bauer attributes the name to Hermann Bottenbruch, who coined the term algorithmic language (algorithmische Sprache) in 1957, "at least in Germany".[3][4]

History

There were proposals for a universal language by the Association for Computing Machinery (ACM) and also by the German Gesellschaft für Angewandte Mathematik und Mechanik ("Society of Applied Mathematics and Mechanics") (GAMM). It was decided to organize a joint meeting to combine them. The meeting took place from May 27 to June 2, 1958, at ETH Zurich and was attended by the following people:

The language was originally proposed to be called IAL (International Algebraic Language) but according to Perlis,[5] this was rejected as an "'unspeakable' and pompous acronym". ALGOL was suggested instead, though not officially adopted until a year later. The publication following the meeting still used the name IAL.[6]

By the end of 1958 the ZMMD-group had built a working ALGOL 58 compiler for the Z22 computer. ZMMD was an abbreviation for Zürich (where Rutishauser worked), München (workplace of Bauer and Samelson), Mainz (location of the Z22 computer), Darmstadt (workplace of Bottenbruch).

ALGOL 58 saw some implementation effort at IBM, but the effort was in competition with FORTRAN, and soon abandoned. It was also implemented at Dartmouth College on an LGP-30, but that implementation soon evolved into ALGOL 60. An implementation for the Burroughs 220 called BALGOL evolved along its own lines as well, but retained much of ALGOL 58's original character.[7]

ALGOL 58's primary contribution was to later languages; it was used as a basis for JOVIAL,[4] MAD, NELIAC[4] and ALGO. It was also used during 1959 to publish algorithms in CACM, beginning a trend of using ALGOL notation in publication that continued for many years.

Time line of implementations of ALGOL 58 variants

Name Year Author State Description Target CPU
ZMMD-implementation 1958 Friedrich L. Bauer, Heinz Rutishauser, Klaus Samelson, Hermann Bottenbruch Germany Z22
NELIAC 1958 Naval Electronics Laboratory USA AN/USQ-17
JOVIAL 1960 Jules Schwartz USA Was the DOD HOL prior to Ada (programming language) Various (see article)
BALGOL 1960 Joel Merner et al. USA Burroughs Corporation B220
MAD 1960 University of Michigan USA IBM 7090/7094 mainframe, then mid-1960s ported to Univac 1108
Dartmouth ALGOL 30 1962 Thomas Eugene Kurtz et al. - evolved into ALGOL 60 USA LGP-30
SUBALGOL 1962 Bob Braden, Lawrence M. Breed and Roger Moore, Stanford University USA BALGOL extension IBM 7090
ALGO ~ Bendix Corporation USA Bendix G-15

ALGOL 58's influence on ALGOL 60

  • IAL introduced the three-level concept of reference, publication and hardware language, and the concept of "word delimiters" having a separate representation from freely chosen identifiers (hence, no reserved words). ALGOL 60 kept this three-level concept.[8]
  • The distinction between assignment (:= representing a left-facing arrow) and the equality relation = was introduced in IAL and kept in ALGOL 60.
  • Both IAL and ALGOL 60 allow arrays with arbitrary lower and upper subscript bounds, and allow subscript bounds to be defined by integer expressions.
  • Both IAL and ALGOL 60 allow nesting of procedure declarations and the corresponding identifier scopes.
  • The IAL report described parameter substitution in much the same terms as the ALGOL 60 report, leaving open the possibility of call by name. It is unclear if this was realized at the time.
  • IAL allows numeric statement labels, that ALGOL 60 kept.
  • The possibility of including non-ALGOL code within a program was already hinted at, in the context of parameters to procedures.
  • Both IAL and ALGOL 60 have a switch designator, unrelated, however, to the switch statement in C and other languages.
  • In-line functions of the form f(x) := x / 2; were proposed in IAL but dropped in ALGOL 60.
  • IAL procedure declarations provide separate declaration lists for input and output parameters, a procedure can return multiple values; this mechanism was replaced in ALGOL 60 with the value declaration.
  • Variable declarations in IAL can be placed anywhere in the program and not necessarily at the beginning of a procedure. In contrast, the declarations within an ALGOL 60 block should occur before all execution statements.
  • The for-statement has the form for i:=base(increment)limit, directly resembling the loop of Rutishauser's programming language Superplan, replacing =with :=, and replacing its German keyword Für with the direct English translation for; ALGOL 60 replaced the parentheses with the word delimiters step and until, such that the previous statement instead would be i:=base step increment until limit.
  • The IAL if-statement does not have a then-clause or else-clause; it rather guards the succeeding statement. IAL provides an if either-statement that cleanly allows testing of multiple conditions. Both were replaced by ALGOL's if-then construct, with the introduction of the "dangling-else" ambiguity.
  • IAL provides macro-substitution with the do-statement; this was dropped in ALGOL 60.
  • IAL allows one or more array subscripts to be omitted when passing arrays to procedures, and to provide any or all arguments to a procedure passed to another procedure.
  • IAL's infix boolean operators are all of the same precedence level. Exponents are indicated with paired up and down arrows, which removed any confusion about the correct interpretation of nested exponents; ALGOL 60 replaced the paired arrows with a single up-arrow whose function is equivalent to FORTRAN's **.
  • The IAL report does not explicitly specify which standard functions were to be provided, making a vague reference to the "standard functions of analysis." The ALGOL 60 report has a more explicit list of standard functions.

References

  1. ^ Rojas, Raúl; Hashagen, Ulf (2002). The First Computers: History and Architectures. MIT Press. p. 292. ISBN 978-0262681377. Retrieved October 25, 2013.
  2. ^ Backus, J.W. (1959). "The Syntax and Semantics of the Proposed International Algebraic Language of Zürich ACM-GAMM Conference". Proceedings of the International Conference on Information Processing. UNESCO. pp. 125–132.
  3. ^ Aspray, William (17 February 1987), An interview with Friedrich L. Bauer (PDF), Charles Babbage Institute, archived from the original (PDF) on April 22, 2012
  4. ^ a b c Goos, Gerhard [in German] (2017-08-07). Geschichte der deutschsprachigen Informatik - Programmiersprachen und Übersetzerbau [History of informatics in German-speaking countries - Programming languages and compiler design] (PDF) (in German). Karlsruhe, Germany: Fakultät für Informatik, Karlsruhe Institute of Technology (KIT). Archived (PDF) from the original on 2022-05-19. Retrieved 2022-11-14. (11 pages)
  5. ^ Perlis, A.J. (1981). "Talk on Computing in the fifties". ACM National Conference. Nashville, TN. Los Alamito, CA: (Transcript in J. A. N. Lee (ed.), Computer Pioneers, IEEE Computer Society Press (published 1995). pp. 545–556).
  6. ^ Perlis, A.J.; Samelson, K. (1958). "Preliminary report: international algebraic language". Communications of the ACM. 1 (12): 8–22. doi:10.1145/377924.594925. S2CID 28755282.
  7. ^ "Algol 58 implementations and dialects", Software Preservation Group, Computer History Museum. Donald Knuth is quoted on BALGOL: "I’m in my second year at Caltech, and I was a consultant to Burroughs. After finishing my compiler for Burroughs, I joined the Product Planning Department. The Product Planning Department was largely composed of people who had written the best software ever done in the world up to that time, which was a Burroughs ALGOL compiler for the 220 computer. That was a great leap forward for software. It was the first software that used list processing and high level data structures in an intelligent way. They took the ideas of Newell and Simon and applied them to compilers. It ran circles around all the other things that we were doing." [Don Knuth, CHM Oral History, 2007, page 9]
  8. ^ Naur, P, ed. (1962). Revised report on the Algorithmic Language ALGOL 60 (PDF). International Federation for Information Processing.

Read other articles:

1991 American crewed spaceflight for the Department of Defense STS-39The Critical ionization velocity (CIV) experiment in Discovery's payload bayNamesSpace Transportation System-39Mission typeU.S. Department of Defense (DoD) ResearchOperatorNASACOSPAR ID1991-031A SATCAT no.21242Mission duration8 days, 7 hours, 22 minutes, 23 secondsDistance travelled5,584,423 km (3,470,000 mi)Orbits completed134 Spacecraft propertiesSpacecraftSpace Shuttle DiscoveryLaunch mass11…

Le informazioni riportate non sono consigli medici e potrebbero non essere accurate. I contenuti hanno solo fine illustrativo e non sostituiscono il parere medico: leggi le avvertenze. Il metodo dell'ovulazione Billings (MOB) è un metodo naturale di regolazione della fertilità, usato dalle donne - anche se è consigliato l'aiuto del partner - per monitorare la propria fertilità, identificando i giorni fertili e quelli infertili durante ogni ciclo mestruale. Tabella di riferimento. Indice 1 Me…

Belgian carom billiards player Jozef Philipoom Philipoom in 2013 (1964-05-27) 27 May 1964 (age 59) Medal record Men's three-cushion billiards Representing  Belgium World Championship 1995 Grubbenvorst Three-cushion European Championship 1995 Prague Individual World Cup 1996/2 Porto Individual 2009/1 Sluiskil Individual 2009/5 Hurghada Individual Jozef Bel Philipoom (born 27 May 1964)[1] is a Belgian carom billiards player.[2][3][4] He won at the UMB Worl…

Major fortified central complex found in historic Russian cities This article is about the type of fortification. For other uses, see Kremlin (disambiguation). This article is missing information about history and common features. Please expand the article to include this information. Further details may exist on the talk page. (August 2017) A kremlin (Russian: кремль, romanized: kreml', IPA: [ˈkrʲemlʲ] ⓘ) is a major fortified central complex found in historic Russian citi…

Municipality in Lapland, FinlandEnontekiö Enontekiö (Finnish)Eanodat (Northern Sami)Iänudâh (Inari Sami)Jeänõk (Skolt Sami)Enontekis (Swedish)MunicipalityEnontekiön kunta (Finnish)Eanodaga gielda (Northern Sami)Enontekis kommun (Swedish) Coat of armsNickname: Arm of FinlandLocation of Enontekiö in FinlandCoordinates: 68°23′05″N 023°38′20″E / 68.38472°N 23.63889°E / 68.38472; 23.63889Country FinlandRegio…

كونداليزا رايز (بالإنجليزية: Condoleezza Rice)‏    مناصب مستشار الأمن القومي الأمريكي   في المنصب20 يناير 2001  – 26 يناير 2005  ساندي بيرغر  ستيفن هادلي  وزير الخارجية الأمريكي (66 )   في المنصب26 يناير 2005  – 20 يناير 2009  كولن باول  وليام بيرنز  معلومات شخصية ال…

Second race of the 2022 NASCAR Camping World Truck Series 2022 Victoria's Voice Foundation 200 Race details Race 2 of 23 of the 2022 NASCAR Camping World Truck Series Date March 4, 2022Official name 26th Annual Victoria's Voice Foundation 200Location North Las Vegas, Nevada, Las Vegas Motor SpeedwayCourse Permanent racing facility1.5 mi (2.41 km)Distance 134 laps, 201 mi (323.478 km)Scheduled Distance 134 laps, 201 mi (323.478 km)Average speed 93.223 mph (150.028 km/h)Pole positionDriv…

Episode 50 der Reihe Ein starkes Team Titel Gnadenlos Produktionsland Deutschland Originalsprache Deutsch Länge 90 Minuten Produktions­unternehmen UFA Fiction Regie Peter Fratzscher Drehbuch Leo P. Ard Birgit Grosz Produktion Norbert Sauer Musik Steffen Kaltschmid Fabian Römer Kamera Dietmar Koelzer Schnitt Philipp Schmitt Premiere 15. Okt. 2011 auf ZDF Besetzung Maja Maranow: Verena Berthold Florian Martens: Otto Garber Arnfried Lerche: Lothar Reddemann Kai Lentrodt: Ben Kolber…

North Korean politician (1920–2003) In this Korean name, the family name is Choe. Choe In-dok최인덕LeaderKim Il Sung Kim Jong Il Personal detailsBorn1920Anju, South Pyongan, Kankyōhoku-dō, Korea, Empire of JapanDied31 August 2003(2003-08-31) (aged 82–83)Pyongyang, North KoreaCitizenshipNorth KoreanNationalityKoreanPolitical partyWorkers' Party of KoreaMilitary serviceAllegiance North KoreaBranch/service Korean People's ArmyRank Ch'asu (Vice Marshal) Choe In-dok (Korean:…

American physicist Frederick Seitz4th President of the Rockefeller UniversityIn office1968–1978Preceded byDetlev BronkSucceeded byJoshua Lederberg17th President of the National Academy of SciencesIn office1962–1969Preceded byDetlev BronkSucceeded byPhilip Handler Personal detailsBorn(1911-07-04)July 4, 1911San Francisco, California, U.S.DiedMarch 2, 2008(2008-03-02) (aged 96)New York City, New York, U.S.EducationStanford University (BS)Princeton University (PhD)Known forWig…

Pour l’article homonyme, voir Béton armé (film). Armatures métalliques de renforcement du béton. « Cancer du béton » : lorsque le front de carbonatation atteint l'armature métallique, celle-ci est atteinte de rouille qui fait augmenter le volume de l'acier, conduisant à l'éclatement du béton d'enrobage, ce qui provoque des délaminations, ou comme ici des épaufrures qui mettent à nu les armatures oxydées. Pylône de lampadaire en béton. Ferraillage d'une station d…

Town in Greater London, England For the larger local government district, see London Borough of Harrow. For the historic part, see Harrow on the Hill. For other uses, see Harrow (disambiguation). Human settlement in EnglandHarrow Clockwise from top: St John the Baptist, Greenhill church; Skipping Katie statue; University of Westminster; Hygeia Building and King's HouseHarrowLocation within Greater LondonPopulation149,246 (2011 Census)[1]DemonymHarrovianOS grid referenceTQ1…

Official flag of the U.S. state of Tennessee State of TennesseeThe Tri-Star FlagUseCivil and state flag Proportion3:5AdoptedApril 17, 1905; 119 years ago (1905-04-17)DesignA blue circle with three white five-pointed stars on a rectangular field of red, with a strip of white and blue on the fly.Designed byCol. Le Roy Reeves[1] The flag of Tennessee displays an emblem on a field of red, with a strip of blue bordered by white on the fly. The emblem in the middle consi…

American politician Katherine Fernandez RundleRundle in 2022State Attorney for Miami-Dade CountyIncumbentAssumed office March 12, 1993Preceded byJanet Reno Personal detailsBorn (1950-03-01) March 1, 1950 (age 74)Washington, D.C., U.S.Political partyDemocraticEducationUniversity of Miami (BA, MA)University of Cambridge (LLB)WebsiteOfficial website Katherine Fernandez Rundle (born March 1, 1950) is the current State Attorney for Miami-Dade County in Florida. Education Rundle received a B.…

Islands redirects here. For other uses, see Islands (disambiguation). An aerial view of islands in the Seychelles This is a list of the lists of islands in the world grouped by country, by continent, by body of water, and by other classifications. For rank-order lists, see the other lists of islands below. Lists of islands by country Africa Ascension Island (United Kingdom) Algeria Angola British Indian Ocean Territory (United Kingdom) Cape Verde Comoros Djibouti Equatorial Guinea Eritrea Ethiop…

Disambiguazione – Slowfood rimanda qui. Se stai cercando l'album di Francesco Paura, vedi Slowfood (album). Slow food TipoAssociazione senza fine di lucro Fondazione1986 FondatoreCarlo Petrini Scopopromuovere il diritto al piacere, difendere la centralità del cibo e il suo giusto valore. Sede centrale Bra Indirizzovia Mendicità Istruita, 14 Lingua ufficialeitaliano MottoBuono, pulito e giusto Sito web Modifica dati su Wikidata · Manuale Slow Food è un movimento culturale inter…

Sichangu (Brulé) Sioux chief (1823–1881) For the Native American lacrosse player, see Spotted Tail (lacrosse). Spotted TailSiŋté Glešká (birth name Jumping Buffalo)Chief Spotted TailBrulé Lakota leader Personal detailsBornc.. 1823Present-day South DakotaDiedAugust 5, 1881(1881-08-05) (aged 57–58)South DakotaResting placeRosebud, South Dakota, U.S.43°14′28″N 100°51′11″W / 43.24111°N 100.85306°W / 43.24111; -100.85306 (Grave of Spotted Tai…

Disambiguazione – Brioni rimanda qui. Se stai cercando altri significati, vedi Brioni (disambigua). Brioni(HR) BrijuniGeografia fisicaLocalizzazioneMare Adriatico Coordinate44°55′N 13°46′E44°55′N, 13°46′E Superficie8 km² Geografia politicaStato Croazia RegioneRegione istriana ComunePola Cartografia Brioni voci di isole della Croazia presenti su Wikipedia Mappa dell'arcipelago L'hotel Karmen di Brioni I resti della villa rustica presso la baia di Venere (Verighe) Le is…

For the album, see Master of the Flying Guillotine (album). Master of the Flying GuillotineTraditional Chinese獨臂拳王大破血滴子Simplified Chinese独臂拳王大破血滴子TranscriptionsStandard MandarinYale RomanizationDú bì chywánwáng dà pwò sywě dī džIPA[tǔ pî tɕʰɥɛ̌nwǎŋ tâ pʰwô ɕɥè tí tsɹ̩̀]Yue: CantoneseYale RomanizationDuhk bei kyùhnwòhng daaih po hyut dìk jíIPA…

Cet article est une ébauche concernant le jeu vidéo. Vous pouvez partager vos connaissances en l’améliorant (comment ?) (voir l’aide à la rédaction). Dead or Alive 5Last RoundDéveloppeur Team NinjaÉditeur Koei TecmoRéalisateur Yosuke Hayashi (Producteur) Yohei Shimbori (Réalisateur)Date de sortie AN : 17 février 2015JAP : 19 février 2015EUR : 20 février 2015 Genre Jeu de combatMode de jeu Solo, multijoueurPlate-forme PlayStation 3, PlayStation 4, Xbox 360, Xbo…