ALGOL: De Beste Taal Waar Je Nog Nooit Van Gehoord Hebt

Openbaarmaking: Uw steun helpt de site draaiende te houden! Wij ontvangen een verwijzingsvergoeding voor sommige van de diensten die wij op deze pagina aanbevelen. Meer informatie

ALGOL is waarschijnlijk de meest invloedrijke taal waar je nog nooit van gehoord hebt.

De andere belangrijke talen uit dezelfde tijd – Fortran, COBOL, Lisp – worden (relatief gezien) nog steeds veel gebruikt.

ALGOL was belangrijk op zichzelf, vooral in de academische wereld en de wiskunde. Maar de grootste invloed heeft het gehad op de ontwikkeling van andere talen. De meeste talen die vandaag in gebruik zijn, danken iets aan ALGOL

Brief History of ALGOL

ALGOL werd oorspronkelijk uitgevonden aan het eind van de jaren vijftig, door een gezamenlijk comité van Amerikaanse en Europese computerwetenschappers, bijeen in Zürich. Hun werk werd uitgebracht als de taal die nu bekend staat als ALGOL 58.

Een tweede uitgave van de groep, bekend als ALGOL 60, werd de standaardversie van de taal die algemeen wordt gebruikt.

Deze versie, beschreven in het nu beroemde ALGOL 60 Report, had een diepgaande invloed op het gebied van het ontwerpen van programmeer talen. ALGOL 68, de laatste “officiële” versie van de taal, werd door de ALGOL-gemeenschap niet goed ontvangen.

ALGOL is nooit echt aangeslagen in de bedrijfsprogrammering, afgezien van enkele wiskundige analysetoepassingen die door de financiële industrie werden gebruikt.

Het werd echter uitgebreid gebruikt in de academische informatica en wiskunde, en was de standaardtaal voor algoritmische beschrijving tot ver in de jaren ’80 en ’90.

ALGOL’s Invloed op Andere Talen

ALGOL’s syntaxis en structuur hebben een directe invloed gehad op een aantal andere talen, die bekend zijn geworden als “Algol-achtige” talen.

Deze talen omvatten Simula, C, Pascal, en Ada. Sommige van deze verbindingen zijn vrij direct: Pascal, bijvoorbeeld, werd ontwikkeld door Niklaus Wirth, die eerder een ALGOL-derivaat genaamd ALGOL W had gebouwd.

Het beroemdste lid van deze groep is C, dat zijn eigen familie van derivaten en afstammelingen heeft voortgebracht: C++, C#, Objective-C, en D – om er maar een paar te noemen. De syntaxis van PHP is ook gebaseerd op C, wat betekent dat de meest gebruikte server-side taal op het internet teruggaat op ALGOL.

Evenzeer beïnvloedde ALGOL de manier waarop programmeertalen worden opgevat en beschreven.

Computerwetenschapper John Backus stelde een grammaticabeschrijving voor ALGOL (PDF) voor, die werd gebruikt in het ALGOL 60 Report, uitgegeven door Peter Naur. Deze beschrijvingstaal werd bekend als Backus-Naur Form (BNF). BNF, en EBNF (“extended”), is nu de standaard manier om de grammatica van een formele taal te beschrijven.

ALGOL Bronnen

ALGOL is een oude, meestal verouderde taal, en dus kan het erg moeilijk zijn om er bronnen en betrouwbare informatie over te vinden. Gelukkig voor u, hoeft dat niet. Wij hebben het internet afgestruind om u de belangrijkste bronnen te geven om ALGOL te leren.

Historische tutorials

Alle nuttige tutorials over ALGOL zijn lang geleden geschreven. Gelukkig zijn de beste gescand en online beschikbaar gemaakt.

  • A Course of Algol 60 Programming (PDF) is een tutorial over de taal, geschreven door Peter Naur, de redacteur van het oorspronkelijke ALGOL 60 Report (zie hieronder)

  • Informal Introduction to ALGOL 68, Revised Edition (PDF) door Lindsey en Meulen, is oorspronkelijk gepubliceerd in 1977, en is nu gratis online beschikbaar

  • Programming Algol 68 Made Easy (PDF) door Sian Leitch, is een ander klassiek boek

  • A Tutorial on Algol 68 (PDF) is een tijdschriftartikel uit 1976, dat zowel een inleiding tot de taal als een blik in de geschiedenis van de informatica biedt.

Compilers

  • Algol 68 Genie is een moderne, platformonafhankelijke ALGOL-compiler – waarschijnlijk de gemakkelijkste manier om met ALGOL op uw computer aan de slag te gaan; Mis niet Learning Algol 68 Genie (PDF) van Marcel van der Veer, dat een taalhandleiding en voorbeeldprogramma’s bevat

  • Uitvoeren van Algol Online met de in-browser Algol-interpreter van Tutorials Point

  • Algol-68 to C is een portable vertaler/compiler, waarmee u ALGOL 68 kunt uitvoeren in elke omgeving met een C-compiler

  • Z80 ALGOL Compiler met een virtuele machine, voor het uitvoeren van ALGOL op MS-DOS.

Exemplaren van ALGOL-programma’s

  • Hello World! and Compute the Mean, geschreven in ALGOL voor de Unisys (Burroughs) A-serie mainframe

  • 99 Bottles of Beer on the Wall, geprogrammeerd in ALGOL 68 en in ALGOL 60

  • Sieve of Eratosthenes in ALGOL 60 toont een voorbeeldprogramma voor het vinden van priemgetallen in ALGOL.

Historische bronnen

  • Report on the Algorithmic Language ALGOL 60 (PDF), geredigeerd door Peter Naur, is het oorspronkelijke definitiedocument voor de taal – een must-read voor iedere ALGOL-onderzoeker; het herziene rapport (PDF) bevat de definitieve, officiële definitie van de taal; het herziene rapport is ook beschikbaar in een hedendaagse kritische editie met gecorrigeerde errata (PDF)

  • Algol68.org is een website gewijd aan de taal, met veel aanvullende bronnen en materiaal

  • het History of ALGOL-project van de Software Preservation Group bevat een schat aan ALGOL-materiaal, waaronder originele papers, compilers, artikelen, toepassingen en meer.

Boeken over ALGOL

  • A Guide to ALGOL Programming (1962) van Daniel McCracken is een boek over ALGOL 60

  • Programming – ALGOL (1969) van D J Malcolme-Lawes is een vroege handleiding over de taal voor het grote publiek, en bevat een historisch fascinerende inleiding tot de computertechnologie

  • Programming and Problem-Solving in Algol 68 (1978) door Andrew JT Colin is een instapboek dat zowel het computerprogrammeren in het algemeen als ALGOL in het bijzonder introduceert

  • An Introduction to Algol 68 Through Problems (2014) door Learner en Powell introduceert ook het computerprogrammeren met behulp van ALGOL, aan de hand van een reeks praktische computerproblemen

  • Programming by Case Studies: An Algol Primer (1969) van Chedzoy en Ford is een andere inleiding tot programmeren met behulp van ALGOL, maar met de nadruk op wiskunde.

ALGOL and Other Languages

  • Handbook and Guide for Comparing and Selecting Computer Languages (1990) van James Ogden biedt een interessante vergelijking van de eigenschappen, sterke en zwakke punten van Basic, FORTRAN, Pascal, COBOL, PL/1, APL, ALGOL-60, en C

  • Numerical Methods of Mathematical Optimization (1968) onder redactie van Kunzi et al behandelt het wiskundig rekenen met behulp van zowel FORTRAN als ALGOL

  • Data Structures of Pascal, ALGOL 68, PL/1 en Ada (1986) door Lewi en Paredaens, behandelt onderliggende concepten, geen praktische programmeervoorbeelden, in de opgenomen talen

  • FORTRAN, PL/I and the Algols (1979) door Brian Meek vergelijkt deze drie belangrijke taalfamilies

  • Expert C Programming: Deep C Secrets (1994) van Peter van der Linden bevat interessante details over de invloed die ALGOL heeft gehad op de ontwikkeling van C

  • Algol-like Languages Volume 1 (1996) and Volume 2 (1997) onder redactie van O’Hearn en Tennent is een verzameling essays waarin de geschiedenis van ALGOL en de invloed ervan op de ontwikkeling van andere programmeertalen wordt verkend.

Samenvatting

ALGOL is geen taal die je moet leren om een baan te krijgen of om een succesvol ontwikkelaar te worden. Het heeft echter een enorme invloed gehad op zowel de praktijk als de theorie van het computerprogrammeren.

Als je geïnteresseerd bent in taalontwerp of de geschiedenis van de informatica, is ALGOL een belangrijke toetssteen om mee bekend te zijn.

Verder lezen en bronnen

We hebben meer gidsen, tutorials en infographics met betrekking tot coderen en ontwikkeling:

  • Fortran Resources: een van de allereerste talen op hoog niveau, nog steeds veel gebruikt in wetenschappelijke programmering.

  • COBOL Introductie en Hulpmiddelen: de klassieke zakelijke programmeertaal.

  • Prolog Hulpmiddelen: Prolog was een vroege logische programmeertaal.

Welke code moet je leren?

Verward over in welke programmeertaal je zou moeten leren coderen? Bekijk dan onze infographic, Welke code moet je leren? Niet alleen worden de verschillende aspecten van de talen besproken, maar ook worden belangrijke vragen beantwoord als: “Hoeveel geld verdien ik met programmeren in Java?

Plaats een reactie