Az igazi programozó nem Pascalban dolgozik

BEVEZETÉS

A régi szép időkben (a számítógépek "aranykorában") könnyű volt megkülönböztetni az "igazi férfiakat" a "hátulgombolósoktól". Akkor azok voltak az igazi férfiak, akik megértették a programozást, a hátulgombolósok pedig azok, akik nem. Az igazi programozó ilyeneket szólt, hogy "DO I=1,10", meg hogy "ABEND" (igazándiból színtiszta nagybetűkkel beszéltek), a többiek pedig azt mondták, hogy "a számítógép túl bonyolult nekem", meg hogy "nem tudok kapcsolatot teremteni a számítógéppel - nekem túlságosan személytelen". (Amint ezt az /1/ irodalomban láthatjuk, az igazi férfiak nem félnek attól, hogy nem tudnak kapcsolatot teremteni, és attól sem, hogy elszemélytelenednek.

Csakhogy, mint mindig, változnak az idők. Manapság olyan világgal kell szembenéznünk, amelyben öreg nénikéknek számítógép van a tűzhelyükben és 12 éves flipperező kölykök golyózhatják ki a kádból az igazi férfiakat. Manapság akárkinek lehet saját különbejáratú házi számítógépe. Az igazi programozót az a veszély fenyegeti, hogy kihal, és ZX80-nal felszerelt középiskolások fogják helyettesíteni.

Tiszta sor, hogy ki kell mutatnunk, mi a különbség a tipikus flipperező középiskolás és az igazi programozó között. Ha a különbséget tisztáztuk, ez mutat majd valamit a fiataloknak, valamit, amire törekedhetnek, egy apuka-képet, ha úgy tetszik. Ugyancsak segítünk megmagyarázni az igazi programozó főnökeinek, hogy hiba lenne, ha a vezetésük alatt álló igazi programozókat 12 éves flipper öcsikkel helyettesítenék (jelentős bérmegtakarítást érve el ezáltal).

NYELVEK

Legszembetűnőbb különbség a plebs és az igazi programozó között a használt nyelv. Az igazi programozó FORTRANban dolgozik. A hátulgombolós Pascalban. Egyszer Niklaus Wirth-et, a Pascal megalkotóját megkérdezték, hogy hívják, amire azt válaszota, hogy hívhatják név szerint "Virt"-nek, és érték szerint "Worth"-nek. (Lefordíthatatlan szójáték, a worth értéket is jelent.) Adódik, hogy Niklaus Wirth hátulgombolós, az igazi programozó csak egyféle paraméterátadási módot használ, mégpedig a cim szerintit, amint ezt az OS/370 G és H FORTRAN fordító teszi. Az igazi programozónak nincs szüksége ilyen absztrakt fogalmakra ahhoz, hagy elvégezze a munkáját - tökéletesen érzi magát egy kártyalyukasztóval, egy FORTRAN fordítóval, meg egy sörrel. úgyhogy jegyezzük meg a következőket:

1. Az igazi programozó a szimbólum manipulációt FORTRANban csinálja.

2. Az igazi programozó a szövegkezelést FORTRANban csinálja.

3. Az igazi programozó a gépidőelszámolást - már ha megcsinálja egyáltalán - FORTRANban csinálja.

4. Az igazi programozó a mesterséges intelligencia programokat FORTRANban csinálja.

Amit nem lehet megcsinálni FORTRANban, azt meg lehet csinálni assemblyben. Amit nem lehet megcsinálni assemblyben, azt nem lehet megcsinálni.

STRUKTURÁLT PROGRAMOZÁS

A számítógéptudomány tudósai az elmúlt öt évben kitalálták a strukturált programozást. Azt állítják, hogy a programokat könnyebb megérteni, ha bizonyos speciális nyelvi konstrukciókat és technikákat használunk, bár nem értenek teljesen egyet abban, hogy melyeket. Álláspontjukat rendszerint olyan példákkal illusztrálják, amelyek elférnek valami zugfolyóirat egy lapján - tisztán látszik, hogy ez nem elég ahhoz, hogy meggyőzzön bárkit is. Mikor kijártam az iskolát, azt hittem, hogy én vagyok a legtökösebb programozó a világon. Verhetetlen amőbaprogramot tudtam írni öt különböző nyelven, és 1000 soros programokat írtam, amelyek MÜKÖDTEK!. (Igazán!!.) Aztán a négybetűs életben az első feladatom az volt, hogy értsek meg egy 200000 soros FORTRAN programot, és gyorsítsam fel a kétszeresére. Akármelyik igazi programozó meg fogja mondani neked, hogy az egész világ strukturált programozása sem fog segíteni ilyen feladat megoldásakor, csak az, ha VALÓBAN tehetséges vagy. Néhány megfigyelés az igazi programozóról, és a strukturált programozásról:

1. Az igazi programozó nem fél a GOTO-tól.

2. Az igazi programozó öt lap hosszú DO ciklust ír anélkül, hogy belezavarodna.

3. Az igazi programozó szereti az aritmetikai IF-eket - érdekesebb tőlük a program.

4. Az igazi programozó önmódosító kódot ír - különösen akkor, ha meg bír vele spórolni 20 nanoszekundumot egy kis ciklus közepén.

5. Mivel a FORTRANban nincs strukturált REPEAT, UNTIL vagy CASE utasítás, az igazi programozónak nem kell ügyelnie arra, hogy ne használja ezeket. (De persze szükség esetén szimulálhatja őket GOTO-val.)

Az adatstruktúráknak is sok figyelmet szentelnek újabban, bizonyos körökben egyre népszerűbbek az absztrakt adattípusok, pointerek, listák, stringek. Wirth (a fent említett hátulgombolós) képes volt megírni egy egész könyvet erről /2/, amiben azt mondja, hagy a programot nem akárhogy kell megírni, hanem az adatstruktúrákra kell építeni. Viszont amint ezt minden igazi programozó tudja, az egyetlen használható adatstruktúra a tömb. Stringek, listák, struktúrák, halmazok: ezek mind a tömb speciális esetei, és ugyanúgy is kezelhetjük őket, anélkül, hogy a programozási nyelvünket túlbonyolítanánk velük. A legrosszabb mindamellett ezekben az adatstruktúrákban az, hogy ráadásul külön deklarálni is kell őket, pedig az igazi programozási nyelvekben, amint azt mindannyian tudjuk, implicit típusdefinició van a (6 betűs) változónév első karaktere alapján.

OPERÁCIÓS RENDSZEREK

Milyen operációs rendszert használ egy igazi programozó? CP/M-et? Isten ments, a CP/M igazából egy játékszer operációs rendszer, csak anyókák és iskoláskölykök értik meg és használják.

A UNIX sokkal komplikáltabb - az átlagos UNIX buherátornak sose jut eszébe, hogy is hívják ezen a héten a PRINT parancsot - de ha belejövünk, kiderül, hogy a UNIX egy reklámozott videójáték. Az emberek nem csinálnak komoly munkákat UNIX alatt - vicceket küldözgetnek szerte a világba az UUCP hálózaton, meg kalandjátékokat írnak.

Nem, az igazi programozó természetesen OS/370-et használ. Az igazi programozó csak előveszi a JCL kézikönyvét, és máris megtalálja (és meg is érti!) az IJK305I üzenet leírását. Az igazi programozó JCL-t tud írni anélkül, hogy egyáltalán kinyitná a kézikönyvet. Az igazán dögös programozó hexa számológép nélkül találja meg a hat megabyteos dumpban a hibát. (A saját szememmel láttam!)

Az OS igazán figyelemreméltó operációs rendszer. Több napos munkát lehet tönkretenni egyetlen rossz helyre rakott szóközzel, úgyhogy az éberség, az kívánatos. A rendszerhez hozzáférés tuti eszköze a kártyalyukasztó. Némelyek ugyan azt állítják, hogy az OS/370 alatt időosztásos rendszer is van, de gondos vizsgálat után arra a következtetésre jutottam, hogy ez tévedés.

ESZKÖZÖK

Milyen eszközöket használ az igazi programozó? Elméletileg az igazi programozó a mérnöki pultról is bebillenyűzheti a programjait. Hajdanában, mikor a számítógépeknek még voltak mérnöki pultjaik, és ez némelykor így is történt. A tipikus igazi programozó az egész betöltőt fejből tudja hexában, és kijavítja, ha a programja felülirja azt. (Annakidején a memória még memória volt, és nem felejtett el mindent, mikor az áramot kikapcsolták. Manapság vagy elfelejti a dolgokat amikor nem kéne, vagy olyasmire is emlékszik, amit jobb lett volna elfelejteni.) A legenda szerin Seymour CRAY, a CRAY I és II szuperszámítógépek tervezője (meg a legtöbb CDC gépé) a CDC 7600 első operációs rendszerét a mérnöki pultról pötyögte be, amikor a gépet először bekapcsolták. Fölösleges mondanunk, hogy Seymour Cray természetesen igazi programozó.

Kedvenc igazi programozóm a Texas Instruments egyik rendszerprogramozója. Az egyik nap távolsági hívást kapott egy usertől, akinek fejreállt az operációs rendszere egy fontos munka mentésének a közepén. Jim telefonon keresztül megjavította a kárt, lemez i/o utasításokat iratva be a userrel a mérnöki pultról, aztán hexában kijavította a rendszertáblázatokat, a regisztereket meg telefonon olvasták neki. Erkölcsi tanulság: bár az igazi programozó szerszámkészletében van egy lyukasztó és egy sornyomtató, szükség esetén meg bír lenni egy telefonnal meg egy mérnöki pulttal is.

Némely cégeknél a szövegszerkesztés többé nem úgy néz ki, hogy tíz mérnök áll sorba egy 029-es lyukasztóhoz. Igazándiból abban az épületben, ahol én dolgozom, nincs is lyukasztó. Az igazi programozó ilyen helyzetben szövegszerkesztőkkel dolgozik. A legtöbb rendszerben többféle szövegszerkesztő van, és az igazi programozónak gondosan ki kell választania azt, amelyik a legjobban illik az egyéniségéhez. Sokan úgy gondolják, hogy a világon a legjobb szövegszerkesztőket a Xerox palo altói kutatóközpontjában fejlesztették ki, az Alto és Dorado gépekre. /3/ Sajnálatos módon nincs olyan igazi programozó, aki olyan gépet használt volna, ahol az operációs rendszert Smalltalknak hívják, és természetesen olyan sem, aki az egér farkát rángatná.

Némely dolgot ezekből a Xerox editorokból megcsináltak olyan gépen is, ahol az operációs rendszernek rendes neve van. Ilyen az EMACS és a VI. A gond ezekkel az editorokkal az, hogy az igazi programozó szerint az "azt kapod amit látsz" elv éppen olyan hibás az editoroknál, mint a nőknél. Nem, az igazi programozó az "ezt akartad, hát nesze" editort szereti - bonyolultat, titokzatosat, veszélyeset. TECO-t, példának okáért.

Megfigyelték, hogy egy TECO parancssorozat jóval érzékenyebb a vonal zajára, mint az olvashatóbb szöveg. /4/ Az egyik izgalmas játék amit a TECO-val játszani lehet, hogy beírjuk a nevünket parancsnak, aztán megpróbáljuk kitalálni, mit csinál. Gyakorlatilag bármely gépelési hiba valószínűleg tönkreteszi a programot, vagy rosszabb esetben finom, misztikus hibákat helyez egy már működő szubrutinba.

Ebből kifolyólag az igazi programozók kerülik egy majdnem működő program editálását - úgy gondolják, hogy egyszerűbb belenyúlni a bináris kódba a SUPERZAP programmal (vagy ennek megfelelőjével a nem IBM gépeken). Ez a recept annyira jó, hogy az IBM gépeken sok működő programnak már nincs is köze az eredeti forráskódhoz. Sokszor az eredeti forrás már nincs is meg. Most mikor egy ilyen programba bele kell nyúlni, a főnök nem tehet mást, minthogy hív egy igazi programozót. Nincs olyan hátulgombolós strukturált programozó, akinek egyáltalán fogalma lenne arról, hol is kell kezdeni. Ezt hivják "biztosított munkahelynek".

Néhány olyan szerszám, amit az igazi programozó nem használ:

1. FORTRAN preprocesszorok, mint a MOTRAN és a RATFOR. Gyermekké tesznek. Lásd a fenti megjegyzéseket a strukturált programozásról.

2. Forrásnyelvi debuggerek - az igazi programozó TUD dumpot olvasni.

3. Indextúlcsordulást jelző fordítók. Tönkreteszik a kreativitást, az EQUIVALENCE izgalmasabb használatát, és lehetetlenné teszik a rendszerterület negatív indexekkel módosítását.

4. Forráskód nyilvántartó rendszerek. Az igazi programozó a forráskódot zárt szekrényben tartja, mert nyilvánvaló, hogy a tulajdonos nem hagyhatja őrizetlenül szanaszéjjel értékes programjait. /5/

AZ IGAZI PROGRAMOZÓ MUNKA KÖZBAN

Hol dolgozik az igazi programozó? Milyen programok, méltók ilyen tehetséges egyéniség erőfeszítésére? Biztosak lehetünk abban, hogy az igazi programozót nem fogjuk rajtakapni, amint éppen számlázóprogramot ír COBOLban, vagy az előfizetők címlistáját szortolja valami folyóiratnak. Az igazi programozó betű szerint eget-földet rázó feladatot kíván.

1. Igazi programozók azok, akik a Los Alamos laborban dolgoznak, és atombomba szimulációkat futtatnak CRAY I/II gépeken.

2. Igazi programozók fejtik meg az NSA-nál az orosz adásokat.

3. Jórészt több ezer igazi programozó erőfeszítésének köszönhető, hogy a mieink hamarább eljutottak a Holdra mint a ruszkik (és vissza is jöttek!).

4. Igazi programozók dolgoznak a Boeingnél és írják a cirkáló rakéták operációs rendszereit.

A legtökösebb igazi programozók közül néhány a Jet Propulsion laborban dolgozik Kaliforniában. Sokan közülük fejből tudják a Voyager és a Pioneer űrszondák operációs rendszerét.

Nagy, földi FORTRAN programok és kis, a szondán levő assembly programok kombinációival a navigáció és a rögtönzés hihetetlen mutatványát vitték véghez, 10 km-es pontossággal érve a Szaturnuszhoz 6 év repülés után, kijavítva vagy átkapcsolva a tönkrement rádiókat, érzékelőket, telepeket. Állítólag egy igazi programozónak sikerült a Voyager szondán néhány száz byte használatlan területre besuvasztani egy mintafelismerő programot, amely megkereste, megtalálta és lefényképezte a Jupiter egy ismeretlen holdját.

A jelenlegi tervek szerint a Galileo űrszonda gravitációval segített pályán fog menni a Mars mellett a Jupiter felé. Ez a pálya 80+-3 km-re halad el a Mars felszíne fölött. Ilyen pontosságú navigációt senki sem bízna egy Pascal programra (vagy egy Pascal programozóra).

Amint ez sejthető, a világ sok igazi programozója dolgozik az amerikai kormánynak (Jórészt a hadügyminisztériumnak). Ennek nyilván így is kell lennie. Újabban sötét felhő jelent meg az igazi programozó láthatárán. Úgy tünik, hogy a Hadügyminisztériumban valami magas polcra került hátulgombolósok az találták ki, hogy minden katonai programnak valami teljesen egységes "Ada" nevezetű nyelvben kell íródnia (Copyright DoD). Egy ideig úgy tűnt, hogy az Ada olyan nyelv, amely az igazi programozással ellentétes - vannak benne struktúrák, adattípusok, szigorú típusellenőrzés meg pontyosvesszők. Szóval olyan nyelv, ami kiszorítja a kreativitást az igazi programozóból. Szerencsére a Hadügyminisztérium által elfogadott nyelv elég érdekes ahhoz, hogy az igazi programozó számára is elviselhető legyen - bonyolult, és tartalmaz olyan lehetőségeket, amelyekkel meg lehet kavarni az operációs rendszert, újrarendezni a memóriát. És Edsgar Dijkstrának nem tetszik. /6/ (Dijkstra, amint ezt az olvasó bizonyára tudja, a "GOTO utasítás közismert ártalmasságáról" cimű cikk szerzőjeként szerzett hírnevet, amely mérföldkő volt a programozásmódszertan fejlődésében, és a Pascal programozók meg a hátulgombolósok tapsa kísérte.) Egyébként az igazi programozó akármilyen nyelvben is bír FORTRAN programokat írni.

Az igazi programozó kompromisszumot is köthet, és dolgozhat valami kevésbé triviális feladaton is, mint az emberek kipusztítása, feltéve, hogy eleget fizetnek. Példának okáért néhány igazi programozó videojátékokat ír az Atarinak. (De persze nem játszik velük, mert az igazi programozó mindig tudja, hogyan kell megverni a gépet, és ebben nincs semmi érdekes.) A Lucasfilmnél mindenki igazi programozó. (Igazán hülyeség lenne nem megcsapolni ötvenmilló Startrek-szurkoló pénzét.) A számítógépes grafika területén az átlagnál kevesebb az igazi programozó, valószínűleg azért, mert még sem sem jött rá, mire is jó a számítógépes grafika. Másrészt viszont a grafikát FORTRANban csinálják, úgyhogy elég sok ember grafikázik, így kerülve el azt, hogy COBOLban kelljen adatfeldolgoznia.

AZ IGAZI PROGRAMOZÓ JÁTÉK KÖZBEN

Az igazi programozó azzal játszik, amivel dolgozik. Igazából folytonosan csodálkozik, hogy a munkaadója fizet azért, hogy ő azt csinálja, amit egyébként is tenne (de persze óvakodik attól, hogy ezt hangosan is kifejezze). Mindenesetre néha kilép a szobájából egy kiss friss levegőt szívni, meg pár üveg sörért. Néhány tipp, miről ismerszik meg az igazi programozó a számítógéptől távol:

1. Buliban azok az igazi programozók, akik a sarokban ülve az operációs rendszerek védelméről beszélgetnek, meg arról, hogy hogyan lehet azt megkerülni.

2. A meccsen az az igazi programozó, aki minden rúgást összehasonlít a futtatott szimulácó listájával.

3. A strandon az az igazi programozó, aki folyamatábrákat rajzol a homokba.

4. Temetésen az igazi programozó mondja azt, hogy "Szegény George, pont befejezte volna azt a szortoló rutint, ha el nem viszi a szívroham."

5. Az ABC-ben az az igazi programozó, aki maga akarja a lézerceruzával leolvasni a vonalkódot a konzervekről, mondván, hogy a kártyáit se bízta sose a lyukasztókra.

AZ IGAZI PROGRAMOZÓ TERMÉSZETES SZOKÁSAI

Milyen környezetben érzi jól magát az igazi programozó? Ez ugye fontos kérdés az igazi programozó főnökeinek. Tekintve, hogy az igazi programozó mennyibe kerül, érdemes őt olyan környezetbe helyezni, ahol a legjobban végzi a munkáját.

A tipikus igazi programozó élettere termináljának közvetlen közelére terjed ki. Ezen teminál körül a következők találhatók:

1. Az összes program listája, amelyen az igazi programozó valaha is dolgozott, nagyjából időrendi sorrendben, elfogalva a szoba összes sík felületét.

2. Vagy fél tucat félig üres csésze hideg kávé. Esetleg csikkek is úszhatnak a kávéban, ha nem lehetett megtalálni a listák között a hamutartót. Néha a csészékben narancslé van.

3. Hacsak nem különlegesen jó, OS JCL kézikönyvek és a Principles of Operation, néhány érdekesebb részletnél kinyitva.

4. A falon egy sornyomtató naptár (az 1969-es évre).

5. A padlón szétszórva csokispapírok.

6. A fiók alján egy folyamatábrarajzoló sablon, amit az előző lakó hagyott itt. (Az igazi programozó programokat ír, nem pedig dokumentációt.)

Az igazi programozó 30, 40. vagy akár 50 órát is tud dolgozni egyfolytában, intenzív nyomás alatt. Igazából így szeret dolgozni. A hosszú válaszidő nem zavarja az igazi programozót - legalább szundíthat egy kicsit, míg lemegy a fordítás. Ha nincs elég nyomás az igazi programozón, úgy igyekszik rendezni a dolgokat, hogy a feladat valami kis, de érdekes részével fogalalkozik kilenc hétig, majd a maradékot az utolsó héten fejezi be, két vagy három, 50 órás maratonban. Ezzel nem csak az őrületbe kergeti a főnökét, aki úgy gondolja, hogy a projekt sosem lesz kész, hanem ugyancsak jó ürügye van arra, hogy ne kelljen dokumentációt csinálnia. Általában:

1. Az igazi programozó nem dolgozik 9-5-ig. (Hacsak nem este 9-től reggel 5-ig.)

2. Az igazi programozó nem visel nyakkendőt.

3. Az igazi programozó nem hord digócipőt.

4. Az igazi programozó ebédre jön be /7/.

5. Az igazi programozó vagy tudja a felesége nevét, vagy nem. Mindenesetre az ASCII (vagy EBCDIC) kódtáblát fejből tudja.

6. Az igazi programozó nem tud főzni. Az ABC nincs nyitva reggel 3-kor. Az igazi programozó ropin meg kávén él.

A JÖVÖ

Mit mondhatunk a jövőről? Mindenesetre el kell gondolkodnunk azon, hogy a programozók újabb generációjának nem olyan az életszemlélete, mint az elődeiknek. Sokan közülük nem is láttak olyan számítógépet, amelynek egyáltalán lett volna mérnöki pultja. Manapság szinte egyikük sem tud számológép nélkül hexában számolni. A most végzettek puhák, megvédték őket a programozás valóságától a forrásszintű nyomkövetők, a zárójeleket számoló szövegszerkesztők meg a "barátságos" operációs rendszerek. Sőt, ami a legszörnyűbb, ezek közül az úgynevezett számítógéptudósok közül némelyek anélkül kerülnek ki az egyetemről, hogy megtanulták volna a FORTRANt. El fogják árasztani a világot a UNIX buzerátorok meg a Pascal programozók?

Nekem úgy tűnik, hogy az igazi programozó számára van jövő. Sem az OS/370 sem a FORTRAN nem mutatja a kihalás jelét, a világ minden Pascal programozója összes erőfeszítése ellenére. Még olyan kis trükkök is, hogy a FORTRANba strukturált kódolási konvenciókat vezessenek be, sikertelenül jártak.

Persze megjelentek már a FORTRAN-77 fordítók, de hál' Istennek mindegyiket vissza lehet kapcsolni a jó öreg FORTRAN-66-ba már az első programsorban, hogy úgy forduljanak a DO ciklusok, ahogy azt az Isten megteremtette.

Még a UNIX sem olyan rossz az igazi programozónak mint hajdanán volt. A legutóbbi UNIX verziók már egészen úgy néznek ki, mint egy operációs rendszer, olyan, amely méltó az igazi programozó érdeklődésére. Két különböző, és kicsit inkompatibilis user interface, misztikus bonyolult teletype driver, meg virtuális memória. Ha figyelmen kívül hagyjuk azt a tényt, hogy a C "strukturált", még a C programozás is elfogadható az igazi programozónak. Végül is nincs ellenőrzés, a változónevek hét (tíz? nyolc?) karakteresek, és bedobták a pointer adattípust is, mintha a FORTRAN és az assembly legjobb részei össze lennének keverve. És még nem is szóltunk a DEFINE ravaszabb használatáról.

Nem, a jövő nem tűnik sötétnek. Az elmúlt néhány évben a sajtó még meg is jegyezte, hogy igazi programozók és buherátorok kerülnek ki a Stanfordról és a MIT-ről is. Láthatóan az igazi programozás szelleme bennük is él. Amíg lesznek betegen definiált célok, bizarr hibák és teljesíthetetlen határidők, mindig lesznek igazi programozók, akik rábukkannak a problémára, és megoldják, megspórolva a dokumentációt. Sokáig éljen a FORTRAN.

Köszönetnyilvánítás

Köszönetemet fejezem ki Jan E.-nek, Dave S.-nek, Rich G.-nek és Rich E.-nek, mert segítettek jellemezni az igazi programozót, Kathy E.-nek, hogy rávett, és ATD!AVSDS:MARK-nak a kezdeti inspirációért. (Meg magamnak, Dave N.-nak a gépelésért!)

Irodalom

1. Feirstein, B.: "Real Men Dont Eat Quiche", New York, Pocket Books, 1982.

2. Wirth, N.: "Algorithms + Data Structures = Programs", Prentice-Hall, 1976.

3. Ilson, Awe.: "Recent Research in Text Processing", IEEE Trans. Prof. Commun., Vol PC-23, No. 4, Dec 4th 1980.

4. Finseth, C.: "Theory and Practice of Text Editors - or - a Cookbook for An EMACS", B.S. thesis, MIT/LCS/TM-165, Massachusetts Institute of Technology, May 1980.

5. Weinberg, G.: "The Psychology of Computer Programming", New York, Von Nostrand Reinhold, 1971, p.110.

6. Dijkstra, E.: "On the GREEN Language submitted to the DoD", Sigplan notices, Vol 3 No. 10, Oct 1978.

7. sdcarl!lin, "Real Programmers", UUcp-net, Thurs Oct 21 16:55:16 1982.

8. Rose, Frank.: "Joy of Hacking", Science 82, Vol 3 No. 9, Nov 82, pp 58-66.

9. "The Hacker Papers", Psychology Today, August 1980.