A SmallTalk feltalálója Turing díjas lesz
Zsadányi Pál, 2004. május 8. 14:06
Dr. Alan C. Kay, az első dinamikus tárgyorientált (vagy
tárgytechnológiás) programozási nyelv, a SmallTalk kidolgozója, és a
számítástechnika egyfajta (apró modulokból, "sejtekből" építkező)
biológiai modelljének a megalkotója, 34 év után, megkapta az ACM
számítógép-szövetségtől a "számítástechnikai Nobel-díjként" emlegetett
Turing díj 2003. évi kiadását.
A díjat méltatlanul gyenge visszhang fogadta, pedig mind a szakma, mind a Xerox PARC kutatócentrum igen sokat köszönhet Kay szerteágazó invencióinak. Még az ACM oldalain sincs ott a méltó bemutatás, igaz, hivatalosan csak júniusban adják át a díjat. Február végén egyébként megkapta a Draeper díjat is.
Alan Kay a PARC-ban alkothatott
Alan Kay, akinek a jelszava: "The best way to predict the future is to invent it" - "A legjobb módszer a jövő megjóslására, ha felfedezzük magunk", alapvetően igaza van. Megtette. Ehhez volt egy igen innovatív környezete, ahol éppen akkor dolgozhatott, a Xerox cég Palo Alto Research Center (PARC) nevű kutatóintézet, megannyi informatikai szabadalom és eljárás szülőhelye. További nagy felfedezések, amelyekben Kay részt vett: a rádió-LAN-os laptop számítógépek koncepciója, valamint a ember-gép kapcsolat grafikus formájának, a manapság GUI-nak rövidített emberbarát felhasználói interfésznek a kidolgozása (tehát sem a Microsoft, sem az Apple, amelyek később ezen hajba is kaptak, nem az igazi forrása az ablakos interfészeknek!).
A mellette lévő laborokban készült a lézernyomtató, de a mai világháló TCP/IP protokollját megalapozó Ethernet technológia, és a rajta a csomagokban továbbító hangátvitel is (ma VoIP-ként lelkendeznek róla a reklámszövegek). És akkor ott van még a SmallTalk és az OOP, oroszlánrészt Kaytől, bár mások is tettek hozzá (például Goldstine - a PARC történeti, kék-fehér füzetekről vezetett dokumentumtárának az adatai szerint)!
A Xerox vezénylete 1970-ben arra lasszózott össze egy kutatóhelyre egy sereg okos informatikai programozót és hardvermérnököt, hogy megalkossák "az információs architektúrát". Az elvárásoknak, talán a vártnál is jobban, sikerült megfelelniük. Hozájuk járt a szakma okosodni, mert az asztalról lehulló papírfecnik is rengeteget értek. Nagy szerencséjük, hogy "csak alkotniuk" kellett, nem gyilkos versenyben pénzt termelni. Azóta, 2000-ben, a PARC-ot a tőzsdére vitték, hogy a pénzvilágnak is csengessen.
A SmallTalk és az OO korszak
Tény, hogy az "object-oriented" kifejezést először Kay használta. A technológia alapelve, többször újra használható modulok alkalmazása a programozásnál, aztán, Kay SmallTalkja mellett, egy sereg más programozási nyelvben is központi szerepet kapott. Az ismertebbek közül említendő a C++, a Java, legújabban pedig a Microsoft .NET FrameWorkben debütált C# (Cisz). Az OO ma uralja az egész szakmát, az operációs rendszerektől a lokális és a hálózati alkalmazói szoftverekig.
A SmallTalknak szentelt webhely fő oldala Robert Tinny közismert ballonos SMALLTALK ábrájával kezdődik, utalva, az OO technológia mellett és azzal együtt, Kay másik nagy kutatási területére, a bitképes és animált grafikára.
Az eredetileg zeneművésznek készült Kay a hadseregben kezdett programozni, majd leszerelés után elméleti biológiai tanulmányokkal kezdte a felső fokú tanulmányait, amit elektromérnökin fejezett be. A szigorú matematikától az élő anyag működésén át a mérnöki pontosságig terjedő ismerethalmaz aztán olyan alapokat adott neki, amelyekkel nem sokan rendelkeztek a kortársai közül. Művészi hajlamainak is biztos sokat köszönhetett a felfedezéseinek a megálmodásakor (a számítógépes multimédia alapjai).
Elméleti biológusi hátterével, biológiai analógiák nyomán kezdett azon gondolkodni, hogy az ideális számítógépnek a "sejt"-ekből álló élő anyag mintájára kellene szerveződnie és működnie. A sejtek szervenként együttműködve valósítanak meg egy összetett célfeladatot, de amúgy mindegyikük független és autonóm rendszert képez. Alkalmasint viszont gyorsan átszervezhetők egy-egy újabb cél elérésére.
Kay először a Simula nyelvvel foglalkozott, majd Stanfordban, 1968 táján, Saymour Papert mesterséges intelligencia kutató műhelyében, a Papert alkotta LOGO-val, amellyel kis gyermekeket is be lehetett vonni a programozásba. Stanfordból került, 1972-ben, a Xerox PARC-hoz. Nem véletlen, hogy a SmallTalk első változata a SmallTalk-72-es volt.
Kay szerint 3-4 nagy hatás érte az elődöktől. Doug Engelbart nagyszámítógépen (mainframe) elindított, de befejezetlen kutatása volt a vasút (egeret, bitgrafikát, többablakos technikát, szövegszerkesztést, hipertextet, videokonferenciát, hálózati online használatot, dokumentum hivatkozást stb. mutatott be, 1968-ban Stanfordban). A Henry Ford-féle olcsó, sorozatgyártott, személyi használatú autó, mint országút, a személyi számítógép ötletét alapozta meg. A LOGO nyelv pedig azt mutatta meg neki, hogy az ilyen számítógépet mindenkihez el lehet juttatni, még a gyermekekhez is. És akkor, persze el is kell! Nagy hatással volt még a szemléletének az alakulására, amikor a Rand cégnél megismerkedhetett az első kézi karakterfelismerő rendszerrel, mint a mesterséges intelligencia egyik első nagy alkalmazásával.
Kay a diplomamunkáját egyébként a grafika OO koncepciójáról írta, még egyetemi tanulmányainak a végén. Tehát az OO már a doktori disszertációjában is szerepelt. A Stanfordban tapasztalt LOGO élmény vezette el a gyermekeknek készítendő számítógép a KiddieKomp megtervezéséhez, amelynek programozására találta ki a SmallTalk nyelvet.
A Smalltalk nyelvet Kay a már említett biológiai modelljében szereplő sejtek programozására tervezte. Így keletkezett hát az OOP nyelvek első tagja. A Xerox PARC-hoz már úgy került, hogy ez volt a fő témája. Mindig oktatási környezetben képzelte és alkalmazta a nyelv használatát, az első személyi számítógépeken. Kay előszeretettel gyermekeken mérte le a technológiai megoldások hatékonyságát. Némely gyermekből aztán profi programozó lett, még gyermekkorában. A Hollywood környéki Open School nevű iskolájában tán még ma is tanulnak tőle a gyermekek. [És ő is tőlük, ahogy az már a jó tanuló-tanár viszonyban általában lenni szokott.]
A gyermekekkel végzett kísérletek megmutatták, hogy a szöveges helyett a grafikus és hangos információk jóval gyorsabban hatnak a tanulási folyamatban. Ezért készítettek a PARC kutatói olyan számítógépet, amely intenzíven grafikát és animációt használt az ember-gép kapcsolat megteremtésére. Ezt nevezzük ma GUI-nak, grafikus interfésznek, ablakos technológiának, és számtalan változatban terjedt el (Atari és Mac grafika, MS Windows, UNIX/Linux Motif stb.).
A Xerox főnökei értetlenül bámultak Kay Dynabook névre keresztelt laptopjára, nem fogták föl a jelentőségét. Annál inkább a PARC-ba elkószált Steve Jobs, Apple társalapító főnök és a Mac világsikerét már ismerjük. Steve Jobs kutató barlangjában látta meg Bill Gates, aki szintén tudta, mire lesz jó, és ablakos szoftvereinek a hasznát nap mint nap élvezzük. [Olykor a mérgeit is - de mindegy.] Mindenesetre nem véletlen, hogy Kay végül az Apple mérnöke lett. Tanított, persze, a technológiai világ csúcsait ostromló MIT-n is.
A SmallTalk és az IBM
A SmallTalkba legjobban talán a nagy kék, az IBM szeretett bele. A fejlesztési koncepcióinak ma is egyik fontos elemét alkotja (főként a Java mellett). Részben azért, mondhatják a rossz nyelvek, mert neki már csak ez jutott, hisz mások folyton valami konkurens, újabb megoldásokat támogató eszközök kidolgozása után rohantak, pedig lehet, hogy jobb lett volna megmaradniuk a gyökereknél, a SmallTalknál, és azt tovább finomítani. Az IBM ezt tette, és a jelek szerint, jól tette. A SmallTalk ma virulensebb a fejlesztői körökben, mint a születésekor, ami az IBM-nek köszönhető. Az IBM-től olykor kapható kipróbálásra Visual Age SmallTalk fejlesztőkészlet CD-ROM-on. További IBM vonatkozás, hogy Alan Kay egy IBM 1401-esen esett szerelembe a számítógépekkel, a légierőnél, ami alaposan eltérítette korábbi zenészi elképzeléseitől. Igaz, ez a számítógépes multimédia (hang és animált grafika) megszületéséhez viszont nyilván sokban hozzájárult.
És ma?
Kay, állítólag, még manapság is új programozási nyelven töri a fejét, és fejébe vette a Dynabook sorozatgyártását. Egy BYTE-ban publikált 1990 körüli interjú szerint. Nos, egyikről sem hallottunk azóta sem. A legfontosabb, amit Kaytól kaptunk az, amit ő a gyermekek tanítása során megtanult. Nem az embereket kell a számítógép nyelvére idomítani, hanem a gépeket kell megtanítani arra, hogy intelligensen szót értsenek velünk. A képi ábrázolás vezette el a tárgyorientált gondolkodáshoz, és a legabsztraktabb problémák szemléletes kezelésének a megoldásához.
Kay látta előre azt is, hogy a számítógép - egyfajta új ópiátként - talán negatív hatásokat is szülhet, de ezek kivédhetők. A "mi ez?" típusú, lényegében statikus adatbázis adatokkal szemben előnyben részesítené, ha az alkalmazókat inkább a kételkedésre tanítanák, "mi van, ha" típusú kérdésekkel. Legalábbis Scott Gasch tanulmánya szerint.