ALGOL este probabil cel mai influent limbaj de care nu ați auzit niciodată.
Celelalte limbaje importante din aceeași epocă – Fortran, COBOL, Lisp – sunt încă foarte folosite (relativ vorbind).
ALGOL a fost important în sine, în special în mediul academic și în matematică. Dar cea mai mare influență a sa a fost asupra dezvoltării altor limbaje. Cele mai multe limbaje utilizate astăzi datorează ceva ALGOL
Brief History of ALGOL
ALGOL a fost inventat inițial la sfârșitul anilor 1950, de către un comitet comun de informaticieni americani și europeni, reuniți la Zurich. Munca lor a fost lansată sub forma limbajului cunoscut acum sub numele de ALGOL 58.
O a doua versiune a grupului, cunoscută sub numele de ALGOL 60, a devenit versiunea standard a limbajului este de uz comun.
Această versiune, descrisă în acum celebrul ALGOL 60 Report, a avut un impact profund asupra domeniului de proiectare a limbajelor de programare. ALGOL 68, ultima versiune „oficială” a limbajului, nu a fost bine primită de comunitatea ALGOL.
ALGOL nu a prins niciodată cu adevărat în programarea de afaceri, în afară de unele aplicații de analiză matematică utilizate de industria financiară.
A fost, totuși, utilizat pe scară largă în domeniul informaticii și matematicii academice și a fost limbajul standard pentru descrierea algoritmică până în anii ’80 și ’90.
Influența lui ALGOL asupra altor limbaje
Sintaxa și structura lui ALGOL au influențat direct o serie de alte limbaje, care au ajuns să fie cunoscute sub numele de limbaje „Algol-like”.
Aceste limbaje includ Simula, C, Pascal și Ada. Unele dintre aceste conexiuni sunt destul de directe: Pascal, de exemplu, a fost dezvoltat de Niklaus Wirth, care construise anterior un derivat ALGOL numit ALGOL W.
Cel mai faimos membru al acestui grup este C, care a generat propria sa familie de derivate și descendenți: C++, C#, C#, Objective-C și D – pentru a numi doar câteva. Sintaxa PHP se bazează, de asemenea, pe C, ceea ce înseamnă că cel mai utilizat limbaj server-side de pe internet își urmărește descendența până la ALGOL.
Chiar și mai profund, ALGOL a influențat modul în care sunt concepute și descrise limbajele de programare.
Informaticianul John Backus a propus o descriere gramaticală pentru ALGOL (PDF), care a fost folosită în ALGOL 60 Report, editat de Peter Naur. Acest limbaj de descriere a devenit cunoscut sub numele de Backus-Naur Form (BNF). BNF, și EBNF („extins”), este în prezent modul standard de descriere a gramaticii unui limbaj formal.
Resurse ALGOL
ALGOL este un limbaj vechi, în mare parte învechit, și astfel poate fi foarte greu să găsești resurse și informații de încredere despre el. Din fericire pentru dumneavoastră, nu trebuie să o faceți. Am cercetat internetul pentru a vă aduce cele mai importante resurse pentru a învăța despre ALGOL.
Tutoriale istorice
Toate tutorialele valoroase despre ALGOL au fost scrise cu mult timp în urmă. Din fericire, cele mai bune au fost scanate și puse la dispoziție online.
-
A Course of Algol 60 Programming (PDF) este un tutorial despre acest limbaj, scris de Peter Naur, editorul raportului original ALGOL 60 Report (vezi mai jos)
-
Informal Introduction to ALGOL 68, Revised Edition (PDF) de Lindsey și Meulen, a fost publicat inițial în 1977, și este acum disponibilă gratuit online
-
Programming Algol 68 Made Easy (PDF) de Sian Leitch, este o altă carte clasică
-
A Tutorial on Algol 68 (PDF) este un articol de revistă din 1976, care oferă atât o introducere în limbaj, cât și o privire în istoria informaticii.
Compilatoare
-
Algol 68 Genie este un compilator ALGOL modern, multi-platformă – probabil cel mai simplu mod de a începe să lucrați cu ALGOL pe calculatorul dumneavoastră; nu ratați Learning Algol 68 Genie (PDF) de Marcel van der Veer, care include un tutorial al limbajului și programe de exemplu
-
Executați Algol Online cu interpretorul Algol in-browser de la Tutorials Point
-
Algol-68 to C este un translator/compilator portabil, care vă permite să rulați ALGOL 68 în orice mediu cu un compilator C
-
Z80 ALGOL Compiler cu o mașină virtuală, pentru rularea ALGOL pe MS-DOS.
Exemplu de programe ALGOL
-
Hello World! and Compute the Mean, scris în ALGOL pentru Unisys (Burroughs) A-series mainframe
-
99 Bottles of Beer on the Wall, programat în ALGOL 68 și în ALGOL 60
-
Sieve of Eratosthenes in ALGOL 60 prezintă un exemplu de program pentru găsirea numerelor prime în ALGOL.
Resurse istorice
-
Report on the Algorithmic Language ALGOL 60 (PDF) editat de Peter Naur, este documentul original de definire a limbajului – o lectură obligatorie pentru orice cercetător ALGOL; raportul revizuit (PDF) oferă definiția finală, oficială a limbajului; raportul revizuit este, de asemenea, disponibil într-o ediție critică contemporană cu erate corectate (PDF)
-
Algol68.org este un site web dedicat limbajului, cu o mulțime de resurse și materiale suplimentare
-
proiectul History of ALGOL (Istoria ALGOL), realizat de Software Preservation Group, include o sumedenie de materiale ALGOL, inclusiv lucrări originale, compilatoare, articole, aplicații și multe altele.
Cărți despre ALGOL
-
A Guide to ALGOL Programming (1962) de Daniel McCracken este o carte care acoperă ALGOL 60
-
Programming – ALGOL (1969) de D J Malcolme-Lawes este un manual timpuriu pentru publicul larg despre acest limbaj, și include o introducere fascinantă din punct de vedere istoric în tehnologia informatică
-
Programming and Problem-Solving in Algol 68 (1978) de Andrew JT Colin este o carte de bază care introduce atât programarea pe calculator în general, cât și ALGOL în special
-
An Introduction to Algol 68 Through Problems (2014) de Learner și Powell introduce, de asemenea, programarea pe calculator folosind ALGOL, folosind o serie de probleme practice de calcul
-
Programming by Case Studies: An Algol Primer (1969) de Chedzoy și Ford este o altă introducere în programare prin intermediul ALGOL, dar cu accent pe matematică.
ALGOL și alte limbaje
-
Handbook and Guide for Comparing and Selecting Computer Languages (1990) de James Ogden oferă o comparație interesantă a proprietăților, punctelor forte și punctelor slabe ale Basic, FORTRAN, Pascal, COBOL, PL/1, APL, ALGOL-60 și C
-
Numerical Methods of Mathematical Optimization (1968) editat de Kunzi et al acoperă calculul matematic folosind atât FORTRAN cât și ALGOL
-
Data Structures of Pascal, ALGOL 68, PL/1 and Ada (1986) de Lewi și Paredaens, acoperă conceptele de bază, nu și exemple practice de programare, în limbajele incluse
-
FORTRAN, PL/I and the Algols (1979) de Brian Meek compară aceste trei importante familii de limbaje
-
Expert C Programming: Deep C Secrets (1994) de Peter van der Linden include detalii interesante despre influența pe care ALGOL a avut-o asupra dezvoltării C
-
Algol-like Languages Volume 1 (1996) și Volume 2 (1997) editate de O’Hearn și Tennent este o colecție de eseuri care explorează istoria ALGOL și influența sa asupra dezvoltării altor limbaje de programare.
Rezumat
ALGOL nu este un limbaj pe care trebuie să îl învățați pentru a obține un loc de muncă sau pentru a fi un programator de succes. Cu toate acestea, a avut o influență uriașă atât asupra practicii, cât și asupra teoriei programării calculatoarelor.
Dacă sunteți interesat de proiectarea limbajelor sau de istoria informaticii, ALGOL este o piatră de încercare importantă cu care trebuie să fiți familiarizat.
Lecturi și resurse suplimentare
Avem mai multe ghiduri, tutoriale și infografice legate de codare și dezvoltare:
-
Resurse Fortran: unul dintre primele limbaje de nivel înalt, încă utilizat pe scară largă în programarea științifică.
-
COBOL Introducere și resurse: limbajul clasic de programare pentru afaceri.
-
Prolog Resurse: Prolog a fost un limbaj de programare logică timpuriu.
Ce limbaj de programare ar trebui să învățați să codificați?
Confuz în legătură cu ce limbaj de programare ar trebui să învățați să codificați? Consultați infograficul nostru, Ce cod ar trebui să învățați? Acesta nu numai că discută diferite aspecte ale limbajelor, dar răspunde și la întrebări importante, cum ar fi: „Câți bani voi câștiga din programarea Java pentru a-mi câștiga existența?”
.