2014. december 27., szombat

A világ első számítógép-programozója nő volt :: Az ENIAC sztori

Walter Isaacson könyvének alábbi részlete a Fortune magazinban jelent meg, a könyv a "Nők az ENIAC sikerében" címmel jelent meg. Azaz ismét egy hosszú bejegyzés következik, aminek - látszólag - semmi köze az Apple-höz. Dehogy nincs. Ha nincs ENIAC (Electronic Numerical Integrator And Computer), akkor nagyon valószínű, hogy az Apple sem lett volna azzá, amivé vált. Steve Jobs géniusza is talán más területen mutatkozott volna meg.

A világ első számítógép-programozója
Azóta, hogy Charles Babbage az 1830-as években megalkotta a hatalmas méretű mechanikus számológépét, az Analytical Engine-t (Elemző Gép), a számítógép hardver körül férfiak sertepertéltek. Az első szoftveresek, hogy, hogy nem, nők voltak, kezdve Babbage kedvesével és múzsjával, Adával, Lovelace grófnéjával. A romantikus költő, Lord Byron felesége igen csak kedvelte a matematikát, így Ada lányuk érdeklődése sem meglepő e terület iránt, bár ő ezt "költői tudománynak" tekintette apja hatására. A gépeket vezérlő kártya-lyukasztó gépek által létrehozott mintákért kimondottan odavolt. A lyukkártyák egészen az 1970-es évekig vezérelték a számoló- és számító-gépeket. Ada gondolt először arra, hogy a lyukkártyák nem csak számokat, de zenét, szavakat, képeket vagy szövő-mintákat is tárolhatnának. Ezt tudja a számítógép. Elsőként készítette el elvont, rekurzív számítást is igénylő számolást, mint a Bernoulli számsor generálása. A számolásban volt rekurzió, szubrutin és egy leíró táblázat, milyen sorrendben kell a kártyákat a komputerbe adagolni. Ahogy egy mai C++ programozó is tenné. Mivel a programot közzé is tette, így Ada lett a "világ első számítógép-programozója".

Az ENIAC
Száz évvel később, amikor az első árammal működő számítógépek megjelentek, a hardver változatlanul a férfiak territóriuma volt, amíg számos nő haladt Ada nyomdokában és lett programozóvá. Egyikük volt Gracer Hopper hadnagy, aki a Harvard Mark I. számítógépére írt programokat. A katonai titoktartás miatt alig ismert az a hat fős női alakulat, amely a Pennsylvania Egyetemen vett részt az ENIAC építésében. Az ENIAC volt az első programozható, teljesen elektronikus, általános célú számítógép.
Mint sok kutatást és fejlesztést, ezt is a hadsereg hajtotta. Az alapcél lövedékek röppályájának minél pontosabb kiszámítása volt, ám ez a világháború hatására hamarosan bővült hanghulám-terjedéssel, időjárás előrejelzéssel és atombomba romboló erővel kapcsolatos számítási feladattal.
A folyamatos fejlesztések és átalakítások miatt az ENIAC kábelek és más elektromos alkatrészek alkotta dzsungelre hasonlított. Elsőre a programozás rutin-feladatnak tűnt, és nem igazi szellemi kihívásnak, meglehet, ez volt az oka, hogy ezt a nőkre hagyták, akiknek nem volt tudományos fokozatuk. Ám nagyon rövid idő kellett ahhoz, hogy az ENIAC-kal kapcsolatba kerültek számára világos legyen, a számítógép programozása legalább olyan fontos, mint a megépítése és üzembentartása.

Az ENIAC egyik vezérlő egysége. Photo: Bettmann/CorbisAz ENIAC egyik vezérlő egysége. Fénykép: Bettmann/Corbis

Egy átlagos női történet
Jean Jennings egyike volt a számítógép programozó csapatnak, az ő története tipikusnak nevezhető. Egy Isten háta mögötti kis, száznégy lakosú Missouri-i faluban született egy szegény családba, amelynek semmire sem volt pénze, de nagyon hitt a tudásban. Édesapja tanította az egytermes iskolában, ahol Jane lett a softball csapat elkapója és egyetlen lány tagja. Hogy nyolcadikban ne csapták ki a suliból, édesanyjával gyakorolta az alap algebrai és geometria ismereteket. A hét testvérből Jane volt a hatodik, de mindannyian középiskolába mentek. Az állami középiskolában 76 dollár volt az évi tandíj. Jane először újságíró szeretett volna lenni, de annyira nem jött ki a tanáraival, hogy átment a másik kedvenc szakára, a matekra.
Amikor 1945 januárjában végzett, az egyik tanára kezébe nyomta a Pennsylvania Egyetem brossúráját, amelyben kimondottan női matematikusokat keresnek, akik "számítógép-humán" munkakörben dolgoznának a seregnek röppálya számításokat végezve.
Jennings, aki még soha sem utazott Missouri határán túl, jelentkezett az állásra. Az nap, amikor táviratban megírták, hogy megkapta az állást, vonatra szállt, és negyven órás utazást követően megérkezett Pennsylvaniába. "Leesett az álluk a gyorsaságomat látván" - mesélte Isaacsonnak.

Jennings (balra) Wescoff és Lichterman épp trigonometrikus függvények táblázataira tanítja a szoba méretű ENIAC számítógépet. Photo: Corbis.Jennings (balra) Wescoff és Lichterman épp trigonometrikus függvények táblázataira tanítja a szoba méretű ENIAC számítógépet. Fénykép: Corbis.

Mikor 1945 tavaszán Jennings csatlakozott a csapathoz, már hetven nő dolgozott a számítógép körül, hatalmas papírlapokkal és végett nem érő táblázatokkal küzdve. A vezetőjük Adele Goldstine volt, akit a munkán túl szerelem is kötött az ENIAC csapat egyik kapitány-mérnökéhez. "Amikor először láttam Adele-t, az örökre megmaradt. Bejött a terembe, szája sarkában cigaretta lógott, leült, keresztbe tette a lábait és eszméletlen brooklyni akcentussal kezdett el oktatni." A vallásos, kisvárosi környezethez szokott Jennings se perc alatt szembesült mindazzal, amitől szülei és a vasárnapi Isten tisztelet óvni akarta. "Messze voltam az otthonomtól, ahol a nők a kerti üvegház mögött mernek csak rágyújtani."

Az érdekel, hogy fél-e tőle?
Pár héttel az érkezése után egy feljegyzés járt körbe, amelyben hat nő számára ajánlottak munkát egy meg nem nevezett gép mellett, amelyet egy szomszédos többszintes épület rejtett. "Sem a végzendő munkáról, sem az ENIAC mibenlétéről sem volt fogalmam. Csak arra gondoltam, hogy odaát valami új vár, és hittem abban, hogy bármit képes vagyok megtanulni és megcsinálni." Valójában ekkor már nagyon unta a lőpálya számításokat.
Meghallgatását Adele férje, Herman Goldstine tartotta, aki megkérdezte, mit tud az elektromosságról? "Elmondtam, hogy félévet hallgattam fizikát, hogy U=IR, ami, ugye Ohm törvénye." Goldstine válasza meglepte: "Nem pont erre gondoltam, ezek nem érdekelnek. Az érdekel, hogy fél-e tőle?" A munkával rengeteg drót kihúzása, csatlakoztatása és hasonló járt. Jennings nem félt, Adele a beszélgetés közben benézett és bólintott - Jennings fel volt véve.

Jean Jennings (jobbra) és Frances Bilas az ENIAC fő vezérlő panelje előtt a Moore School of Electrical Engineering épületében, 1946-ban. Photo: US Army.Jean Jennings (jobbra) és Frances Bilas az ENIAC fő vezérlő panelje előtt a Moore School of Electrical Engineering épületében, 1946-ban. Fénykép: US Army.

A csoportba került hat nő tipikus "háború egymás mellé sodorta őket" csapatot alkotott. Marlyn Wescoff és Ruth Lichterman zsidó volt, Betty Snyder kvéker, az ír származású Kay McNulty és Frances Bilas katolikus, amíg Jennings protestáns. "Remek társasággá váltunk, noha korábban egyikünknek sem volt más vallású barátnője. Néha nagyokat is vitatkoztunk, de ezek a viták talán még közelebb hoztak egymáshoz."
1945 nyarán mind a hat nőt áthelyezték az Aberdeen Proving Ground-ra, ahol az IBM lyukkártyáival és áramköreivel kellett megismerkedniük. Jennings lett a vezetőjük. "Együtt dolgoztunk, együtt éltünk, együtt ettünk és együtt maradtunk ébren, amíg mindent meg nem vitattunk." Ekkor még mind a hatan hajadonok voltak, így a katonai táborban számos románc és szerelem született, nem kevésszer a tiszti klubban felszolgált koktélok mellett.
Ám a hat hetes kiképzés hamar véget ért, és búcsút intve az épp aktuális tisztnek, a hat nő összecsomagolt és visszatért Pennbe. Itt plakát méretű, az ENIAC felépítését tárgyaló diagramok fogadták őket. "Kaptunk egy tonnányi papírt, amelyek a panelek kapcsolási rajzát, bekötéseit tartalmazták. Azt a parancsot kaptuk, hogy 'Találják ki, hogy működik és miként lehet programozni!'" Végig kellett menni az összes lapon, hogy feltérképezzék, mi mihez kapcsolódik, mi mit vezérel, mit mi befolyásol. "Az egész munka legfontosabb eredménye az volt, hogy kezdtük megérteni, mire alkalmas, és mire nem az ENIAC. Később, bármilyen probléma esetén egészen az adott elektroncsőig be tudtuk határolni a hibát logikai úton." [Nem volt még nyomtatott áramkör, nem találták fel a tranzisztort. Az elektroncső pedig könnyen meghibásodó alkatrész volt. (H)őskor. - Almalap] Ami nem kis szó, lévén a rendszerben 18 000-nél is több elektroncső. "Mivel mi ismertük a gépet és a futó programot is, mondhatnám, többet tudtunk a rendszerről, mint a mérnökök. Szerettek is minket. A hibakeresést mindig ránk hagyták."

Az ENIAC egy részlete. 1947, Aberdeen. Fénykép: Jerry Cooke—CorbisAz ENIAC egy részlete. 1947, Aberdeen. Fénykép: Jerry Cooke—Corbis

John Mauchly
"Amikor pontosan megterveztük és utána dokumentáltuk a panelek cseréjét és a kábelek átkötését, valójában programoztuk a gépet, bár akkor erre a folyamatra nem volt külön szavunk. Muszáj is volt, mert valószínűleg kivégeztek volna, ha hazavágjuk az egész gépet."
Egyik nap Jennings és Snyder az egyik teremben próbálták megérteni egy tucat papírlapról az ENIAC egyik új részét, amikor váratlan látogatót kaptak.
"- Hello! John Mauchly vagyok, azért jöttem, mert azt hallottam, hogy itt hullik a vakolat."
- Hali, örülünk hogy látunk! Nem tudod véletlenül, hogy működik ez a fránya akkumulátor?

John Mauchly véletlenül tudta, mert ő volt az ENIAC egyik lelke, fejlesztője - ezt viszont a nők nem tudták, nem is ismerték fel a férfit. Aki, miután számos kérdésre válaszolt, felajánlotta, hogy bármikor felkeressék további kérdésekkel. Amire persze nem sokára sor is került.
"Csodásan tudott magyarázni." Az általa felvázolt jövő egy valóban sok célra felhasználható számítógépről szólt, amivel nem csak katonai lövedékek röppályája számolható ki. Arra ösztönözte a programozókat, hogy minél többet hozzanak ki a vasból. "Mindig újabb és újabb kihívásokkal szembesített. Egyszer a mátrixok invertálásáról beszélt órákon át."

Rutin, szubrutin, strukturált programozás
A röppálya számítások rengeteg ismétlődő, csupán bemeneti adatokban eltérő kódot tartalmaznak. Az ENIAC hardver-fejlesztői rendre új paneleket, kapcsolókat és drót-hegyeket építettek be, további pár ezer cső mellett, ám a rendszer bővíthetőségének határait kezdte feszegetni. A ma már alapvető programozási közhelynek számító megoldásra McNulty jött rá. "Oh, tudom! Tudom! TUDOM! Egy mester program kell, ami újra és újra futtatja a kódot!" Pár nap kellett a megvalósításhoz, az elképzelés működött. "Azonnal mindent elkezdtünk átalakítani. Rutinokat, szubrutinokat, beágyazott rutinokat akartunk! Ahogy nekiestünk, a program szinte automatikusan modulokra, részekre tagozódott, ezt felismerve lettünk igazi program írókká."

Az ENIAC számítási eredményét nyomtató és tabuláló szerkezet 1946-ban. Photo: Bettmann/CorbisAz ENIAC számítási eredményét nyomtató és tabuláló szerkezet 1946-ban. Photo: Bettmann/Corbis

Az atombombával kapcsolatos számítások miatt az ENIAC léte is katonai titok volt. Amikor 1946 végén nyilvánosan is bemutatták a gépet - persze meghívottak számára -, akkor egy röppályát tizenöt másodperc alatt számolt ki. A gép nélkül ez egy tucat ember több heti munkájába került. Egy mai Macen ez pár tized másodperc - és akkor a magát célravezető, irányváltoztatásra képes robotrepülőkről nem is beszéltünk.
A bemutató sikeréhez az is hozzájárult, hogy Mauchly az óriásgép azon felére, amely a bemutatón látható volt, félbevágott ping-pong labdákat helyezett el minden második szellőzőlyukra. Ezeken a lyukakon át nem csak a forró levegő távozott, de fény is felvillant attól függően, hogy a háttérben a csövek éppen milyen állapotban voltak. A ping-pong labda szükség megoldás volt, az előre rendelt tejüvegen nem jött át a fény, ahhoz nem volt elég erős. Ráadásul Mauchly a féllabdákra számokat is írt, így úgy tűnt, mintha a számolás menetébe lehetne belátni, pedig a fények akár egy mai karácsonyi égősoré is lehettek volna.
Az eseményről beszámoló tévések kedvéért minden más fényt lekapcsoltak, így a gépezett a programozás diadalának fényjátékát mutatta be. "Megtettünk, amire hivatottak voltunk. Mi programoztuk az ENIAC-ot" - nyilatkozta az egyik lapnak Jennings.


Kevéssel 2011-ben bekövetkezett halála előtt Jean Jennings Bartik büszkén mesélt arról, hogy ez első általános célú számítógép programozását kizárólag nők végezték el. "Akkoriban rengeteg nő tanult matematikát, és rendelkezett azonnal felhasználható tudással, amire akkoriban jelentős igény mutatkozott. A férfiak úgy vélték, a hardver összerakása az igazi meló, a férfi munka" - tette hozzá ironizálva. "Akkoriban sokkal jobban élt a férfi-nő megkülönböztetés. Ha az ENIAC adminisztrátorai tisztában lettek volna azzal, hogy a prgramozás, a funkciók használata mennyire fontos az elektromos számítógép esetében, és milyen összetett feladat a miént, akkor valószínűleg a mi munkánkat férfiakra bízták volna."

A cikk eredetije 2014. október 6-án jelent meg a Fortune magazinban. Ez egy rövidített változat.

Nincsenek megjegyzések:

Megjegyzés küldése