BASIC: Einstein magyar tanársegédje alkotta meg mindenki programnyelvét

2024. május 1. – 14:50

BASIC: Einstein magyar tanársegédje alkotta meg mindenki programnyelvét
Kemény János 1979-ben, a Three Mile Island-i atomerőmű-baleset kivizsgálásakor – Fotó: Bettmann / Getty Images

Másolás

Vágólapra másolva

„Az előttetek álló években sokféle hang fog szólni hozzátok – hangok, amelyek mondják, mit tegyetek életetek során. E hangok közt lesz egy, amit sokféle mezben mondtak már a történelem folyamán, ez a legveszedelmesebb hang, amit hallani fogtok. A mindnyájunkban jelenlévő ősi ösztönre alapoz: az emberi előítéletre. Megpróbál megosztani bennünket: fehéreket a feketék ellen, keresztényeket a zsidók ellen, férfiakat a nők ellen. És ha sikerül neki, hogy elválasszon embertársainktól, a széttöredezett társadalomra kényszerítheti gonosz hatalmát. Ne hallgassatok erre a hangra!”

John G. Kemeny, azaz Kemény János György 1981-ben beszélt így a Dartmouth College hallgatóihoz, amikor leköszönt a rektorságról. A szép gondolat önazonos volt Kemény személyiségével: gyerekként családjával megtapasztalta a kirekesztést, majd felnőttként sokat harcolt ellene. Sőt, legismertebb műve, az épp hatvanéves BASIC programnyelv alapgondolata is az volt, hogy közelebb vigye bárkihez az akkor még elitista elvek alapján szerveződött számítástechnikát. A BASIC-ről nem lehet évfordulós cikket írni úgy, hogy nem térünk ki bővebben Keményre, akinek a nevét még mindig túl kevesen ismerik itthon.

Budapestről a Marsra

Kemény János 1926. május 31-én született Budapesten, szülőházát ma a Toldi mozi mellett, a Bajcsy-Zsilinszky út 38. alatt jelöli emléktábla. Pár sarokra onnan lakott Neumann János, de a közelben volt Teller Ede egykori lakhelye is, és csak utcák választották el azoktól a terézvárosi lakásoktól, ahol Szilárd Leó és Wigner Jenő nevelkedett. A történelem fordulatai úgy hozták, hogy ők később Los Alamosban találkoztak, ahol a Manhattan-terven, vagyis az atombomba kifejlesztésén dolgoztak.

Kemény tehetős zsidó család gyermeke volt, jó oktatást kapott egy neves magániskolában, majd a Berzsenyi Dániel Gimnáziumban. Középiskolai tanulmányait azonban nem tudta befejezni: amikor Hitler bevonult Bécsbe, Kemény apja elkezdte szervezni a család külföldre költözését, majd 1940-ben New Yorkba emigráltak. Voltak közeli rokonai, akik inkább Budapesten maradtak, ők később mind a haláltáborokban végezték.

Kemény tehát már Amerikában érettségizett, majd 1943-ban a Princetonon kezdett matematikát és filozófiát tanulni. De ezúttal is szünetet kellett tartania a tanulásban, mert miután megkapta az állampolgárságot, a behívója is megérkezett. Ekkor került Los Alamosba, ahol a későbbi Nobel-díjas Richard Feynman beosztottjaként segített a bombafejlesztés matematikai számításaiban. Ekkor csatlakozott a „marslakókhoz”, vagyis Tellerhez, Wignerhez, Szilárdhoz, Neumannhoz és Kármán Tódorhoz. A vicces hasonlatot Szilárd Leó találta ki egy Enrico Fermivel lezajlott beszélgetésben, arra utalva, hogy az amerikaiak számára furcsa nyelvet beszélő, zseniális tudósok valójában egy földön kívüli intelligencia képviselői, akik magyarnak álcázzák magukat. Kemény János maga is egy lett a marslakók közül.

A fiatal matematikushallgatóra nagy hatással voltak idősebb honfitársai, különösen Neumann. „Teljesen normális ember volt, ugyanakkor a legnagyobb élő matematikus. Egy fontos leckére mindenesetre megtanított: nem kell föltétlen ijesztő külsővel járnom, ha sikeres matematikus akarok lenni” – írta később a rá jellemző fanyar humorral Neumannról.

Kemény 1947-ben szerelt le, majd lediplomázott, és 1949-ben doktorált logikából – ez a tudományterület annyira közel állt hozzá, hogy amikor később autót vett, „LOGIC” feliratú rendszámot készíttetett rá. De még mielőtt a PhD-fokozatot megszerezte, nagy megtiszteltetés érte: Robert Oppenheimer, az atombomba atyja, kinevezte tanársegédnek Albert Einstein mellé. Kemény az egyesített térelméleten dolgozott együtt a világhírű tudóssal, aki visszaemlékezése szerint egyedülálló fizikus volt, de matematikai számításoknál elkelt neki a segítség.

John Kemeny és Thomas Kurtz – Fotó: computerhistory.org
John Kemeny és Thomas Kurtz – Fotó: computerhistory.org

A doktorátus megszerzése után Kemény a haditengerészet princetoni kutatóintézetében, illetve az egyetem filozófia tanszékén dolgozott. 1953-ban aztán Einstein ajánlására állandó professzornak hívták a Darthmouth College-re – 27 éves volt ekkor. Két évvel később már a matematika tanszéket vezette, majd 1956-ban találkozott az egyetem egyik új professzorával, Thomas E. Kurtzcal, aki legfontosabb alkotótársa lett.

Legyen a számítógép mindenkié!

Az ötvenes évek végén Kemény és Kurtz szerezte be a Dartmouth első számítógépét, de egyiküknek sem tetszett a géphasználat köré épült hierarchia. Akkoriban még nem voltak mikroszámítógépek, a nagy és drága mainframe-ekhez pedig nem ülhettek oda csak úgy a hallgatók. A felhasználók lyukkártyára gépelve „programoztak”, ezeket a lyukkártyákat a számítógépeket működtető operátorok gyűjtötték be, majd lefuttatták a kártyákkal kódolt programokat, és kinyomtatták, hogy melyik program milyen eredménnyel járt.

„Másnap a használó megkapta az eredménylapot, amin rendszerint valami ilyen volt olvasható: HIBA A 27. KÁRTYÁN. Vagy nem volt olvasható semmi, mert a használó elfelejtette a program végére odaírni: PRINT X. Jött a hibakeresés, lyukasztás, sorban állás, az új nap”

– idézi erről Keményt a Fizikai Szemle 1993. májusi száma, amiben terjedelmes megemlékezés olvasható a matematikusról.

Kurtz ötlete volt, hogy változtassanak a rendszeren, és Keménnyel együtt 1964-re meg is valósították elképzelésüket: egy időosztásos számítógépet. Hozzá kell tenni, hogy ilyen elven működő géppel pár évvel korábban már máshol is kísérleteztek, de Kurtz és Kemény műve, a DTSS (Dartmouth Time Sharing System) lett az első kereskedelmileg sikeres időosztásos rendszer.

Egy ilyen rendszer lényege, hogy időszeletekre darabolva elosztja a gép erőforrásait több felhasználó között. Amiből következik, hogy az időosztásos rendszert egyszerre többen is használhatták a központi géphez kapcsolódó terminálokról. A gép folyamatosan figyelte az egyes terminálok aktivitását, és ennek megfelelően osztotta ki az időszeleteket – ha például az egyik terminálon egy felhasználó szöveget gépelt, az nem igényelt nagy processzoridőt, és több időszeletet kaphatott egy másik felhasználó, aki éppen egy programot futtatott a termináljáról. Az időosztás tehát lehetővé tette a multitaskingot, és az operátorok szerepét (sőt, hatalmát) is csökkentette. „Életem egyik legboldogabb pillanata volt, amikor nem kellett többé kártyákat lyukasztgatnom” – kommentálta később Kemény a DTSS születését.

Az viszont már Kemény ötlete volt, hogy a DTSS-re készítsenek egy saját programnyelvet is. Akkortájt a Fortran egy nehézkes, korai változata volt a legelterjedtebb fejlesztői nyelv, Kemény pedig úgy gondolta, hogy egy egyszerűbb szintaktikájú, könnyebben megtanulható és több sikerélményt adó nyelvvel jobban meg lehetne kedveltetni a számítástechnikát a diákokkal. Kurtz kicsit ellenkezett és felvetette, hogy mi haszna egy olyan nyelvet megtanítani a dartmouthi diákoknak, amit a Dartmouth kivételével soha sehol se tudnak majd használni. Erre az aggályára az utókor alaposan rácáfolt.

Kemény és Kurtz a Fortrant alapul véve dolgozta ki az új nyelvet, aminek fő kritériumait nyolc pontban fogalmazták meg. Ezek között volt többek közt az általános célú használhatóság, az érthető hibaüzenetek, a hardver- és operációsrendszer-függetlenség – csupa olyan alapelv, ami szembement az elitista felfogással. A nyelvnek a kor szokásainak megfelelően hangzatos betűszót adtak, így lett a neve BASIC, azaz Beginner’s All-purpose Symbolic Instruction Code (Kezdők általános célú, szimbolikus kódrendszere). Az első BASIC program 1964. május 1-jén, éppen hatvan éve futott le a DTSS-en. A Dartmouth honlapja szerint ez a következő egyszerű összeadóprogram volt:

10 PRINT 2+2

20 END

A történelmi eredményt (4) csak Kemény látta, mert Kurtz korán kelő volt, és már hazament, mire a kollégája hajnali négy órakor eljutott a diadalmas pillanatig. Kemény új autóján ezután mi más is lehetett volna a rendszám, mint az, hogy BASIC.

Kemény János autójának rendszámtáblája – Fotó: Dartmouth College
Kemény János autójának rendszámtáblája – Fotó: Dartmouth College

Az alapvető nyelv

A BASIC nemcsak informatikai, de pedagógiai bravúr is volt, ami hamar túl is nőtt a készítőin.

„Azon túl, hogy a BASIC Kemény János miatt részben nemzeti büszkeségünk, óriási befolyással volt az informatikaoktatás fejlődésére – mondta a Telexnek Képes Gábor, a Neumann János Számítógép-tudományi Társaság (NJSZT) ügyvezetője. – A programnyelvnek számos nyelvjárása jelent meg a hetvenes–nyolcvanas években, és a BASIC etalonná vált, aminek az ismerete hozzátartozott a számítógép kezeléséhez. Sőt, tulajdonképpen a BASIC lett abban az időben az ember-gép kapcsolat alapja. Ezzel összefüggően elkezdődött az informatikaoktatás nagy korszaka, amikor a digitális írástudás terjesztése teljesen összefonódott a programozás és az algoritmikus gondolkodás tanításával.”

Magyarországon is volt egy nemzedék, amelynek a nyolcvanas években a programozás felé tett első lépés a BASIC volt. 1983–1984 tájékán már szakkörökben tanították a programnyelvet, amire a gyerekek is nagyon fogékonyak voltak, mert pár hét alatt el lehetett jutni olyan szintre, hogy az ember már meg tudott írni egy egyszerű kalandjátékot. Ma már elképzelhetetlenül nagy példányszámban keltek el BASIC-programozásról szóló könyvek és újságok, kinyomtatott programlisták terjedtek kézen-közön, a tévében pedig elindult a magyar informatikai távoktatás úttörő kezdeményezése, a TV-BASIC tanfolyam (megtekinthető a YouTube-on).

De a BASIC Nyugaton is virágzott, többek közt annak köszönhetően, hogy szupersikeres, iskolai gépként is jól bevált mikroszámítógépek már a programnyelvvel felszerelve jutottak el a felhasználókhoz. Saját BASIC-verziója, „nyelvjárása” volt a brit ZX Spectrumnak és az amerikai Commodore 64-nek is (utóbbi volt talán a legnagyobb hatású otthoni számítógép Magyarországon). És persze generációs poén lett a „10 GOTO 10”, vagyis az az egysoros BASIC-program, amivel végtelen ciklusba lehetett dermeszteni a C64-et.

A számokat 1-től 60-ig megjelenítő egyszerű BASIC-program C64-en – Fotó: Stöckert Gábor / Telex
A számokat 1-től 60-ig megjelenítő egyszerű BASIC-program C64-en – Fotó: Stöckert Gábor / Telex

A programnyelv az üzleti életbe is utat talált: kezdetleges adatbázis-kezelő programok és más fontos felhasználói alkalmazások is születtek BASIC-ben. És ami igazán jól példázza a népszerűségét: Bill Gates és Paul Allen 1975-ben azért alapították meg a Microsoftot, hogy Altair 8800 számítógéphez dolgozzanak ki egy BASIC-verziót, ez lett a cég első terméke. A vállalat jóval később, 1991-ben is kiadott egy jelentős verziót, a Visual Basicet, ami az akkori modern fejlesztőeszközök és programnyelvek felé közelítette a BASIC-et.

Kemény és Kurtz alkotása a nyolcvanas évekre teljesen elszabadult. A különböző BASIC-nyelvjárásokban készült programok szinte sosem voltak kompatibilisek egymással, és mikroszámítógépeken már más funkciókat töltöttek be, mint az egyetemi környezetre tervezett eredeti. Erre reagálva Keményék 1984-ben megjelentették az eredeti dartmouthi nyelv otthoni pécékre tervezett örökösét, a True BASIC-et, de ezzel már nem tudták új mederbe terelni a BASIC-őrületet.

A kilencvenes évek elején aztán ez az őrület magától lecsendesedett. A BASIC-nek voltak jelentős korlátai (ezt mindenki megtapasztalta, aki C64-en próbált játékot írni), és ahogy a pécék fejlődtek, a BASIC-et is kiszorították olyan programnyelvek, mint a C vagy a Pascal. És bár oktatónyelvnek még mindig remek lett volna, a tanításban is történt egy szemléletváltás. „A kilencvenes években a kódolás oktatását kiszorította az alkalmazói tudás átadása. Az utóbbi időben derült ki újra, hogy mennyire hasznos, ha az algoritmikus gondolkodást is elsajátítjuk” – mondta Képes Gábor.

Egyetemi reformer, elnöki megbízott

Ma már a BASIC idejétmúltnak számít, ennek ellenére oktatásban néha még használják, és a retróra fogékony hobbiprogramozók sem mondtak le róla. Legnagyobb eredménye azonban tényleg a hatása: nem túlzás azt állítani, hogy a nyelv programozógenerációkat indított útnak a pályán, és ezzel messze felülmúlta Keménynek a BASIC-hez fűzött eredeti reményeit.

Kemény János neve mégsem fonódott össze annyira az alkotásával, mint, mondjuk, Linus Torvaldsé a Linux operációs rendszerrel. Ennek oka az, hogy a magyar származású professzor elsősorban nem informatikus volt, hanem tanszékvezető, majd 1970-től a Dartmouth rektora, és ez kötötte le. Azt a nyitottságot, amire későbbi leköszönő beszédében kérte a hallgatókat, következetesen képviselte, mialatt az egyetemet vezette.

A Dartmouth a hatvanas évek végén nemcsak neves Ivy League egyetem volt, hanem egy rendkívül konzervatív intézmény. 1759-ben (tehát az Egyesült Államok előtt) alapították, a protestáns hagyományok örököseként pedig csak fehér férfiak lehettek a diákjai. Kemény változtatott ezen, leküzdve minden ellenállást, amivel erőfeszítései során találkozott: amerikai őslakosok, feketék és nők előtt is megnyitotta az egyetemet. A Dartmouth első női diákjainak egyike Meryl Streep volt. Kemény semmibe vette azt az egyetemi szabályt is, ami a rektornak megtiltotta a tanítást: az egyetem vezetése mellett megtartotta az óráit, amikre nem csak matematikushallgatók ülhettek be, mert úgy gondolta, hogy a matematika ismerete mindenkit megillet.

A Dartmouth első női diákjai cserediákok voltak 1969-ben, közöttük a képen látható három diáklány: Gayle Williamson (Randolph-Macon College), Elizabeth Heaps (Connecticut College) és dr. Mary Frances Stubbs (Talladega College) – Fotó: Dartmouth College
A Dartmouth első női diákjai cserediákok voltak 1969-ben, közöttük a képen látható három diáklány: Gayle Williamson (Randolph-Macon College), Elizabeth Heaps (Connecticut College) és dr. Mary Frances Stubbs (Talladega College) – Fotó: Dartmouth College

1979-ben új szerepben kellett helytállnia: a Three Mile Island-i atomerőmű-baleset után Jimmy Carter amerikai elnök Keményt kérte fel a balesetet kivizsgáló bizottság vezetésére. Kemény fél évig dolgozott az ügyön, a washingtoni bürokrácia közepén, távol a Dartmouthtól. A Kemény-bizottság jelentése [pdf] határozott és a lehetőségekhez képest közérthető volt: élesen kritizálta a balesethez vezető konstrukciós hibákat és emberi mulasztást, de lándzsát tört az atomenergia biztonságos használata mellett. A jelentés után új körökben vált tiszteltté John Kemeny neve, de a professzor alig várta, hogy visszatérjen tanítani. A hosszú szünet utáni első előadását így kezdte az egyetemen: „Hat washingtoni hónap után el sem tudják képzelni, milyen jó visszatérni a civilizációba.”

Keménynek ismert mondása volt, hogy az életben két dolog iránt elkötelezett: a felesége és az egyetem iránt, „míg a halál el nem választ”. Családjával a Dartmouth New Hampshire-i campusa közelében éltek, Kemény a haláláig tanított. 1992 karácsonyán, 66 évesen halt meg szívrohamban. Nemcsak a Dartmouth gyászolta, 18 további egyetemnek volt díszdoktora és számos akadémia és tudományos társaság tiszteletbeli tagja.

Magyarországon főleg az NJSZT őrzi Einstein egykori tanársegédjének emlékét: a fiatal informatikusoknak járó díjukat Kemény Jánosról nevezték el. A legújabb kiállításuk május 17-én nyílik, és ez is több ponton kapcsolódik a dartmouthi professzorhoz. „Az iskola-számítógépek hazai korszakát mutatjuk be – mondta Képes Gábor. – Kemény és Kurtz munkájának hatását jelzi, hogy a kiállított gépek nagy részén gyárilag ott a BASIC.”

Kedvenceink
Partnereinktől
Kövess minket Facebookon is!