Az igazi programozó nem Pascalban dolgozik
1. 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).
2. 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 cím 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:
- Az igazi programozó a szimbólum manipulációt
FORTRANban csinálja.
- Az igazi programozó a szövegkezelést FORTRANban
csinálja.
- Az igazi programozó a
gépidőelszámolást - már ha
megcsinálja egyáltalán - FORTRANban csinálja.
- 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 ‚rdemes
megcsinálni.
3. 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:
- Az igazi programozó nem fél a GOTO-tól.
- Az igazi programozó öt lap hosszú DO ciklust
ír anélkül, hogy belezavarodna.
- Az igazi programozó szereti az aritmetikai IF-eket -
érdekesebb tőlük a program.
- 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.
- 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.
4. 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.
5. 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ülírja 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:
- FORTRAN preprocesszorok, mint a MOTRAN és a RATFOR.
Gyermekké tesznek. Lásd a fenti megjegyzéseket a
strukturált programozásról.
- Forrásnyelvi debuggerek - az igazi programozó TUD dumpot
olvasni.
- 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.
- 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/
6. Az igazi programozó munka közben
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.
- Igazi programozók azok, akik a Los Alamos laborban dolgoznak,
és atombomba szimulációkat futtatnak CRAY I/II
gépeken.
- Igazi programozók fejtik meg az NASA-nál az orosz
adásokat.
- 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!).
- 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" című 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.
7. 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:
- 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.
- A meccsen az az igazi programozó, aki minden rúgást
összehasonlít a futtatott szimulácó
listájával.
- A strandon az az igazi programozó, aki
folyamatábrákat rajzol a homokba.
- 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."
- 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.
8. 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:
- 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.
- 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.
- Hacsak nem különlegesen jó, OS JCL
kézikönyvek és a Principles of Operation,
néhány érdekesebb részletnél kinyitva.
- A falon egy sornyomtató naptár (az 1969-es évre).
- A padlón szétszórva csokispapírok.
- 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:
- Az igazi programozó nem dolgozik 9-5-ig. (Hacsak nem este
9-től reggel 5-ig.)
- Az igazi programozó nem visel nyakkendőt.
- Az igazi programozó nem hord digócipőt.
- Az igazi programozó ebédre jön be /7/.
- Az igazi programozó vagy tudja a felesége nevét,
vagy nem. Mindenesetre az ASCII (vagy EBCDIC) kódtáblát
fejből tudja.
- Az igazi programozó nem tud főzni. Az ABC nincs nyitva
reggel 3-kor. Az igazi programozó ropin meg kávén
él.
9. 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
- Feirstein, B.: "Real Men Dont Eat Quiche", New York, Pocket Books, 1982.
- Wirth, N.: "Algorithms + Data Structures = Programs", Prentice-Hall,
1976.
- Ilson, Awe.: "Recent Research in Text Processing", IEEE Trans. Prof.
Commun., Vol PC-23, No. 4, Dec 4th 1980.
- 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.
- Weinberg, G.: "The Psychology of Computer Programming", New York, Von
Nostrand Reinhold, 1971, p.110.
- Dijkstra, E.: "On the GREEN Language submitted to the DoD", Sigplan
notices, Vol 3 No. 10, Oct 1978.
- sdcarl!lin, "Real Programmers", UUcp-net, Thurs Oct 21 16:55:16 1982.
- Rose, Frank.: "Joy of Hacking", Science 82, Vol 3 No. 9, Nov 82, pp
58-66.
- "The Hacker Papers", Psychology Today, August 1980.