Női programozó princípium sorozatom trilógiává magasztosul a következőkben, hiszen Grace Hopper ellentengernagy, vagy ahogy emlegetni szokták, Amazing Grace* természetesen nem maradhat ki egy ilyen szériából.

Hősnőnk a századforduló utáni New Yorkban, Grace Brewster Murray néven látta meg a napvilágot, matematika és fizika szakon szerezett BSc-t 1928-ban, '30-ban pedig a Yale-en kezdte meg a Mester fokozatú tanulmányokat majd '34-ben matematikából PhD-zett is. Egy évvel előtte férjhez ment Vincent Foster Hopper matematika professzorhoz, akitől 15 évvel később elvált, a Hopper nevet azonban nem adta.
Informatikai karrierje a haditengerészetnél bontakozott ki, melynek tartalékosi kötelékbe 1943-ban lépett be. A munkássága összefonódik a számítástechnika hőskorát megnyitó Mark I nevezetű számítógéppel. Ahogy Ada Lovelace-t a Babbage által megálmodott Analytical Engine társaságában idéznénk lelki szemeink elé, úgy Hopper minden bizonyal a Howard H. Aiken alkotta Mark I mellett foglalna helyet a programozás képzeletbeli pantheonjában. A Mark I-et egyébként éppen olyan feladatokra is használták, mint a több mint 100 évvel előtte megálmodott elődjét szerették volna, például matematikai táblázatokat készítettek vele. Ennek a műszernek már magyar vonatkozása is akad – az első programok egyikét maga von Neumann, eredeti nevén Neumann János, a modern számítástechnika magyar-zsidó származású kulcsfigurája istensége futtatta a gépen: az atombomba megtervezéshez volt szüksége némi számítókapacitásra...

Szóval Hopper az emblematikus Mark I számítógépen látott hozzá a programozói hivatás megismeréséhez újraalkotásához. A gép alkotója, Howard H. Aiken csapatában dolgozott a Harvard Egyetem laborjában egészen '49-ig amikor is továbbra is a Haditengerészet munkatársa maradva ugyan, de civil állást is vállalt. Az UNIVEC I nevezetű számítógépet fejlesztő céghez került, ahol is 1952-ben publikálta azon korábbi ötletét, mellyel örökre beírta magát a programozás történetébe. Ma fordítóprogramnak, vagy egyszerűen csak fordítónak hívjuk az eszközt, melynek egyik legelső, Grace Hopper által megalkotott példánya az elegáns A-0 nevet kapta.
Hogy mi is a fordító? Egyszerűen fogalmazva, egy olyan program, amely lehetővé teszi, hogy ne pusztán egyesek és nullák sorozatából, illetve a legelemibb utasításokat jelképező szavak bonyolult felépítményéből állhasson a komputerprogramok kódja, hanem helyette az emberi nyelvhez és gondolkodáshoz sokkal közelebb maradva írhassunk programot. A fordító hivatott e magasabb szintű programkódot a gép által közvetlenül értelmezhető legalacsonyabb szintre átkonvertálni, azaz gépi kóddá alakítani. Egyszóval a fordítóprogram koncepciójának a születése egyúttal a modern értelemben vett programnyelvek lehetőségét is magával hozta. Az alacsony szintű kódolás bonyolult, fárasztó és a hiba lehetőségét magában hordozó aktusa helyett megnyílt az út a magasabb szintű programnyelvek előtt, a különböző nyelvek máig tartó pszichodelikusan sokszínű evolúcióját indítva be ezzel.

Nem elhanyagolható nyereség az sem, hogy míg a gépi kód utasításkészlete rendszerről-rendszerre változik, addig a magasabb szinten írt programunk minden rendszeren változtatás nélkül futtatható lesz addig, míg az adott nyelv fordítóprogramja rendelkezésre áll az adott architektúrára. Ez az '50-es évek masszív célszámítógépeinek idején még nem bírt olyan nagy jelentőséggel, de a '60-as évek végével kibontakozó, máig tartó új korszak elképzelhetetlen lenne univerzális / hordozható / platformfüggetlen szoftverek nélkül.

A szoftverfejlesztés túlnyomó hányada ma is ilyen magasabb szintű programnyelveken zajlik, melyeket sok esetben a fordítóprogram alakít gépi kóddá aztán. A magasabb szintű nyelvek között léteznek még interpretáltak is, melyeket nem a fordítóprogram alakít közvetlen kóddá, hanem az úgynevezett értelmező közbeiktatásával, futás közben folyamatosan történik a magasabb szint alacsonyabbnak való megfeleltetése, de az elv lényegében itt is ugyan az.

De ne szaladjunk ennyire előre! Tehát az 50-es években többek közt Hopper munkásságának köszönhetően bekövetkező paradigmaváltás forradalmi változásokat jelentett az informatika tudományában. Az ekkor megjelent új nyelveket harmadik generációs nyelveknek hívjuk, a gépi kód első és a még mindig gép-központú, platformhoz kötött assembly nyelvek második generációja után.
Az újítás drámaiságát szemléltetendő, megpróbálhatjuk elképzelni, hogy egy turistának próbáljuk elmagyarázni, hogyan juthat el teszem azt Szentendréről a Budai várba anélkül, hogy közös nyelvet beszélnénk vele. Az őrült gesztikulálás, számok és rajzok papírra vetése, és a zavart vigyorok ellenére sem biztos, hogy egykönnyen célba érne ez az illető. Most képzeljük el ugyan ezt a feladatot a Google fordítójának a közbeiktatásával. Ha a turizmus nem is, de a számítógépes ipar nagy részben a fordítóprogram koncepciójának köszönheti mai ábrázatát. Persze a forradalmi gondolat – pláne egy nő szájából az 50-es években – hogy magyar angol nyelven kommunikáljunk a gépekkel, sokak számára nevetségesnek tűnt, de a megjelenő első új nyelvek hamar elhallgattatták a kételkedőket.

Az egyik ilyen nyelv pedig természetesen éppen Grace Hopper tervei alapján készült el, COBOL-nak hívták, és a Battlestar Galactica fiktív bolygójának a nevével ellentétben egy betűszót takar, mely a COmmon Business-Oriented Language kifejezésből képződik. Ennek lefordításával inkább nem kísérleteznék, de némi magyarázatot azért adok. Hopper az elsők között ismerte föl, hogy az a fajta szokatlan elvonatkoztatás és nagy mennyiségű számolgatás, amely az alacsony szintű nyelvekkel való munkát jellemzi, sokakat elidegenít a számítástechnikától. Persze nem hobbi-programozókra vagy független játékfejlesztőkre kell gondolni a szobányi számítógépek korában, de az ipari és üzleti szférák számára óriási potenciált rejtet magában a informatikai fejlődés. A gond csak az volt, hogy nem állt rendelkezésre az a médium, melynek segítségével a vállalkozások nagyobb befektetés nélkül el tudták volna végezni számításigényes feladataikat. Hopperék előtt a gépezetben rejlő szellem sokak számára elérhetetlen volt.
Ennek a helyzetnek az orvoslására jött létre tehát a COBOL, valamint egy másik népszerű harmadik generációs nyelv, a FORTRAN.

Persze a gyorsabb, megbízhatóbb és élvezetesebb munkát biztosító eszköz végül szinte teljes mértékben le is uralta az egész terepet, és míg a FORTRAN az üzleti szférában tarolt, Grace Hopper a COBOL szabványosításán és a haditengerészetnél való elterjesztésén dolgozott. A '70-es években tovább folytatta a haditengerészet informatikai hátterének modernizálását, valamint a rendszerek tesztelésére alkalmas szabványok kifejlesztésén dolgozott. Ez a munkája szintén nagy hatást gyakorolt a programozási nyelvek egyre színesedő palettájára, az általa javasoltak egységes mederbe parancsolták a megszülető újabb és újabb nyelvek hömpölygő árját.
61 éves korában titkos küldetésre hívták vissza a szolgálatba, és ez után még sok évvel a nyugdíjkorhatár fölött is ott maradhatott, feljebb és feljebb menetelve a ranglétrán egész az ellentengernagyi posztig, valamint megkapta a legmagasabb fokozatú nem harctéri kitüntetést is. Ő volt a legidősebb aktív katona a tengerészetnél 79 éves nyugdíjazása idején, sőt az Amerikai Egyesült Államok Haditengerészetének a történetében is csak 4 személy akad, akik ennél idősebb korukban is még szolgálatban álltak. „Amazing” Grace Hopper 1992-ben, 85 évesen eltávozott az élők sorából, de a tudományok történetébe kitörölhetetlenül beírta nevét.
