ALGOL: A legjobb nyelv, amiről még sosem hallottál

Disclosure: Your support helps keep the site running! Az ezen az oldalon ajánlott néhány szolgáltatásért ajánlói díjat kapunk. További információ

Az ALGOL valószínűleg a legbefolyásosabb nyelv, amiről még sosem hallottál.

A többi fontos nyelv ugyanebből a korszakból – Fortran, COBOL, Lisp – még mindig sokan használják (viszonylag sokat).

Az ALGOL a maga nemében fontos volt, különösen a tudományos életben és a matematikában. De a legnagyobb hatása más nyelvek fejlődésére volt. A legtöbb ma használatos nyelv köszönhet valamit az ALGOL-nak

Az ALGOL rövid története

Az ALGOL-t eredetileg az 1950-es évek végén találta ki egy amerikai és európai informatikusokból álló, Zürichben ülésező vegyes bizottság. Munkájukat a ma ALGOL 58 néven ismert nyelvként adták ki.

A csoport második kiadása, az ALGOL 60 néven ismert, a nyelv általánosan használt standard változata lett.

Ez a változat, amelyet a ma már híres ALGOL 60 jelentésben írtak le, nagy hatással volt a programozási nyelvek tervezésének területére. Az ALGOL 68, a nyelv utolsó “hivatalos” változata nem talált kedvező fogadtatásra az ALGOL közösségben.

Az ALGOL soha nem terjedt el igazán az üzleti programozásban, eltekintve néhány, a pénzügyi iparban használt matematikai elemző alkalmazástól.

Az akadémiai informatikában és matematikában azonban széles körben használták, és az algoritmikus leírás standard nyelve volt egészen az 1980-as és 90-es évekig.

Az Algol hatása más nyelvekre

Az Algol szintaxisa és szerkezete közvetlenül hatott számos más nyelvre, amelyeket “Algol-szerű” nyelveknek neveztek el.

Ezek közé a nyelvek közé tartozik a Simula, a C, a Pascal és az Ada. Néhány ilyen kapcsolat meglehetősen közvetlen: A Pascalt például Niklaus Wirth fejlesztette ki, aki korábban egy ALGOL-származékot készített ALGOL W néven.

A csoport leghíresebb tagja a C, amely saját származékok és leszármazottak családját hozta létre: C++, C#, Objective-C és D – hogy csak néhányat említsünk. A PHP szintaxisa is a C-n alapul, ami azt jelenti, hogy az internet leggyakrabban használt szerveroldali nyelve az ALGOL-ra vezethető vissza.

Az ALGOL még mélyebben befolyásolta a programozási nyelvek elképzelésének és leírásának módját.

John Backus informatikus javaslatot tett az ALGOL nyelvtani leírására (PDF), amelyet a Peter Naur által szerkesztett ALGOL 60 Reportban használtak fel. Ez a leíró nyelv Backus-Naur Form (BNF) néven vált ismertté. A BNF, illetve az EBNF (“extended”) ma már a formális nyelvek nyelvtani leírásának szabványos módja.

ALGOL Források

Az ALGOL egy régi, többnyire elavult nyelv, ezért nagyon nehéz lehet forrásokat és megbízható információkat találni róla. Szerencsédre neked nem kell. Átfésültük az internetet, hogy elhozzuk neked a legfontosabb forrásokat az ALGOL megismeréséhez.

Történeti oktatóanyagok

Az ALGOL-ról szóló összes érdemleges oktatóanyagot már nagyon régen írták. Szerencsére a legjobbakat beszkennelték és online elérhetővé tették.

  • A Course of Algol 60 Programming (PDF) egy oktatóanyag a nyelvről, amelyet Peter Naur, az eredeti ALGOL 60 Report (lásd alább)

  • Informal Introduction to ALGOL 68, Revised Edition (PDF) írta Lindsey és Meulen, eredetileg 1977-ben jelent meg, és most ingyenesen elérhető online

  • Programming Algol 68 Made Easy (PDF) by Sian Leitch, egy másik klasszikus könyv

  • A Tutorial on Algol 68 (PDF) egy 1976-os folyóiratcikk, amely egyszerre nyújt bevezetést a nyelvbe és bepillantást a számítástechnika történetébe.

Compilerek

  • Az Algol 68 Genie egy modern, platformokon átívelő ALGOL fordító – valószínűleg a legegyszerűbb módja annak, hogy elkezdjünk ALGOL-lal dolgozni a számítógépen; ne hagyja ki a Marcel van der Veer által írt Learning Algol 68 Genie (PDF) című könyvet, amely tartalmaz egy nyelvi oktatóanyagot és példaprogramokat

  • Az Algol Online végrehajtása a Tutorials Point böngészőbe épített Algol-értelmezőjével

  • Az Algol-68 to C egy hordozható fordító/fordító, amely lehetővé teszi az ALGOL 68 futtatását bármilyen C fordítóval rendelkező környezetben

  • Z80 ALGOL Compiler virtuális géppel, az ALGOL futtatásához MS-DOS-on.

Példa ALGOL programok

  • Hello World! és Compute the Mean, ALGOL-ban írva az Unisys (Burroughs) A-sorozatú nagyszámítógépre

  • 99 üveg sör a falon, ALGOL 68-ban és ALGOL 60-ban programozva

  • Eratoszthenész szitája ALGOL 60-ban egy példaprogramot mutat be prímszámok ALGOL-ban történő keresésére.

Történeti források

  • A Peter Naur által szerkesztett jelentés az ALGOL 60 algoritmikus nyelvről (PDF) a nyelv eredeti definíciós dokumentuma – kötelező olvasmány minden ALGOL-kutató számára; a Revised Report (PDF) a nyelv végleges, hivatalos definícióját tartalmazza; a Revised Report korabeli kritikai kiadásban is elérhető, javított hibajegyzékkel (PDF)

  • Algol68.org a nyelvnek szentelt weboldal, rengeteg további forrással és anyaggal

  • a Software Preservation Group által létrehozott History of ALGOL projekt ALGOL-anyagok tárházát tartalmazza, beleértve eredeti tanulmányokat, fordítókat, cikkeket, alkalmazásokat és egyebeket.

Könyvek az ALGOL-ról

  • A Guide to ALGOL Programming (1962) Daniel McCracken könyve az ALGOL 60-ról

  • Programming – ALGOL (1969) D J Malcolme-Lawes korai, általános célú kézikönyve a nyelvről, és tartalmaz egy történelmileg lenyűgöző bevezetést a számítástechnikába

  • Programming and Problem-Solving in Algol 68 (1978) by Andrew JT Colin egy belépő szintű könyv, amely bemutatja mind a számítógépes programozást általában, mind az ALGOL-t különösen

  • An Introduction to Algol 68 Through Problems (2014) by Learner and Powell szintén bemutatja a számítógépes programozást az ALGOL segítségével, egy sor gyakorlati számítástechnikai probléma segítségével

  • Programozás esettanulmányokon keresztül: An Algol Primer (1969) by Chedzoy and Ford egy másik bevezetés a programozásba az ALGOL segítségével, de a hangsúlyt a matematikára helyezi.

ALGOL and Other Languages

  • Handbook and Guide for Comparing and Selecting Computer Languages (1990) by James Ogden érdekes összehasonlítást nyújt a Basic tulajdonságairól, erősségeiről és gyengeségeiről, FORTRAN, Pascal, COBOL, PL/1, APL, ALGOL-60 és C

  • Numerical Methods of Mathematical Optimization (1968) Kunzi et al. szerkesztésében a matematikai számítástechnikával foglalkozik mind a FORTRAN, mind az ALGOL használatával

  • Data Structures of Pascal, ALGOL 68, PL/1 és Ada (1986) Lewi és Paredaens tollából, az alapfogalmakkal foglalkozik, nem gyakorlati programozási példákkal a benne szereplő nyelvekben

  • FORTRAN, PL/I and the Algols (1979) Brian Meek tollából, összehasonlítja ezt a három fontos nyelvcsaládot

  • Expert C Programming: Deep C Secrets (1994) Peter van der Linden érdekes részleteket tartalmaz arról, hogy az ALGOL milyen hatással volt a C fejlesztésére

  • Az O’Hearn és Tennent által szerkesztett Algol-like Languages Volume 1 (1996) és Volume 2 (1997) esszék gyűjteménye, amely az ALGOL történetét és más programozási nyelvek fejlődésére gyakorolt hatását vizsgálja.

Összefoglaló

Az ALGOL nem olyan nyelv, amelyet meg kell tanulnia ahhoz, hogy munkát kapjon vagy sikeres fejlesztő legyen. Azonban óriási hatással volt a számítógépes programozás gyakorlatára és elméletére egyaránt.

Ha érdekel a nyelvtervezés vagy a számítástechnika története, az ALGOL fontos próbakő, amelyet ismerned kell.

További olvasnivalók és források

Még több, a kódolással és fejlesztéssel kapcsolatos útmutatót, oktatóanyagot és infografikát talál:

  • Fortran források: Az egyik legelső magas szintű nyelv, amelyet a tudományos programozásban még mindig széles körben használnak.

  • COBOL Bevezetés és források: A klasszikus üzleti programozási nyelv.

  • Prolog Források: A Prolog egy korai logikai programozási nyelv volt.

Milyen kódot tanuljon meg?

Tanácstalan, hogy milyen programozási nyelven tanuljon meg kódolni? Nézze meg infografikánkat, Milyen kódot kellene tanulnia? Nemcsak a nyelvek különböző aspektusait tárgyalja, hanem olyan fontos kérdésekre is választ ad, mint például: “Mennyi pénzt fogok keresni a Java programozással a megélhetésemért?”

Szólj hozzá!