\documentstyle[a4]{report}
\textwidth=17cm
\oddsidemargin=-0.5cm
\begin{document}
\centerline{\bf   Podklad pro panelovou diskusi \\}
 
\begin{center}
   {\Large\bf OPRAVDOVI PROGRAMATORI NEUZIVAJI PASCAL} \\
                       Ed Post, (C)  1983               \\
\end{center}

     Za  starych  dobrych  casu  --  ve "zlate ere" pocitacu bylo
snadne   odlisit  muze   od  chlapcu   (v  literature  oznacenych
"Opravdovi muzi"  a "Pojidaci kolacu").  Opravdovi muzi byli  ti,
kteri  skutecne rozumeli  programovani pocitacu.  Pojidaci kolacu
byli  ti, co  tomu nerozumeli.  Opravdovy pocitacovy  programator
rikal veci jako "DO 10 I=1,10" a "ABEND" (vyslovoval to s velkymi
pismeny,  abyste  rozumeli)  a   zbytek  sveta  rikal  veci  jako
"Pocitace  jsou pro  mne prilis  komplikovane" a  nebo "Nemohu se
s pocitacem  szit, je  tak neosobni".  (V predchozi  praci [1] je
ukazano, ze  opravdovi muzi nejsou  vazani na nic,  neboji se byt
neosobni).

     Ovsem,  jak je  zvykem, casy  se meni.  Musime se  smirit se
svetem,  v  nemz  muze  ziskat  pocitac  mila  stara  dama ve sve
mikrovlnne troube  a  12lety  chlapec  porazi   opravdoveho  muze
v televizni hre  na perzonalnim pocitaci a  perzonalni pocitac si
muze  koupit   kazdy,  a  take   mu  muze  porozumet.   Opravdovi
programatori  jsou  ohrozeni  vyhynutim,  existuje  nebezpeci, ze
budou nahrazeni vysokoskolskymi studenty s TRS-80.

     Je  zrejme,  ze  je  potreba  ukazat  rozdil  mezi typickym,
vysokoskolsky    vzdelanym   hracem    video-her   a   opravdovym
programatorem. Ukaze-li  se tento rozdil dostatecne  jasne, da se
detem  sance, aby  aspirovaly byt  podobni svym  otcum. Pomuze to
rovnez  zamestnavatelum opravdovych  programatoru tim,  ze jim to
ozrejmi  chybu,  ktere  se  dopousteji,  kdyz nahrazuji opravdove
programatory ve svem tymu mladymi hraci her (a setri tim platy).

 
{\bf     1.0  Jazyky}
 

     Nejsnadnejsi zpusob,  jak zjistit, kdo  je v davu  opravdovy
programator,  spociva   ve  zjisteni,  jaky   programovaci  jazyk
pouziva.  Pouziva  FORTRAN.  Pojidaci  kolacu  pouzivaji  Pascal.
Nicolaus  Wirth,  tvurce  Pascalu,  pri  jedne  sve prednasce byl
dotazan, jak  vyslovovat jeho jmeno. Odpovedel:  "Muzete me volat
jmenem  (Wirth)  a  nebo  hodnotou  (Worth)".  Z teto poznamky je
zrejme,  ze  N.Wirth  je  pojidac  kolacu.  Opravdovy programator
uznava jediny  mechanismus predavani parametru  "volanim hodnotou
pri  navratu  --  tj.  referenci"  tak,  jak je to implementovano
v kompilatorech  IBM/370  FORTRAN  G  a  H. Opravdovy programator
nepotrebuje ke sve praci vsechny  tyto abstraktni pojmy, je uplne
stastny, ma-li derovac stitku, kompilator FORTRAN 4 a pivo.
 
\begin{itemize}
\item Opravdovy programator zpracovava seznamy ve FORTRANu.
\item Opravdovy programator pracuje s texty ve FORTRANu.
\item Opravdovy programator  resi zpracovani hromadnych  dat (kdyz uz
     to dela) ve FORTRANu.
\item Opravdovy programator resi umelou inteligenci ve FORTRANu.
\end{itemize}

     Akademici  v pocitacovych  vedach v  poslednich letech tvori
vyjetou kolej  strukturovaneho programovani. Tvrdi,  ze programum
lze snadno porozumet, kdyz se  pri jejich psani pouzivaji nektere
specialni konstrukce  a postupy. Ne vsichni  se presne shodnou na
tom,  ktere konstrukce  a priklady  pouzivat, aby  ukazali jejich
konkretni pohled na vec. Temer  vzdy se vejdou na jedinou stranku
casopisu -- jsou nepresvedcive. Kdyz  jsem opustil skolu,  myslel
jsem si, ze jsem nejlepsim programatorem na svete. Umel jsem psat
nedostizne    tic-tac-toe    programy,    pouzivat    5   ruznych
programovacich  jazyku  a  psat  programy  o  1000 radcich, ktere
pracovaly. (Skutecne!!) Pak jsem  prisel do skutecneho sveta. Mym
prvym  ukolem  bylo  precist  si  program  ve FORTRANU, ktery mel
200000 radku, porozumet mu, a pak ho 2x urychlit. Kazdy opravdovy
programator  vam  rekne,  ze  veskere  strukturovane programovani
v celem  svete vam  v takovem  pripade nepomuze,  chce to talent.
Nebot:

\begin{itemize}
\item Opravdovym programatorum nevadi pouzivani GOTO
\item Opravdovy  programator  muze  napsat   cyklus  DO  na  5  stran
     a nesplete se.
\item Opravdovy  programator  miluje  aritmeticke  IF,  program  dela
     zajimavejsi.
\item Opravdovy   programator  pise   samomodifikujici  se  programy,
     zvlaste   v   tom   pripade,   kdyz   muze   usetrit  20  ns
     v nejvnitrnejsim cyklu.
\item Opravdovy  programator nepotrebuje  poznamky -- vlastni kod  je
     zrejmy.
\item Ponevadz  FORTRAN  neobsahuje  strukturovane  IF, REPEAT,
     UNTIL  ani   CASE,  opravdovy  programator   nezna  starosti
     s jejich pouzitim.
\end{itemize}

     Abstraktni  datove  typy,   struktury,  ukazatele,  seznamy,
retezce -- to  jsou pojmy  v jistych  kruzich pomerne  popularni.
Wirth (vyse  zmineny pojidac kolacu) skutecne  napsal celou knihu
o tom,  jak  psat  programy   zalozene  na  datovych  strukturach
(Algoritmy  + Datove  struktury =  Programy) a  ne jinak.  Jak vi
kazdy opravdovy programator, jedinou uzitecnou datovou strukturou
je  pole.  Retezce,  seznamy,  struktury,  mnoziny -- to vse jsou
specialni pripady poli a lze s nimi tak zachazet a neni nutne vas
programovaci  jazyk   komplikovat.  Nejhorsi  vec   na  predstave
datovych typu je,  ze je nutno je deklarovat,  zatimco jazyky pro
opravdove  programovani,  jak   vsichni  zname,  maji  implicitni
urcovani typu zalozene na 1. znaku 6znakoveho jmena promenne.
 

{\bf     2.0  Operacni systemy}
 
     Jaky typ  operacniho systemu pouziva  opravdovy programator?
CP/M?  Boze chran -- CP/M  je pres  vsechny jeho klady hracickovy
operacni  system. CP/M  mohou  pochopit  dokonce i  postarsi damy
a absolventi zakladni skoly.

     UNIX  je ovsem  ponekud komplikovanejsi -- typicky  UNIXacky
pisalek si nikdy nevzpomene, jak se tento tyden vola prikaz PRINT
-- ale  kdyz system  ma pravo  vypadnout z  cinnosti, pak je UNIX
pouze glorifikovanou televizni hrou.  Lide nepracuji na UNIXovych
systemech  seriozne: posilaji  si vtipy  kolem sveta  pomoci site
UUCP a pisi dokonale hry a vedecke clanky.

     Ne,   vas  opravdovy   programator  pouziva   OS/370.  Dobry
programator  ve  svem  manualu  JCL  nalezne  popis  chyby IJK051
a porozumi mu.  Velky programator umi psat  JCL programy, aniz by
se podival do manualu. Skutecne velmi dobry programator umi najit
chybu  i  v  6MB  vypisu  operacni  pameti,  a  to aniz by pouzil
hexadecimalni kalkulator (videl jsem to skutecne delat).

     OS  je skutecne  znamenity system.  Lze na  nem ztratit  dny
prace kvuli jedne chybejici  mezere, coz podnecuje programatorsky
tym  k ostrazitosti.  Nejlepsi zpusob  styku se  systemem je pres
derovac  dernych stitku.  Nekteri lide  prohlasuji, ze  na OS/370
bezi  vicepristupovy terminalovy  system, ale  po peclivem studiu
jsem dospel k zaveru, ze se tito lide myli.
 

{\bf     3.0  Programovaci prostredky}
 
     Jaky   typ   prostredku   pouziva   opravdovy   programator?
Teoreticky plati, ze opravdovy  programator muze pocitaci zadavat
svuj  program  klavesami  na  prednim  panelu  pocitace.  V davne
minulosti,  kdy pocitace  mely predni  panel, se  to tak skutecne
obcas  delalo.  Vas  typicky   opravdovy  programator  znal  cely
zavlekac  v  hexadecimalnim  vyjadreni   zpameti  a  namackal  ho
kdykoliv  jej vas  program porusil  (pripomenme si -- pamet  byla
pamet, pri vypnuti napajeni jste nic nezapomeli. Dnes pamet budto
zapomene veci,  ktere jste zapomenout nechteli,  nebo si pamatuje
veci  dlouho pote,  kdy by  bylo lepe  na ne zapomenout). Legenda
vypravuje, ze Seymore Cray, tvurce superpocitace Cray 1 a vetsiny
pocitacu fy Control Data, skutecne  namackal prvni OS do pocitace
CDC7600 pri jeho prvnim zapnuti site  pres jeho predni panel a to
zpameti. Nutno rici, ze Seymore byl opravdovy programator.

     Jednim  z  mych  favoritu  na  opravdoveho  programatora byl
systemovy  programator  od  Texas  Instruments.  Jednoho  dne  ho
zavolal  telefonem uzivatel,  jehoz system  se zboural  uprostred
uklidu vysoce dulezite prace. Jim  byl schopny opravit poruchu po
telefonu, donutil uzivatele, aby  si namackal diskove V/V operace
z panelu,  opravil systemove  tabulky v  hexadecimalnim vyjadreni
a aby  mu  precetl  registry  zpet  do  telefonu.  Pouceni z teto
prihody: zatimco  opravdovy programator obvykle  zahrnuje "do sve
opravarske  brasny"   derovac  stitku  a   tiskarnu,  tehoz  muze
dosahnout telefonem a z predniho panelu.

     V  nekterych  spolecnostech  uz  editovani  textu  nespociva
v tom,  ze  desitky  inzenyru  sedi  u  derovace  dernych stitku.
Skutecne.  V  budove  kde  pracuji,  neni  jediny derovac dernych
stitku. Opravdovy programator musi  svoji praci v takovem pripade
vykonavat pomoci programu typu  "text editor" ap. Vetsina systemu
nabizi  celou radu  textovych editoru,  opravdovy programator  si
musi  peclive  vybrat  ten  editor,  ktery  nejlepe odpovida jeho
zivotnimu stylu. Mnozi lide veri,  ze nejlepsi textove editory na
svete byly  napsany ve vyzkumnem  stredisku fy XEROX  v Palo Altu
pro  jejich  pocitace  ALTO  a  DORADO.  Bohuzel  zadny opravdovy
programator  nikdy nepouzije  pocitac, jehoz  operacni system  se
jmenuje Vsedni hovor a urcite nebude hovorit k pocitaci s mysi.

     Nektere myslenky pouzite v  editorech fy XEROX byly zahrnuty
do editoru bezicich pod  mnohem vhodneji pojmenovanych operacnich
systemech -- prikladem  muze byt  EMANCE a  VI. Problem  s temito
editory  spociva  v  tom,   ze  opravdovi  programatori  povazuji
vlastnost  "Co vidis  je to,  co dostanes"  za stejne spatnou jak
u textovych editoru,  tak i u  zen. Ne, opravdovy  programator si
zada editor typu "dostanes to, co  zadas" -- editor komplikovany,
tajemny, mocny, neodpoustejici, nebezpecny.

     Takovym je  treba TECO. Zjistilo se,  ze posloupnost prikazu
TECO  pripomina mnohem  vice  poruchy  na komunikacni  lince, nez
citelny  text.  Jednou  ze  vstupnich   her,  ktera  se  da  hrat
s editorem TECO spociva v tom,  ze zadate svoje jmeno jako prikaz
a zkusite uhodnout, co to udela.  Zatimco budete rozpravet s TECO
o chybe vstupnich  dat, vas program  se pravdepodobne zrusi  nebo
--  coz je horsi  --  se  do  jiz  odladeneho  programu  zavlecou
nenapadne a tajemne chyby.

     Z  tohoto  duvodu   opravdovi  programatori  nejsou  ochotni
editovat  program, jenz  uz temer  chodi. Radeji  udelaji zaplatu
primo  do   binarniho  kodu  programu   na  disku  a   to  pomoci
carokrasneho   programu  zvaneho   SUPERZAP  (nebo   pomoci  jeho
ekvivalentu na strojich jinych nez  jsou stroje IBM). Ten pracuje
tak dobre,  ze mnohe cinne  programy IBM systemu  nejsou v zadnem
vztahu  ke svym  puvodnim  FORTRANovskym  textum. Mnohdy  neni uz
puvodni  zdrojovy  text  dostupny  vubec.  Kdyz  vyvstane potreba
upravit takovy  program, zadny manazer  ci sef nebude  ani chvili
uvazovat,  ze   by  na  tuto  praci   poslal  nekoho  jineho  nez
opravdoveho  programatora -- kterykoliv strukturovany programator
typu pojidac kolacu by ani nevedel, kde ma zacit.


{\bf     4.0  Co opravdovy programator nepouziva?}
 
\begin{itemize}
\item Fortranske  pre-procesory  typu  MORTRAN  ci  RAFTOR, kucharske
     umeni programovat -- to je neco ohromneho pro delani kolacu.
\item Ladici  program   na  urovni  symbolickeho   jazyka.  Opravdovy
     programator umi cist vypisy operacni pameti.
\item Kompilator  provadejici kontrolu  prekroceni mezi  poli. Takove
     kompilatory dusi tvorivost, znemoznuji vetsinu zajimavych
     pouziti  prikazu   EQUIVALENCE  a  znemoznuji   delat  zmeny
     operacniho  systemu  zadanim  zaporneho   indexu.  A  co  je
     nejhorsi, kontrola prekroceni mezi snizuje efektivnost.
\item Knihovni systemy zdrojovych  programu. Opravdovy programator ma
     svuj program zamceny na  dernych stitcich, coz mu znemoznuje
     ponechat svuj program nestrezeny [5].
\end{itemize}


{\bf     5.0  Opravdovy programator pri praci}
 
     Kde typicky opravdovy programator pracuje? Jaky typ programu
je  pro  vynalozeni  usili  tak  talentovanych jedincu dostatecne
cenny? Muzete si byt jisti, ze zadny opravdovy programator neumre
pri  psani  programu  pro  zpracovani  dat  v  COBOLu  a nebo pri
trideni. Opravdovy programator si zada ukoly svetove dulezitosti.
 
\begin{itemize}
\item Opravdovy  programator  pracuje  pro  Narodni  laborator  v Los
     Alamos, kde pise programy simulujici atomove bomby na
     superpocitaci Cray 1.
\item Opravdovy  programator  pracuje  pro  Narodni bezpecnostni urad
     a dekoduje odposlouchany radiovy provoz Sovetu.
\item Bylo  dulezite, aby  tisice opravdovych  programatoru pracovalo
     pro NASA, aby se Americane dostali na Mesic a zpet drive nez
     Soveti.
\item Pocitace   v   raketoplanu    byly   programovany   opravdovymi
     programatory.
\item Opravdovi  programatori   pracuji  pro  Boeing,   kde  navrhuji
     operacni systemy pro krizujici rakety.
\end{itemize}

     Nekteri  nejdesivejsi  ze   vsech  opravdovych  programatoru
pracuji v  Kalifornii v Jet  Propulsion Labs. Mnozi  z nich znaji
cely operacni  system kosmickych lodi Pioneer  a Voyager zpameti.
S kombinaci  ohromnych pozemnich  FORTRANskych programu  a malych
assemblerovskych  programu v  kosmicke lodi  jsou schopni  udelat
neuveritelne  navigacni a  improvizacni  vykony -- strefit  se do
desetikilometroveho  okna  v  pripade Saturnu  a  to po  5 letech
pobytu ve vesmiru, opravit  nebo obejit porouchane cidlo, baterii
ap. Rika  se, ze jeden opravdovy  programator zorganizoval v lodi
Voyager doplneni programu pro rozpoznani, a to do nekolika stovek
nevyuzitych  bytu  v  pameti.   Doplnek  programu  nalezl,  urcil
umisteni a vyfotografoval novy mesic Jupitera.
 
     Stavajici plan platny pro  kosmickou lod Gallileo je zalozen
na  vyuziti pomoci  gravitace Marsu  pri ceste  k Jupiteru. Draha
teto  lodi prochazi  80 +/-3  km od  povrchu Marsu.  Nikdo nebude
duverovat   programu  psanemu   v  PASCALu   (nebo  Pascalovskemu
programatoru) tak, aby mu sveril navigaci v techto tolerancich.

     Muzeme rici, ze mnozi  ze svetovych opravdovych programatoru
pracuji  pro vladu USA -- predevsim pro ministerstvo obrany.  Tak
to ma byt. V posledni dobe se ovsem  formuje na  nebi opravdovych
programatoru  cerny  mrak.  Vypada  to  tak,  ze  nekteri  vysoce
postaveni  pojidaci  kolacu  v  ministerstvu  obrany rozhodli, ze
vsechny  obranne  programy  budou  psany  ve  stejnem  velkolepem
unifikovanem jazyku  zvanem ADA ((C),  DoD). Prozatim se  zda, ze
ADA byla orientovana tak, aby  se stala jazykem, ktery by bojoval
proti pouckam  opravdoveho programovani -- jazykem se strukturou,
s datovymi typy  a stredniky. Kratce, jazyk  urceny pro zmrzaceni
tvorivosti  typickeho  opravdoveho  programatora.  Nastesti jazyk
prijaty ministerstvem obrany ma dost zajimavych vlastnosti, ktere
ho necini nebezpecnym -- je neuveritelne slozity, zahrnuje metody,
jak  si vymenovat  zpravy s  operacnim systemem  a jak  usporadat
pamet a Edgar  Dijkstra ho nemiluje. (Dijkstra, jsem  si jist, ze
ho znate, byl auterem "GoTos Considered Harmful" -- zakladni prace
programovaci    metodologie,    opevovane    jak    pascalovskymi
programatory,   tak   pojidaci   kolacu).   Mimo   to,  opravdovy
programator umi psat FORTRANske programy v kteremkoliv jazyce.

     Opravdovy  programator  muze  pristoupit  ke  kompromisum ve
svych principech a muze pracovat  i na necem mene trivialnim, nez
je zniceni zivota  ve forme, jak ho zname.  To za predpokladu, ze
to  prinese  dost  penez.   Existuje  napr.  nekolik  opravdovych
programatoru tvoricich televizni hry u fy Atari. (ale nehraji je,
opravdovy  programator  v  kazdem  okamziku  vi,  jak nad strojem
zvitezit  --  to  neni zadny  problem).  Kazdy  kdo  pracuje u fy
Lucas  Film,  je  opravdovy   programator.   (Bylo  by  ztrestene
odmitnout  penize  od   50  milionu  fanousku  hry   Star  Trek).
Mnozstvi   opravdovych  programatoru  pracujicich   v  pocitacove
grafice je ponekud pod normou; to predevsim proto, ze dosud nikdo
nenalezl pro pocitacovou grafiku vazne pouziti.  Na druhe strane,
veskera  pocitacova   grafika  je  ve  FORTRANu,  takze  existuje
mnozstvi  lidi,  kteri  radeji  delaji  grafiku,  nez  aby  psali
programy v COBOLu.
 

{\bf 6.0  Opravdovy programator pri hre}
 
     Obecne  plati,  ze  opravdovy  programator  si hraje stejnym
zpusobem jako pracuje -- to je s pocitacem. Stale  se divi, ze ho
jeho zamestnavatel skutecne plati za to,  aby delal to, co by mel
delat, a to pri jakekoliv legraci  (i kdyz peclive dba na to, aby
tento nazor nevyjadroval moc nahlas). Opravdovy programator obcas
opusti svuj urad. Bud uz proto, aby vysel na cerstvy vzduch anebo
na pivo ci  na oboje. Mezi jiste typy  pro rozpoznani opravdoveho
programatora mimo vypocetni stredisko patri:
 
\begin{itemize}
\item Na vecirku opravdovi programatori v koutku hovori o bezpecnosti
     operacnich systemu a o tom, jak ji obejit.
\item Pri  fotbalu  opravdovy  programator  porovnava  hru  proti sve
     simulaci natistene na 11 az 14 stranach skladaneho papiru.
\item V laznich u more kresli  opravdovy programator do pisku blokova
     schemata.
\item Pri pohrbu je opravdovy programator jedinec, ktery rika: "Ubohy
     Jiri. A ten tridici program mu tesne pred tim, nez dostal
     infarkt, temer chodil".
\item V samoobsluze  je opravdovy programator ten,  ktery trva na tom
     ze si  na pokladne namacka cenu  konzerv sam, ponevadz nikdy
     neuveri, ze by derovacka neco naderovala napoprve spravne.
\end{itemize}


{\bf    7.0  Prirozeny domov opravdoveho programatora}
 
     Jake prostredi je pro opravdoveho programatora nejlepsi? Pro
sefa opravdovych  programatoru je to velmi  dulezita otazka. Kdyz
uvazime,  kolik penez  stoji udrzeni  jednoho jedince  v tymu, je
snazsi dat ho (nebo ji) do  prostredi, kde muze delat svoji praci
pohodlne.
 
     Typicky opravdovy programator zije  u terminalu. Mezi to, co
     obklopuje tento terminal patri:
 
\begin{itemize}
\item Vypisy  vsech programu,  na kterych  opravdovy programator  kdy
     delal, nakupene v priblizne chronologickem poradi na kazdem
     volnem miste podlahy kancelare.
\item Nekolik temer ci uplne plnych  salku studene kavy. Obcas v teto
     kave plave  spacek nedokourene cigarety.  Nekdy takovy salek
     obsahuje i slupky od pomerance.
\item Pokud  neni velmi  dobrym  programatorem,  pak zde  budou kopie
     manualu  JCL   a  Principu  operaci   otevrene  na  nekterem
     zajimavem miste.
\item Na stene visi kalendar pro  rok 1969 tisteny tiskarnou pocitace
     s obrazkem Snoopyho.
\item Po  koberci jsou  pohazeny obaly  od masla  a plnenych syrovych
     tycinek  (takovych,  ktere  se  nechaji  zvetrat a vyschnout
     jeste v obchode, aby se uz nemohly vice pokazit v automatu).
\item Na stole  lezi sablona pro  kresleni blokovych schemat.  Tu zde
     nechal predchozi majitel  kancelare. (Opravdovi programatori
     pisi  programy, ne  dokumentaci. To  nechavaji na  lidech od
     udrzby).
\end{itemize}

     Opravdovy  programator  je  schopen  pod  natlakem ve stresu
pracovat  30, 40  i 50  hodin.  Je  fakt, ze  tento zpusob  prace
preferuje.  Dlouha doba  odezvy systemu  opravdoveho programatora
neobtezuje,  dava mu  sanci,  aby  si mezi  kompilacemi zdrimnul.
 
Neni-li vyvinut na opravdoveho  programatora dostatecny tlak, pak
ma snahu komplikovat veci tim,  ze pracuje stale na stejne, male,
ale  zajimave casti  problemu prvnich  devet tydnu  a zbytek  pak
dodela za  tyden. To nezpusobuje  peklo pouze jeho  sefovi, ktery
zoufa nad tim, ze se projekt  nedokonci, ale vytvari to i vhodnou
omluvu, proc se nedela dokumentace. Obecne plati:
 
\begin{itemize}
\item Zadny opravdovy programator nepracuje od 9 do 5 (tedy ve dne).
\item Opravdovy programator muze, ale nemusi znat jmeno sve zeny. Zna
     ovsem zpameti celou kodovou tabulku ASCII ci EBCDIC.
\item Opravdovy programator neumi varit. Obchody s potravinami nejsou
     otevreny rano ve 3 hodiny.
\end{itemize}
 

{\bf    8.0  Budoucnost}
 
     Jaka je budoucnost? Je v zajmu opravdovych programatoru, aby
posledni generace programatoru byla  vychovana se stejnym nazorem
na  zivot  jako  jejich  starsi  kolegove.  Mnozi  z  nich uz ani
nevideli  predni  panel  pocitace.  Soucasni absolventi strednich
skol neumi resit aritmeticke  operace v sestnactkove soustave bez
vhodne kalkulacky. Soucasni absolventi  vysokych skol jsou mekci,
jsou chraneni  pred programatorskou realitou  ladicimi systemy na
urovni  zdrojoveho   jazyka,  editory,  ktere   pocitaji  zavorky
a uzivatelsky orientovanymi operacnimi systemy. A co je nejhorsi,
mnozi z domelych  pocitacovych vedcu delaji vse pro  to, aby bylo
mozne absolvovat vysokou skolu bez znalosti FORTRANu. Jsme urceni
k tomu,   abychom   se    stali   vyrobci   UNIXovskych   pisalku
a PASCALskych programatoru?

     Na  zaklade  svych  zkusenosti   mohu  rici,  ze  budoucnost
opravdovych  programatoru  je  svetla.  Ani  OS/370  ani  FORTRAN
neprokazuji zadne  znameni ustupu, a to  navzdory veskeremu usili
PASCALskych  programatoru  na  celem  svete.  Ztroskotaly i mnohe
zaludne triky jako je pridani strukturovanych ridicich konstrukci
do  FORTRANu.  Samozrejme,   mnozi  vyrobci  pocitacu  prichazeji
s kompilatorem  FORTRANu  77,  ale  kazdy  takovy  kompilator  ma
zpusob,  jak vratit  sebe sama  zpet do  kompilatoru FORTRANu  68
(zadanim prikazu na  stitku) a kompilovat cyklus DO  tak, jak Buh
minil, ze se to da delat.

     UNIX   uz  dale   nemuze  byt   tak  nedobry   k  opravdovym
programatorum  jako byl.  Posledni verze  UNIXu je  pro opravdove
programatory  z hlediska  operacniho systemu  cenna -- nabizi dva
ruzne  a vzajemne  nekompatibilni uzivatelske  interfacy, tajemny
a komplikovany driver dalnopisu a  virtualni pamet. Kdyz pomineme
skutecnost,  ze UNIX  je  strukturovany,  programovani v  C mohou
opravdovi programatori  ocenit: zadna kontrola  typu, jmena mohou
mit 7 (10?,  8?) znaku a dodany uzitek  datoveho typu ukazatel je
k vyhozeni -- podobne  jako mit  na jednom  miste nejlepsi  casti
jazyka FORTRAN a assembleru (a to nemluvime o define).

     Ne, budoucnost  neni tak spatna. Proc  v poslednich nekolika
letech  dokonce i  popularni  tisk  komentuje jasnou  novou urodu
pocitacovych  hrdinu  a  pisalku   opoustejicich  mista  jako  je
Stanford ci MIT [7,8].

     Ze vsech dukazu plyne, ze duch opravdoveho programovani lezi
na  techto  mladych  muzich   a  zenach.  Pokud  existuji  spatne
definovane  cile,  bizardni  chyby  a  nerealne  plany,  jsou zde
opravdovi   programatori,  kteri   priskoci  a   problem  vyresi,
dokumentaci nechaji na pozdeji. At zije FORTRAN !
 

{\bf 9.0  Literatura}
 
[1] Feirstein,B., Real Men Don't  Eat Quiche, N.Y., Pocket Books,
     1982

[2]  Wirth,N., Algorithm  + Data  Structure =  Programs, Prentice
     Hall, 1976

[3] Xerox PARC editors ....

[4]  Finseth,C.,  Theory  and  Practice   of  Text  Editor --  or
     a cook-book for EMACS, N.S. Thesis, MIT/LCS/TM-165, 1980

[5]  Weinberg,Q., The  Psychology of  Computer Programming, N.Y.,
     Van Nostrand Reinkold, 1971

[6]  Dijkstra,E., On  the GREEN  language submitted  to the  DOD,
     Sigplan Notices, Vol3, No.10, Oct. 1978

[7]  Rose,Frank, Joy  of Macking,  Science 82,  Vol.3, No.9, Nov.
     1982

[8] The Hacker Papers, Psychology Today, Aug. 1980, Oct. 1978

\end{document}