Hirdetés
. Hirdetés

Niklaus Wirthre, a szoftvertervezés úttörőjére és a Pascal megalkotójára emlékezünk

|

89 éves volt a lean szoftverek evangélistája, 9 programozási nyelv és egy operációs rendszer kidolgozója. Niklaus Wirth svájci informatikus professzor újév napján halt meg, nagyjából hat héttel 90. születésnapja előtt.

Hirdetés

Wirthet méltán ünneplik a Pascal programozási nyelv megalkotójaként, de ez csak az egyik lépés volt a fontos nyelvek és kutatási projektek sorában - a 21655-ös aszteroidát és egy számítógép-tervezési törvényt is róla neveztek el. 1984-ben elnyerte az informatikai tudomány lehető legmagasabb kitüntetését, a Turing-díjat.

Niklaus Emil Wirth a svájci Wintherthurban született 1934-ben, Szent Valentin napját követő napon. 1959-ben szerezte meg alapdiplomáját a zürichi Szövetségi Műszaki Főiskolán (Eidgenössische Technische Hochschule, Zürich, ETHZ), ahová később visszatért, és ahonnan fontos kutatásainak nagy része származik.

Élete során többször is országot váltott - 1960-ban a kanadai Université Lavalban szerzett mesterdiplomát, 1963-ban pedig a Berkeley-i egyetemen doktorált - a Berkeley Unix, vagy ahogy általában ismerik, a BSD hazájában. A következő négy évben Kaliforniában maradt, a Stanford Egyetem informatika tanszékének adjunktusaként. Ez idő alatt dolgozott az első két programozási nyelven: az Euler 1965-ben, a PL/360 pedig 1968-ban jelent meg.

Részben ennek a munkának az eredményeképpen meghívták az ALGOL programozási nyelv következő verzióját tervező munkacsoportba, amely az ALGOL 60 verziót volt hivatott leváltani. Sir Tony Hoare brit informatikussal együtt bemutatta az ALGOL-W nevű javaslatot. Ezt azonban elutasították, és Adriaan van Wijngaarden összetettebb javaslatából lett az ALGOL-68.

Hirdetés

Amint azt C. H. Lindsey a History of ALGOL-68 [PDF] című írásában leírta, amikor az ALGOL-W javaslatot elutasították, Wirth kilépett a bizottságból, és az 1968. novemberi Algol Bulletin 29-es számában egy erős "zárszót" írt, amely olyan gyöngyszemeket tartalmazott, mint például:

"Elővettem az ALGOL-68-ról szóló jelentéstervezetemet és megmutattam egy egyetemi oktatónak. Elájult." Wirth ekkor fogta a javaslatát, átdolgozta, hogy valamivel kevésbé legyen kompatibilis az ALGOL-lal, és 1970-ben Pascal néven kiadta.

Így a Pascal létrejöttének története két, egymástól eltérő, párhuzamos hatással bír. A Pascal természetesen nagy sikert aratott és a mai napig használják. Ennek a történetnek a másik oldala azonban az, hogy a túlbonyolított ALGOL-68 bukás volt: ahogy az ALGOL-60 Forever oldal fogalmaz: "Ez a nyelv (Algol 68) teljesen sikertelen volt Wirth vonalához képest."

Nem túlzás azt állítani, hogy az ALGOL minden későbbi programozási nyelvre hatással volt, de a Wirth távozása után kiadott verzióval a jelentősége erősen csökkent. Ezzel szemben Wirth saját nyelvei sikeresek voltak a kutatásban és a kereskedelemben is - a Delphi még mindig kapható, a Free Pascal projekt pedig most adta ki a keresztplatformos Lazarus IDE 3.0-s verzióját. [https://lazarus.freepascal.hu/, https://www.lazarus-ide.org/] Az ALGOL-68 bonyolultsága azonban megnyitotta a lehetőségeket az újabb, egyszerűbb nyelvek, például a C, a Simula-67 és utódaik, a C++, valamint számos, ezekben megvalósított más nyelvek és operációs rendszerek előtt.

A rivális ALGOL-javaslatok vezetői közötti kapcsolatra utalhat az a mód, ahogyan Van Wijngaarden bemutatta Wirthet a színpadon az International Federation for Information Processing kongresszusán 1965-ben. Elmondott egy viccet, amely híressé vált:

"Míg az európaiak általában helyesen mondják ki a nevét ("Nick-louse Veert"), az amerikaiak mindig "Nickel's Worth"-nek ejtik. Ez azt jelenti, hogy az európaiak a nevén szólítják, az amerikaiak viszont az értékén." (Szerk: Pascal egyik koncepciója, hogy az eljárásoknak a paraméter átadás lehet érték szerint vagy cím szerint. Előtte inkább csak a cím szerinti átadás volt elterjedt.)

Ha Wirth tovább dolgozott volna az ALGOL-on, annak hatalmas hatása talán tovább folytatódott volna. Hasonlóképpen, ha ragaszkodott volna a jól ismert Pascal márkanévhez, későbbi projektjei talán felváltották volna azt ahelyett, hogy a párhuzamosan maradtak fenn.

1976-ben megjelent, "Algoritmusok + Adatszerkezetek = Programok" (Algorithms + Data Structures = Programs) című könyve máig a rendszerszervezés és a programozás egyik klasszikus alapművének számít. A benne leírt egyszerű Pascal fordító volt az, ami később Anders Heljsberget az első Turbo Pascal megírására ihlette. (Anders Heljsberg későbbi munkái többek között a C# és a TypeScipt nyelvek.)

Szintén 1976-ban Wirth a következő nyelvét Modulának [PDF] nevezte el, de 1977-ben gyorsan lecserélte a Modula-2-re. Ezt a nyelvet kiegészítette a coroutine-oknak nevezett együttműködő folyamatokkal, felhasználva korábbi munkatársa, C. A. R. Hoare "Communicating Sequential Processes" modelljét. (Napjainkban ezek az Erlangban, a Go-ban és a Clojure-ban is megtalálhatóak). Az 1980-as és 1990-es években a Modula-2 fontos nyelv volt az egész iparágban, még korunk meghatározó eszköze, a GNU C fordító aktuális verziója, a GCC 13 is támogatja tavaly óta.

Wirth két egyéves szabadságot (szerk: sabbatical) töltött Kaliforniában a Xerox PARC-nál, az elsőt 1976-1977-ben, a másodikat 1984-1985-ben. Az ott látottak által inspirálva, Zürichbe visszatérve megalkotta az ambiciózus Oberon rendszert. Az Oberon egy programozási nyelv és egy "csempézett" ablakos fejlesztőkörnyezet, valamint egy teljes operációs rendszer, amely szintén Oberonban lett megvalósítva. Az Oberon kézikönyv [PDF] bevezetője tartalmazza a Wirth-törvény néven ismertté vált mondatot, bár ő maga szerényen Martin Reisernek tulajdonította:

"Az Oberon rendszerrel szeretnénk megcáfolni a Reiser-törvényt, amelyet gyakorlatilag az operációs rendszerek minden újabb kiadása megerősített: 'A nagy előrelépések ellenére a hardver lassabban gyorsul, mint a szoftver lassul'."

A projektet nagyon olvasmányosan írja le a mindössze 13 oldalas Oberon - the Overlooked Jewel írás [PDF]. Az Oberon több utódot is inspirált, köztük az Oberon-2-t, az Oberon 07-et és a Component Pascalt.

Az Oberon rendszer egyfajta létbizonyítéka annak, hogy egy szoftver hogyan lehet nagyon is erőteljes, miközben szinte hihetetlenül apró: a 2013-as kiadás belső, külső és systools archívumai összesen mintegy 4623 sornyi kódot tartalmaznak, 262 KB szövegben. Ez a teljes Oberon környezet: nyelv, fejlesztő környezet és operációs rendszer! Ha valakit részletesebben érdekel, Wirth egy híres 1995-ös tanulmányában, az ["A Plea for Lean Software"] címűben magyarázta el az ötletet. Vezetésével készült teljes számítógép is, a Lilith munkaállomást.

Személye a beszámolók alapján megközelíthető, barátságos és szellemes volt. Wirth 1999 áprilisában vonult vissza, bár 2013-ban, nem sokkal 80. születésnapja előtt újra megjelent, hogy kiadja a Project Oberon frissített változatát.

Munkájában, az általa létrehozott nyelvekben és eszközökben, a kisebb, hatékonyabb szoftverekért való ékesszóló kiállásában - még azokban a projektekben is, amelyekből kilépett - szinte mérhetetlen befolyása volt a számítástechnikai iparra. Nyilvánvaló, hogy a modern szoftveripar nem tanult tőle. Bár ő már nem él, munkássága még sok tanulsággal szolgálhat.

Hirdetés
0 mp. múlva automatikusan bezár Tovább az oldalra »

Úgy tűnik, AdBlockert használsz, amivel megakadályozod a reklámok megjelenítését. Amennyiben szeretnéd támogatni a munkánkat, kérjük add hozzá az oldalt a kivételek listájához, vagy támogass minket közvetlenül! További információért kattints!

Engedélyezi, hogy a https://www.computertrends.hu értesítéseket küldjön Önnek a kiemelt hírekről? Az értesítések bármikor kikapcsolhatók a böngésző beállításaiban.