Praví programátori nepoužívajú Pascal

List redakcii časopisu Datamation, zväzok 29, číslo 7, z júla 1983. Moja fotokópia sa už dávno stratila, ale verím, že ho napísal (a autorské práva vlastní) Ed Post, Tektronix, Willsonville, Oregon, USA.

V tých starých dobrých časoch (zlatej ére počítačov) bolo ľahké rozoznať chlapov od chlapcov (v literatúre nazývaných Pravými mužmi voči čajíčkarom). Praví muži rozumeli programovaniu a čajíčkari boli tí ostatní. Pravý programátor hovoril veci ako DO 10 I=1,10 či ABEND (a hovoril to veľkými písmenami, veď viete), kým zvyšok sveta tvrdil, že „počítače sú pre mňa zložité“ a „nemám k nim vzťah, sú také neosobné“. (Predošlá práca [1] ukázala, že Praví muži nemusia mať vzťah k ničomu a neboja sa byť neosobnými.)

Ale, ako to už býva, časy sa zmenili. Ocitli sme sa vo svete, kde aj dôchodkyne majú počítače v mikrovlnkách, dvanásťročné deti drvia Pravých mužov v Asteroidoch a Pac-Manovi a ktokoľvek má možnosť kúpiť si svoj vlastný osobný počítač a pochopiť ho. Pravým programátorom hrozí vyhynutie alebo nahradenie šiestakmi s TRASH-801.

Nastal však čas poukázať na rozdiely medzi hráčom Pac-Mana a Pravým programátorom. Ak zdôrazníme rozdiely, dáme týmto deťom inšpiráciu a ukážeme im otcovské vzory, ktoré budú chcieť nasledovať. Zároveň tým ukážeme, prečo je chybou nahradiť Pravých programátorov dvanásťročnými pac-manistami (aj keď sa tým ušetrí na platoch).

1.0 Jazyky

Pravý programátor (alebo programátorka) sa od šedej masy líši v programovacom jazyku, ktorý používa. Praví programátori používajú Fortran, čajíčkari zase Pascal. Nicklaus Wirth, autor Pascalu, raz na prednáške dostal otázku: „Ako vyslovujete svoje meno?“ Odpovedal: „Môžete ma volať menom — virt — alebo hodnotou — vört2.“ Už podľa tejto poznámky je vidieť, že Nicklaus Wirth je čajíčkar. Praví programátori totiž uznávajú jediný spôsob odovzdávania parametrov: volanie hodnotou pri návrate3 tak, ako to bolo implementované v kompilátoroch Fortranu G a H na IBM/370. Praví programátori nepotrebujú žiadne abstraktné pojmy, aby spravili, čo treba — ku šťastiu im stačí dierovačka štítkov, kompilátor Fortranu IV a pivo.

  • Praví programátori spracovávajú zoznamy vo Fortrane.
  • Praví programátori spracovávajú texty vo Fortrane.
  • Praví programátori riešia finančné procesy (ak to vôbec robia) vo Fortrane.
  • Praví programátori vyvíjajú umelú inteligenciu vo Fortrane.

Ak to nedokážu urobiť vo Fortrane, urobia to v assembleri. Ak sa to nedá urobiť v assembleri, nemá zmysel sa tým zapodievať.

V posledných pár rokoch sa akademici rozhodli nasadnúť na vlak „štruktúrovaného programovania“. Tvrdia, že programy sa chápu omnoho ľahšie, ak ich autori využívajú špeciálne jazykove konštrukcie a techniky. Nedokážu sa však zhodnúť na tom, ktoré konštrukcie by to mali byť. Príklady, ktoré používajú na demonštrovanie svojho názoru, sa bez výnimky zmestia na jednu stránku ktoréhosi z obskúrnych zborníkov či vedeckých časopisov, čo očividne nestačí na to, aby kohokoľvek presvedčili.

Keď som skončil školu, považoval som sa za najlepšieho programátora na svete. Dokázal som písať neporaziteľné programy pre piškvorky, ovládal päť programovacích jazykov a tvoril tisícriadkové programy, ktoré fungovali (naozaj!). Potom som sa ocitol vo svete Pravých programov. Moja prvá úloha bola prečítať a pochopiť dvestotisícriadkový program vo Fortrane a potom ho dvakrát urýchliť. Každý Pravý programátor vám povie, že ani všetko štruktúrované programovanie sveta vám pri riešení takýchto problémov nepomôže. Vyžadujú totiž naozajstný talent. Niekoľko stručných pozorovaní o Pravých programátoroch a štruktúrovanom programovaní:

  • Praví programátori sa neboja používať GOTO.
  • Praví programátori dokážu písať päťstranové DO-cykly bez toho, aby sa v nich stratili.
  • Praví programátori majú radi aritmetický IF, pretože s nimi je kód zaujímavejší.
  • Praví programátori píšu samomodifikujúci sa kód, najmä vtedy, keď ním ušetria dvadsať nanosekúnd uprostred často vykonávaného kratučkého cyklu.
  • Praví programátori nepoužívajú komentáre — kód je zjavný.
  • Keďže Fortran nemá štrukturovaný IF, ani REPEATUNTIL, či CASE, praví programátori si nemusia lámať hlavu, či ich použiť alebo nie. Okrem toho, v nevyhnutných prípadoch sa dajú simulovať vhodným použitím GOTO.

V poslednom čase sa tiež dosť popísalo o dátových štruktúrach. Abstraktné dátové typy, záznamy, smerníky, zoznamy či reťazce sa stali v istých kruhoch veľmi populárnymi. Wirth (už spomínaný čajíčkar) dokonca napísal celú knihu [2] o tom, ako možno písať programy tým, že začnete dátovými štruktúrami a nie naopak. Všetci Praví programátori však vedia, že jediná užitočná dátová štruktúra je pole. Reťazce, zoznamy, záznamy, či množiny sú len špeciálne prípady polí a mali by sa takto používať. Vôbec nimi netreba komplikovať programovací jazyk. Najhoršia vlastnosť všakovakých dátových typov je nutnosť ich deklarovania pri premenných. Praví programátori, ako vieme, využívajú implicitné typovanie založené na prvom písmene (šesťznakového) názvu premennej4.

2.0 Operačné systémy

Aký operačný systém používajú Praví programátori? CP/M? Ani omylom — veď CP/M je v podstate len hračkársky operačný systém. Veď CP/M dokáže pochopiť aj dôchodkyňa či ôsmak na základnej škole.

Unix je samozrejme omnoho zložitejší. Typický unixovský hacker si nikdy nevie spomenúť, ako sa tento týždeň nazýva príkaz PRINT, ale keď sa to tak vezme, Unix je len preceňovaná počítačová hra. Na unixových systémoch nik nerobí „serióznu robotu“: všetci si na ňom len preposielajú cez UUCP-net vtipy, tvoria textové hry alebo píšu vedecké články.

Pravý programátor používa OS/370. Dobrý programátor dokáže nájsť a pochopiť popis chyby IJK305I, ktorá sa mu zjavila, vo svojom manuále k JCL5. Výborný programátor dokáže programovať v JCL a nepoužívať manuál. Ale len naozaj výnimočný programátor však dokáže nájsť chyby zahrabané v šesťmegabajtovom výpise pamäti bez použitia hexadecimálnej kalkulačky (Toto som videl na vlastné oči.)

OS/370 je naozaj výnimočný operačný systém. Stačí jedna medzera na nesprávnom mieste a celé dni práce sú v ťahu, čo znamená, že programátorský team musí byť v neustálej ostražitosti. Najlepší spôsob, ako pristupovať k systému, je používať dierovačku štítkov. Niektorí ľudia síce tvrdia, že OS/370 ponúka systém súčasného prístupu viacerých používateľov6, ale po dôkladnom štúdiu som dospel k záveru, že sa mýlia.

3.0 Programovacie nástroje

Aké nástroje používa Pravý programátor? Teoreticky by mohol spúšťať svoje programy tým, že ich zadá cez prepínače na prednom paneli počítača. Za čias, keď ešte počítače mávali predné panely, sa to z času na čas naozaj robilo. Typický Pravý programátor ovládal naspamäť celý bootloader (a to v šestnástkovej sústave), a keď mu ho program omylom prepísal, nerobilo mu problém ho obnoviť. (V tých časoch bola pamäť naozaj pamäťou: po vypnutí sa jej obsah nestratil. Dnes dokáže pamäť zabudnúť veci presne vtedy, ak to nechcete, alebo si ich pamätá dávno po tom, čo mali zmiznúť.) Legenda hovorí, že Seymore Cray, vynálezca superpočítača Cray I a väčšiny počítačov v Control Data, zadal operačný systém pre prvýkrát zapnutý CDC7600 cez prepínače predného panela, a to spamäti. Netreba zdôrazňovať, že Seymore je Pravý programátor.

Jeden z mojich obľúbených Pravých programátorov bol systémový programátor pre Texas Instruments. Raz mal medzimestský hovor od používateľa, ktorého systém spadol práve pri ukladaní dôležitej práce. Jim dokázal po telefóne zvrátiť katastrofu tým, že po telefóne diktoval používateľovi vstupno-výstupné inštrukcie, ktoré mali byť zadané cez prepínače predného panela, následne opravil systémové tabuľky v šestnástkovej sústave, pričom si nechával od používateľa čítať obsahy registrov. Poučenie z tohto príbehu: Pravý programátor máva vo svojej výbave dierovačku a riadkovú tlačiareň, ale v núdzových prípadoch si vystačí len s predným panelom a telefónom.

V niektorých spoločnostiach už nepotrebujú na úpravu textov desiatich inžinierov, čo stoja vo fronte na dierovačku 029. V budove, kde pracujem, dokonca už dierovačky úplne vymizli. V takejto situácii musí Pravý programátor pracovať s takzvaným „textovým editorom“. Väčšina systémov dáva na výber niekoľko z nich a Pravý programátor si musí starostlivo zvoliť ten, ktorý zodpovedá jeho štýlu. Mnohí si myslia, že najlepšie textové editory vznikli vo výskumnom centre Xeroxu v Palo Alto pre účely počítačov Alto a Dorado [3]. Žiaľ, Pravý programátor nikdy nebude pracovať na počítači, ktorého operačný systém sa volá SmallTalk (Kecanie) a už vôbec nebude „kecať“ s počítačom, ku ktorému je pripojená myš.

Niektoré z xeroxovských ideí sa zahrnuli aj do editorov, ktoré bežia na operačných systémoch s rozumnejšími názvami — spomeňme napríklad Emacs a vi. Problém s týmito editormi spočíva v tom, že Praví programátori považujú filozofiu WYSIWYG („what you see is what you get“, teda „dostaneš, čo vidíš“) za zlý nápad pri editoroch práve tak, ako to platí ženách. Práve naopak, Pravý programátor chce textový editor s filozofiou „dostaneš, čo si chcel“ — teda editor komplikovaný, záhadný, ale mocný, nebezpečný a neodpúšťajúci chyby. Teda editor TECO.

Zistilo sa, že postupnosť príkazov v editore TECO sa podobá viac šumu v prenosovej linke než čitateľnému textu [4]. Jedna z tých zábavnejších kratochvíľ, ktoré môžete zažiť s TECOm, je zadávanie svojho mena do príkazového riadku a hádanie, čo sa stane. Takmer každý preklep v práci s TECOM povedie buď k zničeniu programu, alebo k niečomu ešte horšiemu — napríklad k zavedeniu nenápadných a záhadných chýb do rutiny, ktorá kedysi fungovala.

To je dôvod, prečo Praví programátori len veľmi neradi upravujú program, ktorý už takmer funguje. Oveľa radšej patchujú hotový binárny kód, na čo používajú fantastický program SUPERZAP (alebo jeho ekvivalent na neIBM strojoch). To funguje tak spoľahlivo, že mnoho fungujúcich programov na systémoch IBM už nemá žiaden súvis s ich pôvodným zdrojovým kódom vo Fortrane. V mnohých prípadoch už pôvodný zdrojový kód jednoducho neexistuje. Ak je potrebné opraviť takýto program, manažér nemôže pomyslieť na nikoho iného než Pravého programátora, pretože bežný čajíčkar ani netuší, kde začať. Toto sa nazýva „istotou zamestnania“.

4.0 Čo nepoužíva pravý programátor

Niektoré z programovacích nástrojov, ktoré nepoužívajú Praví programátori:

  • preprocesory Fortranu ako MORTRAN, či RATFOR.
  • programátorské kuchárky či recepty. Tie sa totiž hodia tak na prípravu čajov. (Pozri tiež vyššie uvedené postrehy k štruktúrovanému programovaniu.)
  • debuggery s použitím zdrojáku. Praví programátori totiž dokážu čítať výpisy pamäte v core dumpe.
  • kompilátory s kontrolou medzí polí. Obmedzujú tvorivosť, bránia najzaujímavejším použitiam EQUIVALENCE a znemožňujú modifikovať operačný systém pomocou záporných indexov. A čo je najhoršie, kontrola medzí polí je neefektívna.
  • systémy na udržiavanie zdrojových kódov. Praví programátor má všetok kód na diernych štítkoch v zamknutom priečinku, pretože majiteľ kódu si nemôže dovoliť nechať ho nechránený [5].

5.0 Pravý programátor pri práci

Kde pracuje typický Pravý programátor? Aké programy sú hodné úsilia týchto najväčších talentov? Môžete si byť istí, že Pravého programátora nikdy nepristihnete pri písaní účtovníckych programov v COBOLe alebo pri triedení zoznamov predplatiteľov časopisu People. Pravý programátor chce úlohy, ktoré otrasú svetom (a to doslova).

  • Praví programátori pracujú pre Národné laboratóriá v Los Alamos, kde píšu simulácie výbuchu atómových bômb, ktoré bežia na superpočítačoch Cray I.
  • Praví programátori pracujú pre Národnú bezpečnostnú agentúru, kde dešifrujú sovietske prenosy.
  • Najmä vďaka úsiliu tísicok Pravých programátorov pracujúcich pre NASA sa naši chlapci dostali na Mesiac a späť skôr než Rusáci.
  • Počítače v raketoplánoch boli naprogramované Pravými programátormi.
  • Praví programátori pracujú pre Boeing, kde navrhujú operačné systémy pre riadené strely.

Niektorí z tých najúžasnejších Pravých programátorov sveta pracujú v laboratóriách Jet Propulsion Labs v Kalifornii. Mnohí z nich poznajú celý operačný systém Pioneeru či Voyager naspamäť. Vďaka kombinácii obrovských fortranovských programov na Zemi a assemblerovských programov bežiacich na vesmírnych sondách dosahujú ohromné ciele v navigácii a improvizácii. Dokážu zasiahnuť desaťkilometrové okno na Saturne po šiestich rokoch letu, alebo opraviť či premostiť poškodené obvody senzorov, vysielačov či batérií. Hovorí sa, že istý Pravý programátor dokázal vtesnať program na vyhľadávanie vzorov do zopár stoviek bajtov nevyužitej pamäte v sonde Voyager, ktorý hľadala, našla a odfotografovala neznámy mesiac Jupitera.

Súčasný plán pre sondu Galileo stavia na využití gravitácie Marsu pri navrhovaní trajektórie k Jupiteru. Tá vedie 80 kilometrov (plus/mínus 3 kilometre) nad povrchom Marsu. Pri takýchto toleranciách by sa nik nespoliehal na navigačný program napísaný v Pascale (alebo pascalového programátora).

Možno povedať, že väčšina svetových Pravých programátorov pracuje pre americkú vládu — najmä pre Ministerstvo obrany. Tak to má byť. Nedávno sa však na horizonte Pravých programátorov zjavil temný mrak. Ukazuje sa, že niekoľko vysokopostavených čajíčkarov na Ministerstve obrany rozhodlo, že všetky obranné programy majú byť vytvorené vo veľkom jednotnom jazyku nazývanom Ada ((C) Min. obrany). Istý čas to vyzeralo tak, že Ada bude jazykom, ktorý pôjde voči všetkým princípom Pravého programovania — má to byť štruktúrovaný jazyk s dátovými typmi, silným typovaním a bodkočiarkami. Inými slovami, jazyk navrhnutý na to, aby bránil tvorivosti typického Pravého programátora. Našťastie, jazyk prijatý Ministerstvom obrany si ponechal dostatok zaujímavých vlastností, ktoré ho sprístupnili Pravým programátorom — je nesmierne komplexný, ponúka možnosti na babranie sa s operačným systémom a preusporiadavanie pamäte a je nenávidený Edsgerom Dijkstrom [6]. (Dijkstra, ako iste viete, je autorom článku „GOTO je považované za škodlivé“ — míľnik v metodológii programovania, ktorému spoločne tlieskali Pascalisti i čajíčkari.) Okrem toho, zdatný Pravý programátor dokáže písať fortranovské programy v ľubovoľnom jazyku.

Ale i Pravý programátor sa niekedy spreneverí svojim zásadám a začne pracovať na niečom menej závažnom než zničenie života ako ho poznáme. To však len vtedy, keď je v tom dostatok prachov. Napríklad v Atari pracuje niekoľko Pravých programátorov na vývoji počítačových hier. (Sami ich však nehrajú — Pravý programátor totiž pozná spôsob, ako vždy poraziť počítač: preto to nepovažujú za zábavné.) Každý, kto pracuje v LucasFilm, je Pravý programátor. (Bolo by šialené zahodiť peniaze päťdesiatich miliónov fanúšikov Hviezdnych vojen7.) Počet Pravých programátorov v oblasti počítačovej grafiky je však pod priemerom, a to hlavne preto, lebo zatiaľ sa nenašlo jej využitie. Na druhej strane, počítačová grafika sa robí vo Fortrane a teda nejeden človek bude radšej robiť radšej toto než programy v COBOLe.

6.0 Pravý programátor pri hre

Praví programátori sa zväčša bavia rovnakým spôsobom, ako pracujú — a to na počítačoch. Neustále sa diví, že ho zamestnávať platí za to, čo by aj tak robil pre zábavu (aj keď dáva veľký pozor na to, aby tento názor neprejavil nahlas). Príležitostne i Pravý programátor vyjde von z kancelárie, aby sa nadýchal čerstvého vzduchu a dal si jedno či dve pivá. Niekoľko tipov pre rozoznanie Pravých programátorov mimo počítačovej sály:

  • Na párty sa Praví programátori vyskytujú v kútoch, kde sa rozprávajú o bezpečnosti operačných systémov a jej prekonávaní.
  • Na futbale Pravý programátor porovnáva hry so svojimi simuláciami vytlačenými na traktorovom papieri8.
  • Na pláži si Pravý programátor kreslí do piesku vývojové diagramy.
  • Na pohrebe je Pravý programátor ten, kto hovorí „Chudák Peter. Keď dostal infarkt, ten triediaci algoritmus mu už takmer fungoval.“
  • V potravinách si pri pokladni Pravý programátor sám skenuje čiarové kódy tovaru, pretože neverí, že to pokladník zvládne na prvýkrát správne.“

7.0 Prirodzené prostredie Pravého programátora

V akom prostredí sa Pravému programátorovi funguje darí najlepšie? Pre manažéra Pravých programátorov je to veľmi dôležitá otázka. Keď zoberieme do úvahy peniaze, ktoré idú na jeho plat, je najlepšie ho (alebo ju) dať do prostredia, kde svoju robotu naozaj spraví.

Typický Pravý programátor žije pred počítačovým terminálom. Okolo neho sa nachádzajú:

  • Výpisy všetkých programov, na ktorých Pravý programátor kedy pracoval, nakopené v približne chronologickom poradí na každom rovnom povrchu kancelárie.
  • Zhruba pol tucta nedopitých šálok studenej kávy. V niektorých možno nájsť plávajúce cigaretové špaky, či dokonca zvyšky Fanty9.
  • Pokiaľ to nie je mimoriadne dobrý Pravý programátor, budú tam kópie manuálu k OS, JCL a príručky Principles of Operation10 otvorené na mimoriadne zaujímavých stránkach.
  • Na stene visí Snoopyho kalendár na rok 1969 vytlačený na ihličkovej tlačiarni (a prilepený lepiacou páskou).
  • Na podlahe sa povaľuje niekoľko prázdnych obalov od syrových tyčiniek plnených arašidovým maslom — ten druh, ktorý sa nechá obschnúť ešte v pekárni, aby sa v automate na potraviny ešte viac nepokazili.
  • V najvyššom šuflíku kancelárskeho stola po ľavici sa nachádzajú keksy Oreo11 s extra dávkou náplne určené pre špeciálne príležitosti.
  • Pod keksami Oreo je šablóna na kreslenie vývojových diagramov, ktorú tam zabudol predošlý vlastník kancelárie. (Praví programátori píšu programy, nie dokumentáciu. To prenechávajú teamu zodpovednému za udržiavanie projektu.)

Pravý programátor pod silným tlakom dokáže pracovať 30, 40, či dokonca 50 hodín na jeden záťah. V skutočnosti má tento štýl práce oveľa radšej. Dlhé odozvy systému ho neznervózňujú — práve naopak, zatiaľ čo sa jeho program kompiluje, môže si zdriemnuť. Ak má Pravý programátor voľnejší plán termínov, má tendenciu si sťažiť veci tým, že prvých deväť týždňoch sa venuje malému, ale zaujímavému podproblému, a zvyšok dokončí v dvoch či troch 50hodinových maratónoch počas posledného týždňa. Nielenže tým spraví obrovský dojem na manažéra, ktorý už ani nedúfa, že projekt sa dokončí včas, ale ospravedlní to výhovorku na nedostatok času pre dokumentáciu.

Vo všeobecnosti:

  • Žiaden Pravý programátor nepracuje od deviatej do piatej. (Iba ak by išlo o prácu v noci.)
  • Praví programátori nenosia kravaty.
  • Pravé programátorky nenosia vysoké opätky.
  • Pravý programátor prichádza do práce akurát na obed.
  • Pravý programátor možno nepozná meno svojej ženy. Na druhej strane ale ovláda celú ASCII (či EBCDIC) tabuľku.
  • Praví programátori nevedia variť. O tretej ráno totiž ťažko nájsť otvorené potraviny. Praví programátori prežívajú na káve a koláčikoch Twinkies12.

8.0 Budúcnosť

Čo s budúcnosťou? U Pravých programátorov jestvuje obava, že najmladšia generácia programátorov už nie je vychovávaná v rovnakom duchu ako ich predchodcovia. Mnohí už nemali možnosť vidieť počítač s predným panelom. Dnes už takmer žiadny absolvent školy neovláda hexadecimálnu aritmetiku bez použitia kalkulačky. Absolventi univerzít vymäkli: od reality programovania ich chránia debuggery zdrojových kódov, textové editory počítajúce zátvorky a „používateľsky prítulné“ operačné systémy. A čo je najhoršie, niektorí z takzvaných „informatikov“ dostali titul bez toho, aby sa čo len dotkli Fortranu! Sme azda odsúdení na to, aby sme sa stali odborom unixových hackerov a programátorov v Pascale?

Na základe mojich skúseností môžem skonštatovať, že Pravých programátorov stále čakajú svetlé zajtrajšky. Ani OS/370, ani Fortran nejavia známky vymierania, a to aj napriek všetkému úsiliu pascalovských programátorov. Aj tie najopatrnejšie kroky, napríklad pokusy o obohatenie Fortranu o konštrukcie štruktúrovaného programovania, zlyhali. Ale iste, niektorí predajcovia počítačov vyšli s kompilátormi Fortran 77, ale v každom z nich jestvuje možnosť fungovania v režime kompilátora Fortranu 66 (stačí vložiť špeciálny dierny štítok), v ktorom sa DO-cykly kompilujú tak, ako to mienil Boh.

Dokonca ani Unix nemusí byť na Pravých programátorov taký zlý, ako kedysi. Jeho posledné vydanie má v sebe potenciál operačného systému, ktorý je hoden každého Pravého programátora — jeho dve odlišné a jemne nekompatibilné používateľské rozhrania, tajomný a komplikovaný ovládač diaľnopisu, či virtuálna pamäť. Dokonca aj programovanie v jazyku C môže mať pre Pravých programátorov cenu (ak opomenieme fakt, že ide o štruktúrovaný jazyk): koniec-koncov, nie je tam typová kontrola, názvy premenných majú sedem (desať? osem?) znakov a bonusom je dátový typ smerník. To všetko poskytuje na jednom mieste tie najlepšie možnosti Fortranu a assembleru. (Nehovoriac o tvorivom využití direktívy #define.)

Naozaj, budúcnosť nie je až taká temná. Niet dôvodu, veď v posledných rokoch dokonca aj masmédiá informovali o novej generácii počítačových kockáčov a hackerov ([7, 8]), ktorá opúšťa univerzity ako Standford a MIT a radšej smeruje do sveta Pravého programovania. Všetko nasvedčuje tomu, že duch Pravého programovania žije v týchto mladých mužoch a ženách naďalej. Pokiaľ budú jestvovať zle definované ciele, bizarné chyby a nerealistické plány, budú jestvovať aj Praví programátori ochotní naskočiť, vyriešiť Problém, a ponechať dokumentovanie na neskôr.

Nech žije Fortran!

9.0 Zdroje

[1] Feirstein, B., Real Men don’t Eat Quiche, New York, Pocket Books, 1982.

[2] Wirth, N., Algorithms + Data Structures = Programs, Prentice Hall, 1976. V slovenčine Algoritmy a dátové štruktúry, Alfa, 1989.

[3] Ilson, R., Recent Research in Text Processing, IEEE Trans. Prof. Commun., Vol. PC-23, No. 4, Dec. 4, 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, Van 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] Rose, Frank, Joy of Hacking, Science 82, Vol. 3, No. 9, Nov 82, pp. 58-66.

[8] The Hacker Papers, Psychology Today, August 1980.

Poďakovanie

Chcem poďakovať nasledovným ľuďom za ich pomoc pri charakteristike Pravého programátora: Jan E., Dave S., Rich G., Rich E. Vďaka patrí Heather B. za ilustráciu, Kathy E. za to, že to vydržala a a atd!avsdS:mark za počiatočnú inšpiráciu.

Preklad

Preložené z Real Programmers Don’t Use Pascal.

Pozri tiež prastarý český preklad Opravdoví programátoři nepoužívají Pascal.

Poznámky


  1. Mikropočítač [Tandy TRS-80], ironicky nazývaný TRASH-80, čiže Odpad-80

  2. číta sa rovnako ako anglické worth, čiže „hodnotný“. 

  3. call-by-value-return, veľmi podobné volaniu odkazom (referenciou). Tento spôsob odovzdávania parametrov je prítomný zrejme len vo Fortrane. Podrobnosti v angličtine napríklad na http://www.cs.rit.edu/~afb/20013/plc/slides/procedures-05.html. 

  4. Vo Fortrane napríklad boli písmená IN automaticky deklarované ako integery (celé čísla). Neskôr sa zrejme z tohto princípu vyvinula tzv. maďarská notácia zápisu premenných, ktorá sa napr. vo Win32 API objavuje až doposiaľ: napr. szName indikuje reťazec name ukončený nulou (zero terminated string). 

  5. Job Control Language, skriptovací programovací jazyk pre dávkové úlohy na sálových počítačoch IBM. 

  6. time sharing system: išlo o podobnú filozofiu, ktorú dnes vidieť pri vzdialenom prihlasovaní cez terminál, napr. cez ssh

  7. Autor si v pôvodnom texte zrejme pomýlil Star Wars (Hviezdne vojny) od režiséra Georga Lucasa (a spriaznenou firmou LucasArts) a Star Trek, s ktorým však Lucas nemal nič spoločné. 

  8. Jeden list amerického „nekonečného papiera“ mal rozmery 11 x 14 palcov. 

  9. V pôvodnom texte bol Orange Crush, variant pomarančového bublinkového nápoja. 

  10. základná systémová príručka 

  11. keksy Oreo už dostať aj u nás — podobajú sa na známe Disco keksy. 

  12. jemné penové koláčiky plnené vanilkovou náplňou 

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *