>From: foessmei@lan.informatik.tu-muenchen.dbp.de (Reinhard Foessmeier) Newsgroups: soc.culture.esperanto Subject: Vera Programisto (the "Real Programmer" ...) Summary: Veraj Programistoj ne uzas PASCAL-on Date: 28 Mar 89 15:53:33 GMT Antau iom da tempo, John Ioannidis Some time ago, John Ioannidis afi^sis la posted the faman artikolon famous article "Real Programmers Don't Use PASCAL en "eunet.jokes". Mi provis traduki in "eunet.jokes". I tried to ^gin al la Internacia lingvo. Provu translate it into Esperanto. ^gui. Try to enjoy. Se vi volas ricevi la troff-fonton If you are interested in the au version en PostScript, sendu troff-source or a PostScript po^sta^jon al mi. version, send me e-mail. Reinhard Foessmeier, -------O<------tran^cu--------O<-------------O<------------------------ Veraj programistoj ne uzas PASCAL-on (Ne-rajtigita traduko de la fama "Real Programmers Don't Use PASCAL") (A^utoro nekonata) Iam en la bona malnova tempo - la "ora erao" de komputiloj - estis facile distingi la virojn de la knaboj (foje nomataj "Veraj Viroj" kaj "Ki^s-man^guloj"(*1) en la literaturo). Dum tiu periodo la Veraj Viroj estis tiuj, kiuj komprenis la komputil-programadon, kaj la Ki^s-man^guloj estis tiuj, kiuj ne komprenis. Vera komputil-programisto diris aferojn kiaj "DO 10 I=1,10" kaj "ABEND" (ili efektive parolis majuskle, komprenu), kaj la resto de la homoj diris aferojn kiaj "_k_o_m_p_u_t_i_l_o_j _e_s_t_a_s _t_r_o _k_o_m_p_l_i_k_i_- _t_a_j _p_o_r _m_i" kaj "_m_i _n_e _p_o_v_a_s _r_i_l_a_t_i _a_l _k_o_m_p_u_t_i_l_o_j - _i_l_i _e_s_t_a_s _t_i_o_m _s_e_n_- _p_e_r_s_o_n_a_j". (Pli frua verko [1] indikas ke Veraj Viroj "rilatas" al nenio, kaj ne timas esti senpersonaj.) Sed, kiel kutime, tempoj ^san^gi^gas. Ni hodia^u frontas mondon, en kiu etaj maljunaj sinjorinoj povas havi komputilojn en siaj mikro-ondaj forneloj, 12-jaraj etuloj povas forblovi Verajn Virojn ludante je "Astero- idoj" kaj "_P_a_c-_M_a_n", kaj ^ciu ajn povas a^ceti kaj e^c kompreni sian vere propran Personan Komputilon. La Vera Programisto estas en dan^gero ekstermi^gi, esti anstata^uita de gimnazianoj kun faTRaS-80-komputiloj. Ekzistas klara bezono indiki la diferencojn inter la tipa gimnazia junula ludanto de _P_a_c-_M_a_n kaj la Vera Programisto. Se tiu diferenco estas klarigita, tio donos al tiuj infanoj ion por aspiri - rolo-modelon, Patro- figuron. ^Gi anka^u helpos klarigi al la dungantoj de Veraj Programistoj, kial estus eraro anstata^uigi la Verajn Programistojn en sia dungitaro per 12-jaraj ludantoj de _P_a_c-_M_a_n (je konsiderindaj ^sparoj de salajroj). Lingvoj 9 La plej facila maniero distingi Veran Programiston disde la amaso estas per la lingvo kiun li (a^u ^si) uzas. Veraj Programistoj uzas _F_O_R_T_R_A_N-on, Ki^s-man^guloj uzas _P_A_S_C_A_L-on (pr. _p_a_s_k_a_l'). _N_i_c_k_l_a_u_s _W_i_r_t_h, la desegninto de PASCAL, iam faris refera^jon ^ce kiu oni demandis lin: "Kiel vi prononcas vian nomon?" Li respondis: "Vi povas voki min per la nomo, prononcante ^gin '_V_i_r_t', a^u voki min per valoro, '_W_o_r_t_h'(*2)." De tiu komento eblas senpere dedukti ke _N_i_c_k_l_a_u_s _W_i_r_t_h estas Ki^s-man^gulo. La sola mekanismo de parametro-transdono subtenata de Veraj Programistoj estas voko-per-valoro-redonota, kiel realigita en la kompililoj FORTRAN-G kaj -H de IBM\370. Veraj Programistoj ne bezonas ^ciujn tiujn abstraktajn konceptojn por plenumi siajn taskojn - ili estas perfekte feli^caj kun karto-truilo, kompililo por FORTRAN IV, kaj biero. * Veraj Programistoj faras komputadon de listoj per FORTRAN. 9_________________________ (*1) _k_i^_s_o (france: _Q_u_i_c_h_e) = speco de lardo-paste^co/torto. Francoj kaj kuiristoj pardonu la krudan difinon. La tradukinto. (*2) angle: valoro 1 * Veraj Programistoj faras manipuladon de signo-vicoj per FORTRAN. * Veraj Programistoj faras libro-tenadon (se entute ili faras) per FOR- TRAN. * Veraj Programistoj faras Artefaritan Inteligentecon per FORTRAN. Se vi ne povas fari ^gin per FORTRAN, faru ^gin per asembla lingvo. Se vi ne povas fari ^gin per asembla lingvo, ^gi ne estas farinda. Strukturita Programado 9 La akademiuloj en komputiko dum la lastaj kelkaj jaroj kapti^gis en la trako de "strukturita programado". Ili pretendas ke programoj estas pli facile kompreneblaj se la programisto uzas iujn specialajn lingvo-konstru- a^jojn kaj teknikojn. Kompreneble, ili ne ^ciuj interkonsentas, kiuj konstrua^joj ekzakte estas, kaj la ekzemploj, kiujn ili uzas por montri sian specialan vid-punkton, senescepte estas prezenteblaj sur unu sola pa^go de iu a^u alia dubinda revuo - klare tro malmulte da ekzemplo por konvinki iun ajn. Kiam mi forlasis la lernejon, mi pensis min la plej bona programisto en la mondo. Mi scipovis verki nevenkeblan programon por la _t_i_k-_t_a_k-ludo, uzi kvin diversajn komputilajn lingvojn kaj krei 1000-liniajn programojn kiuj _f_u_n_k_c_i_i_s. (Vere!) Tiam mi venis eksteren en la Realan Mon- don. Mia unua tasko en la Reala Mondo estis legi kaj kompreni 200.000- linian FORTRAN-programon kaj tiam plirapidigi ^gin je faktoro de 2. ^Ciu Vera Programisto diros al vi ke la tuta Strukturita Programado de la mondo ne helpas por solvi tian problemon - necesas vera talento. Kelkaj rapidaj observoj pri Veraj Programistoj kaj Strukturita Programado: * Veraj Programistoj ne timas uzi GOTO. * Veraj Programistoj scipovas skribi DO-ciklojn tra kvin pa^goj sen konfuzi^gi. * Veraj Programistoj ^satas aritmetikajn IF-instrukciojn - ili igas la programojn pli interesaj. * Veraj Programistoj verkas sin-modifan program-kodon, precipe se ili povas ^spari 20 nano-sekundojn meze de grava ciklo. * Veraj Programistoj ne bezonas komentojn - la program-kodo estas evi- denta. * ^Car FORTRAN ne havas strukturitan IF-, REPEAT ... UNTIL- a^u CASE- instrukciojn, Veraj Programistoj ne bezonas aflikti^gi pro ilia ne- uzo. Krome, se necese eblas simuli ilin per asignita salto. Anka^u daten-strukturoj lastatempe ricevis multe da atento. Abstrak- taj Daten-tipoj, Strukturoj, Montriloj, Listoj kaj Signo-vicoj fari^gis popularaj en certaj rondoj. _W_i_r_t_h (la supre komentita Ki^s-man^gulo) efek- tive verkis tutan libron [2] asertantan ke eblas verki programon surbaze de daten-strukturoj, anstata^u inverse. Kiel ^ciuj Veraj Programistoj scias, 9 2 la sola utila daten-strukturo estas la vektoro. Signo-vicoj, listoj, strukturoj, aroj - ili ^ciuj estas specialaj okazoj de vektoroj kaj povas same facile esti traktataj tiumaniere, sen kaosigi program-lingvon per ^ciuj specoj de komplika^joj. La plej malbona afero pri ekstravagancaj daten-strukturoj estas ke necesas deklari ilin, kaj Veraj Programadaj Lingvoj, kiel ni ^ciuj scias, havas implicitan tipigon, bazitan sur la unua litero de la (ses-signa) nomo de la variablo. Mastrumaj sistemoj 9 Kian mastruman sistemon uzas Vera Programisto? ^Cu CP/M? Dio gardu - CP/M ja funde estas ludila mastruma sistemo. E^c etaj maljunaj sinjorinoj kaj bazlernejanoj povas kompreni kaj uzi CP/M. UNIX(*|-) kompreneble estas multe pli komplika - la tipa UNIX-uzanto neniam memoras kiu estas la nomo de la pres-komando ^ci-semajne - sed rigardate serioze, UNIX estas grandiozigita video-ludo. Homoj ne faras Seriozan Laboron per UNIX-sistemoj: Ili dissendas sprita^jojn tra la mondo per la reto UUCP kaj verkas aventur-ludojn kaj reser^c-raportojn. Ne, via Vera Programisto uzas OS\370. Bona programisto kapablas trovi kaj kompreni la priskribon de la eraro IJK305I, kiun li ^jus renkontis, en sia JCL-a (tasko-reg-lingva) manlibro. Granda programisto povas skribi en JCL tute sen konsulti la manlibron. Vere elstara programisto scipovas trovi erarojn ka^sitajn en ses megabajtoj da memor-kopio, sen uzi dekses- uman kalkulilon. (Mi efektive vidis tion.) OS estas vere rimarkinda mastruma sistemo. Estas eble detrui la laboron de tagoj per unu sola mislokita spaceto, tiel la atentemo de la programista dungitaro estas kura^gigita. La plej bona vojo al la sistemo estas tra karto-truilo. Kelkaj homoj pretendas ke ekzistas tempo-divida sistemo funkcianta sub OS\370, sed post zorga studado mi venis al la kon- kludo ke ili eraris. Programadaj iloj 9 Kiajn ilojn uzas Vera Programisto? Teorie, Vera Programisto povus irigi siajn programojn enklavante ilin al la fronta panelo de la komputilo. Iam en la tagoj, kiam komputiloj havis frontajn panelojn, tio efektive estis foje farata. Via tipa Vera Programisto parkere sciis la tutan ^sargo-programon dekses-ume, kaj enklavis ^gin kiam ajn ^gi estis detruita per lia programo. (En tiu tempo, storo estis storo - ^gi ne vi^si^gis kiam la povo malaperis. Hodia^u, storo a^u forgesas aferojn kiam vi ne volas tion, a^u memoras aferojn longe post kiam ili prefere forgesi^gu.) La^u- legende _S_e_y_m_o_r_e _C_r_a_y, inventinto de la superkomputilo _C_R_A_Y _I kaj la plej multaj aliaj komputiloj de _C_o_n_t_r_o_l _D_a_t_a, efektive parkere enklavis la unuan mastruman sistemon de la _C_D_C_7_6_0_0 per la fronta panelo, kiam ^gi estis unua- foje ek^saltita. Ne necesas diri ke _S_e_y_m_o_r_e estas Vera Programisto. Unu el miaj plej ^satataj Veraj Progamistoj estis sistemo-programisto por _T_e_x_a_s _I_n_s_t_r_u_m_e_n_t_s. Iun tagon li ricevis long-distancan telefon-vokon 3 de iu uzanto kies sistemo ^jus disfalis meze dum la savado de iu grava laboro. _J_i_m kapablis ripari la dama^gon tra la telefono, instrukciante la uzanton enklavi disko-en/eligajn instrukciojn tra la fronta panelo, dek- ses-ume riparante sistem-tabelojn, re-ricevante registrum-enhavojn tra la telefono. La morala^jo de ^ci tiu historio: kvankam Vera Programisto kutime prenas karto-truilon kaj lini-printilon en sian ilarujon, en kriz- okazo sufi^cas al li fronta panelo kaj telefono. 9 En kelkaj kompanioj, tekst-redaktumado ne plu signifas ke dek in^geni- eroj vic-atendas por uzi unu karto-truilon 029. Efektive la domo, en kiu mi laboras, ne enhavas e^c unu karto-truilon. En tia situacio la Vera Pro- gramisto devas fari sian laboron per "tekst-redaktuma" programo. La plej multaj sistemoj ofertas plurajn redaktumilojn por elekti, kaj la Vera Pro- gramisto devas zorge preni tian kia respondas al lia persona stilo. Multaj homoj kredas ke la plej bonaj redaktumiloj de la mondo estis verkitaj ^ce la Reser^ca Centro de _X_e_r_o_x en _P_a_l_o _A_l_t_o por la uzo kun ties komputiloj _A_l_t_o kaj _D_o_r_a_d_o [3]. Beda^urinde neniu Vera Programisto iam ajn uzus kom- putilon kies mastruma sistemo nomi^gas _S_m_a_l_l_T_a_l_k, kaj li certe ne komunikus al la komputilo per muso. Kelkaj el la konceptoj de tiuj redaktumiloj de _X_e_r_o_x estis enkorp- igitaj en redaktumiloj funkciantaj sur pli racie nomitaj mastrumaj sistemoj - _e_m_a_c_s kaj _v_i estas du el ili. La problemo pri tiuj redaktumiloj estas ke Veraj Programistoj konsideras la koncepton "_k_i_o_n _v_i _v_i_d_a_s, _t_i_o_n _v_i _r_i_c_e_v_o_s" pri tekst-redaktumiloj same malbona kiel pri virinoj. Ne, la Vera Program- isto volas redaktumilon la^u la principo "_v_i _p_e_t_i_s ^_g_i_n, _v_i _r_i_c_e_v_o_s ^_g_i_n" - komplikita, kripta, potenca, senpardona, dan^gera. TECO, por esti preciza. Oni observis ke la komando-vicoj de TECO pli similas transsendo-bruon ol legeblan tekston [4]. Sufi^ce amuza ludo per TECO estas entajpi vian nomon kiel komando-linion kaj diveni kion ^gi ka^uzos. Preska^u ^ciu ebla mis-tajpo dum dialogo kun TECO probable detruos vian programon, a^u e^c pli malbone - enmetos subtilajn kaj misterajn eraretojn en iam funkciantan sub- programon. Tial Veraj Programistoj hezitas vere redaktumi programon kiu preska^u funkcias. Ili trovas multe pli facila simple fliki rekte la duuman objekt-kodon, uzante mirindan programon nomitan SUPERZAP (a^u ^gian ekvi- valenta^jon sur ne-IBM-aj ma^sinoj). Tio funkcias tiom bone ke multaj funkciantaj programoj sur sistemoj de IBM havas neniun rilaton al la origi- nala FORTRAN-programo. En multaj okazoj la originala fonto-programo ne plu estas disponebla. Kiam necesas korekti tian programon, neniu estro e^c son^gus taski tiun laboron al iu malpli ol Vera Programisto - neniu ki^s- man^ganta strukturita programisto e^c scius kie komenci. Tion oni nomas "sekureco de postenoj". Kelkaj programadaj iloj NE uzataj de Veraj Programistoj: 9 * FORTRAN-preproceziloj kiaj MORTRAN kaj RATFOR. La kuirarto de pro- gramado - grandioza por fari ki^son. Vidu la ^ci-suprajn komentojn pri strukturita programado. 4 * Fontolingvaj erar-analiziloj. Veraj Programistoj scipovas legi stor-kopiojn. * Kompililoj kun kontrolado de indic-limoj. Ili sufokas kreivecon, detruas la plej multajn interesajn aplikojn de EQUIVALENCE kaj mal- ebligas modifi la kodon de la mastruma sistemo per negativaj indicoj. Plej malbone, indic-kontrolado ka^uzas malbonan efikecon. * Sistemoj por la administrado de fonto-kodo. Vera Programisto konser- vas sian kodon ^slositan en karto-stako ^car tio implicas ke la posedanto ne povas lasi siajn gravajn programojn negarditaj [5]. La Vera Programisto ^ce la laboro 9 Kie laboras la tipa Vera Programisto? Kiaj programoj indas je la penoj de tiel talenta individuo? Vi estu certa ke neniu Vera Programisto estus trovebla skribanta konto-librotenajn programojn en COBOL, a^u ordig- anta adres-listojn por la magazino _P_e_o_p_l_e. Vera Programisto volas taskojn de ter-skua graveco (la^u-litere!). * Veraj Programistoj laboras por la Nacia Laboratorio de _L_o_s _A_l_a_m_o_s, verkante simuladojn de atomaj bomboj por super-komputiloj _C_r_a_y _I. * Veraj Programistoj laboras por la Nacia Agentejo de Sekureco, mal- kodante Rusajn transsendojn. * Estis precipe pro la klopodoj de miloj da Veraj Programistoj, laborantaj por NASA, ke niaj uloj atingis la lunon kaj revenis anta^u la Rusoj. * Veraj Programistoj estas laborantaj por _B_o_e_i_n_g, desegnante la mastr- uman sistemon por kroz-misiloj. Kelkaj el la plej admirindaj Veraj Programistoj laboradas por la Reaktor-Propulsa Laboratorio en Kalifornio. Multaj el ili parkere scias la tutan mastruman sistemon de la spacialaj veturiloj _P_i_o_n_e_e_r kaj _V_o_y_a_g_e_r. Per kombino de grandaj surteraj FORTRAN-programoj kaj malgrandaj sur- veturilaj asemblo-lingvaj programoj, ili kapablas fari nekredeblajn mirak- lojn de navigado kaj improvizado - trafante dek-kilometrajn fenestrojn ^ce Saturno post ses jaroj en la kosmo, riparante a^u transpontante dama^gitajn sensilajn platformojn, radio-aparatojn kaj pilojn. La^udire, iu Vera Pro- gramisto sukcesis ^stopi skemo-komparan programon en kelk-cent bajtojn da neuzita storo en _V_o_y_a_g_e_r-veturilo, kiu ser^cis, trovis kaj fotis novan lunon de Jupitero. La aktualaj planoj por la spaciala veturilo _G_a_l_i_l_e_o estas uzi gravito-helpatan trajektorion preter Marso survoje al Jupitero. Tiu tra- jektorio pasas la surfacon de Marso je distanco de 80+_3 kilometroj. Neniu fidus al PASCAL-a programo (a^u PASCAL-a programisto) por navigado kun tiaj toleroj. 9 5 Kiel oni povas supozi, multaj el la Veraj Programistoj de la mondo laboras por la Usona registaro - ^cefe la Ministerio pri Defendo. Tio estas en ordo. Tamen, anta^u nelonge formi^gis nigra nubo ^ce la horizonto de Vera Programado. ^Sajnas ke iuj altrange lokitaj Ki^s-man^guloj en la Ministerio pri Defendo decidis ke ^ciuj Defendaj programoj estu skribitaj en iu granda unuecigita lingvo nomita "ADA" ((C), DoD). Dum iom da tempo ^sajnis ke ADA estis destinita fari^gi lingvo kontra^u ^ciuj principoj de Vera Programado - lingvo kun strukturo, lingvo kun daten-tipoj, forta tipigo, kaj punkto-komoj. Koncize, lingvo desegnita por kripligi la kreiv- econ de la tipa Vera Programisto. Bon^sance, la lingvo akceptita de la Ministerio havas sufi^ce da interesaj ecoj por fari ^gin alirebla - ^gi estas nekredeble kompleksa, ampleksas metodojn por luda^ci pri la mastruma sistemo kaj rearan^gi la storon, kaj _E_d_s_g_a_r _D_i_j_k_s_t_r_a ne ^satas ^gin [6]. (_D_i_j_k_s_t_r_a, kiel vi certe scias, estis la a^utoro de "_G_o_T_o_s _C_o_n_s_i_d_e_r_e_d _H_a_r_m_- _f_u_l" - epok-fara verko en programada metodologio, apla^udita egale de PASCAL-programistoj kaj Ki^s-man^guloj.) Krome, la rezoluta Vera Program- isto scipovas verki FORTRAN-programojn en ^ciu ajn lingvo. La Vera Programisto eble kompromisigas siajn principojn kaj laboras pri io iom pli triviala ol la detruo de vivo kian ni konas, kondi^ce ke el- venas sufi^ce da mono. Estas kelkaj Veraj Programistoj konstruantaj video-ludojn ^ce _A_t_a_r_i, ekzemple. (Sed ne ludante ilin - Vera Programisto scias kiel venki la ma^sinon ^ciufoje: neniu defio.) ^Ciu kiu laboras por _L_u_c_a_s_F_i_l_m estas Vera Programisto. (Estus freneze rifuzi la monon de kvin- dek milionoj da ^satantoj de _S_t_a_r _T_r_e_k.) La parto de Veraj Programistoj en la kampo de komputila grafiko estas iom malpli alta ol la normo, precipe ^car ankora^u neniu trovis uzon por komputila grafiko. Aliflanke la tuta komputila grafiko estas farata per FORTRAN, do ekzistas sufi^ca nombro da homoj kiuj faras komputilan grafikon por ne devi verki programojn en COBOL. La Vera Programisto ^ce ludo 9 ^Generale la Vera Programisto ludas la^u la sama maniero kiel li laboras - per komputiloj. Li da^ure miras ke lia dunganto efektive pagas al li por fari kion li sen tio farus por plezuro (kvankam li estas prudenta ne esprimi tiun opinion la^ute). Okaze la Vera Programisto faras pa^son el la oficejo por preni spiron da fre^sa aero kaj bieron a^u du. Kelkaj kon- siloj por rekoni la Veran Programiston ekster la komputilejo: * ^Ce festo, la Veraj Programistoj estas tiuj en la angulo kiuj parolas pri sekureco de mastrumaj sistemoj kaj kiel eviti ^gin. * ^Ce futbala ludo, la Vera Programisto estas tiu kiu komparas la luda- don al siaj simuladoj, printitaj sur senfina fald-papero de formato de 11 oble 14 coloj. * ^Ce la pla^go, la Vera Programisto estas tiu kiu desegnas program- flu-planojn en la sablo. * ^Ce entombigo, la Vera Programisto estas tiu kiu diras: "Kompatinda Georgo! Kaj preska^u funkciis lia ordiga programo anta^u la 9 6 infarkto." * En superbazaro, la Vera Programisto estas tiu kiu insistas mem pasigi la skatolojn preter la lasera prez-legilo, ^car li ne povus fidi ke karto-truisto ^guste sukcesus je la unua fojo. La natura vivejo de la Vera Programisto 9 En kia medio la Vera Programisto funkcias plej bone? Tio estas grava demando por la estroj de Veraj Programistoj. Se konsideri la monsumon necesan por teni iun en la dungitaro, estas plej bone meti lin (a^u ^sin) en medion kie li povas plenumi sian labroron. La tipa Vera Programisto vivas anta^u komputila dialogilo. ^Cirka^u tiu dialogilo estas: * Printa^joj de ^ciuj programoj pri kiuj la Vera Programisto iam ajn laboris, stakigitaj en proksimuma tempa ordo sur ^ciu plata surfaco en la oficejo. * ^Cirka^u duona dekduo da parte plenaj tasoj de malnova kafo. Okaze estas cigared-stumpoj flosantaj en la kafo. En kelkaj okazoj la tasoj enhavas oran^g-prema^jon. * Krom se li estas tre bona, estas ekzemplero de la OS-JCL-manlibro kaj de la _P_r_i_n_c_i_p_o_j _d_e _F_u_n_k_c_i_i_g_o, malfermitaj je iuj aparte interesaj pa^goj. * Gluita al la muro estas lini-printita kalendaro kun bildo de _S_n_o_o_p_y por la jaro 1969. * Dis^jetitaj sur la planko estas kelkaj volva^joj de froma^g-stangetoj kun arakid-butera far^ca^jo - la speco kiu estas farita pre-malfre^sa en la bakejo tiel ke ili ne povas pli malboni^gi en la vendatoro. * Ka^sitaj en la supra maldekstra tirkesto de la tablo estas provizo da duoblaj _O_r_e_o-j por specialaj okazoj. * Sub la _O_r_e_o-j estas ^sablono por flu-diagramoj, kiun lasis la anta^ua uzanto de la oficejo. (Veraj Programistoj verkas programojn, ne dokumenta^jojn. Lasu tion al la subtena kaj ripara dungitaro.) La Vera Programisto kapablas labori dum 30, 40, e^c 50 horoj seninter- rompe, sub intensa premo. Efektive li preferas tion. Malbona reago-tempo ne ^genas la Veran Programiston - ^gi donas al li tempon por kapti iom da dormo dum la kompiladoj. Se ne estas sufi^ce da plan-premo sur la Vera Programisto, li emas igi la aferon pli defia, laborante pri iu malgranda sed interesa parto de la problemo dum la unuaj na^u semajnoj kaj tiam finante la reston en la lasta semajno, en du a^u tri 50-horaj maratonadoj. Tio ne nur infere impresas lian estron kiu jam malesperis pri ^gustatempa finado de la projekto, sed anka^u kreas konvenan ekskuzon por ne fari dokumentadon. ^Generale: 9 7 * Neniu Vera Programisto laboras de la 9a ^gis la 5a (escepte se estas la noktaj horoj). * Veraj Programistoj ne portas kravatojn. * Veraj Programistoj ne portas alt-kalkanumajn ^suojn. * Veraj Programistoj alvenas al la laboro ^gustatempe por la tagman^go. * Veraj Programistoj eble scias a^u ne scias la nomon de sia edzino. Li tamen scias la tutan tabelon de la ASCII- (a^u EBCDIC-) -kodo. * Veraj Programistoj ne scias kuiri. Nutra^j-vendejoj ne estas mal- fermitaj je la 3a horo nokte. Veraj Programistoj pluvivas per biskvitoj kaj kafo. La estonteco 9 Kio pri la estonteco? Estas zorgiga afero por kelkaj Veraj Programis- toj ke la lasta generacio de komputil-programistoj ne estas edukata kun la sama viv-koncepto kiel iliaj prauloj. Multaj el ili neniam vidis kompu- tilon kun fronta panelo. Apena^u iu nun finanta la lernejon povas kalkuli dekses-ume sen kalkulilo. Kiu hodia^u finas kolegion, estas molulo, pro- tektita de la reala^joj de la vivo per fonto-kodaj analiziloj, tekst- redaktumiloj nombrantaj parentezojn kaj uzantul-amikaj mastrumaj sistemoj. Plej malbone, kelkaj el tiuj la^unomaj "komputil-sciencistoj" sukcesas diplomi^gi sen iam lerni FORTRAN-on! ^Cu estas nia destino fari^gi indus- trio da UNIX-uloj kaj PASCAL-programistoj? De miaj spertoj mi povas raporti nur ke la estonteco estas hela por Veraj Programistoj kie ajn. Nek OS\370 nek FORTRAN montras ian signon de ekstermi^go, malgra^u ^ciuj klopodoj de PASCAL-programistoj en la tuta mondo. E^c pli subtilaj artifikoj, kiel aldoni strukturitajn kodo-konstru- a^jojn al FORTRAN, malsukcesis. Ho jes, kelkaj komputil-vendistoj eldonis kompililojn por FORTRAN 77, sed ^ciu el tiuj havas la eblecon re^san^gi ^gin al FORTRAN 66 per forigo de iu reg-karto - por traduki DO-ciklojn tiaj, kiaj Dio intencis ili esti. E^c UNIX eble ne estas tiom malbona por Veraj Programistoj kiom ^gi iam estis. La lasta eldono de UNIX havas la potencialon de mastruma sistemo inda je Vera Programisto - du malsamaj kaj subtile nekongruaj uzantul-interfacoj, antikveca kaj komplika dialogil-rega programo, virtuala storo. Se ignori la fakton ke ^gi estas "strukturita", e^c programado per '_C' povas esti ^satata de Vera Programisto: fakte ja ne ekzistas tipo- kontrolo, nomoj de variabloj estas sep (dek? ok?) signojn longaj, kaj aldoni^gas la kroma avanta^go de la daten-tipo "montrilo" - kvaza^u la plej bonaj partoj de FORTRAN kaj asembla lingvo en unu loko. (Sen e^c mencii kelkajn el la iom kreivaj aplikoj de #define.) Ne, la estonteco tute ne estas tiom malbona. Ho, en la lastaj kelkaj jaroj la gazetaro e^c raportis pri la ruza nova generacio da komputil- intelektuloj kaj hakumantoj ([7] kaj [8]), kiuj inter^san^gas lokojn kiaj _S_t_a_n_f_o_r_d kaj _M._I._T. al la Reala Mondo. La^u ^ciuj indikoj, la spirito de 9 8 Vera Programado pluvivas en tiuj junaj viroj kaj virinoj. Dum ke ekzistas mise difinitaj celoj, bizaraj eraroj kaj nerealismaj tempo-planoj, ekzistos Veraj Programistoj, pretaj ekagi kaj Solvi La Problemon, prokrastante la dokumentadon al poste. Longe vivu FORTRAN! Danko Mi volas danki al _J_a_n. _E., _D_a_v_e _S., _R_i_c_h _G., _R_i_c_h _E. pro ilia helpo en la karakterizado de la Vera Programisto, al _H_e_a_t_h_e_r _B. pro la ilus- trado, al _K_a_t_h_y _E. ^car ^si toleris ^gin kaj al atd!avsdS:mark pro la ori- gina inspiro. 9 Literaturo: 9 [1] Feirstein, B., "Real Men don't Eat Quiche", New York, Pocket Books, 1982. [2] Wirth, N., "Algorithms + Data Structures = Programs", Prentice Hall, 1976. [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. [9] sdcarl!lin, "Real Programmers", UUCP-net, Thu Oct 21 16:55:16 1982 9 -- Reinhard F\"ossmeier, Technische Universit\"at M\"unchen foessmeier@infovax.informatik.tu-muenchen.dbp.de foessmeier%infovax.informatik.tu-muenchen.dbp.de@ { relay.cs.net | unido.uucp } ******** "Matena horo estas plena je kapdoloro (Zamenhof)" ********