Ennen hyvään aikaan -- tietokoneiden "Kulta-aikaan", oli helppoa erottaa miehet pojista (joskus kutsumanimet ovat "Tosi Mies" ja "Idun Narskuttaja"). Tällöin Tosi Miehet olivat niitä, jotka tiesivät ohjelmoinnista, Idun Narskuttajat niitä, jotka eivät. Tosiohjelmoija käytti kieltä, kuten "DO 10 I=1,10" ja "ABEND" (he todella - ymmärrettävästi - puhuivat ISOIN kirjaimin.) Muut ihmiset olivat sitä mieltä, että "tietokoneet ovat liian monimutkaisia minulle" ja "en ikinä alistu käyttämään tietokonetta - ne ovat niin persoonattomia". (Aiemmat tutkimukset (1) osoittavat, että Tosiohjelmoijat eivät "alistu" mihinkään - eivätkä pelkää olla persoonattomia.)
Mutta niin kute aina: ajat muuttuvat. Nyt me elämme maailmassa, jossa pienet vanhat tädit saavat tietokoneen mikroaaltouuninsa mukana, 12-vuotiaat pennut voittavat Tosiohjelmoijan Tetriksess ja Pasianssissa, ja kuka tahansa voi ostaa ikioman kotitietokoneen ja jopa ymmärtää sen käyttäytymistä. Tosiohjelmoija on siis vaarassa kadota kokonaan, jäämässä peruskoulussa PC:hen tutustuneiden jalkoihin.
Niinpä onkin tarpeen osoittaa eroja tyypillisen peruskoululaisen Pasianssipelaajan ja Tosiohjelmoijan välillä. Jos tämä ero tuodaan kyllin selvästi esille, se antaa näille lapsille jonkin tavoitteen johon pyrkiä -- rooli, malli, isäHahmo. Siitä on myös apua selvitettäessä työnantajille, miksi olisi iso virhe korvata Tosiohjelmoijat 12-vuotiailla Pasianssipelaajilla (jolloin palkkamenot tosin pienenisivät huomattavasti).
Helpoin tapa tunnistaa Tosiohjelmoija joukosta on ohjelmointikieli, jota hän käyttää. Tosiohjelmoija käyttää FORTRANia. Idun Narskuttajat käyttävät PASCALia. Nicklaus Wirth, PASCAL-kielen kehittäjä, joutui kerran esitelmöidessään vastaamaan kysymykseen "Miten lausutte nimenne?". Hän vastasi "Joko kutsutte nimellä, lausuen 'Veert' tai arvon mukaan 'Worth'." Tästä kommentista voidaan suoraan päätellä, että NW on Idun Narskuttaja. (Nimihän lausutaan 'Nickles Worth', eli ei kovin tärkeä tyyppi :-) Ainoa oikea Tosiohjelmoijien hyväksymä parametrien välitysmekanismi on arvonvälitys, kuten se on toteutettu IBM/370 FORTRAN-kääntäjässä. Tosiohjelmoijat eivät tarvitse kaikkia turhia käsitteellisiä keinoja hommien tekemiseen - he ovat täydellisen tyytyväisiä paperipäätteeseen, FORTRAN IV-kääntäjään ja olueeseen.
- Tosiohjelmoijat tekevät Listojen käsittelyä FORTRANilla. - Tosiohjelmoijat tekevät Merkkijonokäsittelyä FORTRANilla. - Tosiohjelmoijat tekevät Käytönseurantaohjelmia FORTRANilla. (jos he tekevät niitä ollenkaan). - Tosiohjelmoijat tekevät Tekoälyohjelmia FORTRANilla. - Jos jotain ei voi tehdä FORTRANilla, tee se assembly-kielellä. Jos ohjelmaa ei voi kirjoittaa assembly-kielellä, se ei ole tekemisen arvoinen.
Tietojenkäsittelyn akateemiset piirit ovat takertuneet "rakenteinen ohjelmointi" juttuun viime vuosina. He väittävät, että ohjelmat ovat helppolukuisempia, jos ohjelmoija käyttää joitain erityisiä kielen ominaisuuksia ja oikeata ohjelmointitekniikkaa. He eivät - tietenkään - ole samaa mieltä siitä millaisia rakenteita tulisi käyttää ja esimerkit, joilla he tuovat oman kantansa esille ovat lyhyitä ohjelmia, jotka yleensä sopivat jonkin alan lehden sivun nurkkaan -- selvästikään ei tarpeeksi näyttöä saadakseen ketään vakuuttuneeksi asiasta. Kun minä pääsin ulos koulusta osasin kirjoittaa lyömättömän tic-tac-toe -ohjelman, käyttää viittä eri ohjelmointikieltä ja tehdä 1000 riviä pitkiä ohjelmia, jotka TOIMIVAT. (Ihan totta!). Sitten jouduin ulos Todelliseen Maailmaan. Ensimmäinen hommani Todellisessa Maailmassa oli tutustua 200,000 riviä pitkään FORTRAN -ohjelmaan ja tuplata sen toimintanopeus. Kuka tahansa Tosiohjelmoija voi vakuuttaa sinulle, että kaiken maailman rakenteinen ohjelmointi ei auta sinua eteenpäin tällaisessa ongelmassa - siihen tarvitaan todellista lahjakkuutta. Muutama nopea huomio Tosiohjelmoijasta ja rakenteisesta ohjelmoinnista.
- Tosiohjelmoijat eivät epäröi käyttää GOTO -lausetta. - Tosiohjelmoija kirjoittaa 5 sivua pitkiä DO -silmukoita ilman että sekaantuu ajatuksissaan hiukkaakaan. - Tosiohjelmoijat pitävät Aritmeettisesta IF -lauseesta (niiden avulla koodi saadaan mielenkiintoisemmaksi). - Tosiohjelmoija kirjoittaa itseään muuttavaa koodia, varsinkin jos sillä säästää 20 ns. tiukan silmukan sisällä. - Tosiohjelmoijat eivät tarvitse kommentteja - koodi on itsestään selvää. - Koska FORTRANissa ei ole rakenteita IF, REPEAT ... UNTIL tai CASE-lausetta, Tosiohjelmoijan ei tarvitse huolehtia niiden käytöstä. Sitäpaitsi, nehän ovat kaikki tarpeen vaatiessa korvattavissa sijoitetulla GOTO -lauseella.
Tietorakenteiden käyttö on myöskin tullut vahvasti esille. Käsitteiset tietotyypit, Rakenteet, Osoittimet, Listat ja Merkkijonot ovat hyvin suosittuja joissakin piireissä. Wirth (edellä mainittu Idun Narskuttaja) jopa kirjoitti kokonaisen kirjan (2), jonka sisältö käsittelee ohjelman rakentamista tietorakenteiden pohjalta eikä päinvastoin. Kuten kaikki Tosiohjelmoijat hyvin tietävät, ainoa käyttökelpoinen tietorakenne on Vektori. Merkkijonot, Listat, Rakenteet, Joukot -- kaikki ne ovat vain vektoreiden erikoistapauksia, ja niitä voidaan käsitellä vektoreina ilman että pitää tehdä kieleen joitakin tarpeettomia monimutkaisia lisäyksiä. Ikävin asia hassuissa tietotyypeissä on, että ne pitää määritellä ja Tosi Ohjelmoin- tikielissä - kuten hyvin tiedämme - on implisiittinen tyypitys, jonka määrää (kuusimerkkisen) muuttujannimen ensimmäinen kirjain.
Millaista käyttöjärjestelmää Tosiohjelmoija sitten käyttää ? CP/M? MS/DOS? Luoja paratkoon -- loppujen lopuksi, nehän ovat lelukäyttöjärjestelmiä. Jopa pienet vanhat tädit ja lukio-opiskelijatkin ymmärtävät ja osaavat käyttää niitä.
Unix taas on paljon monimutkaisempi - tyypillinen Unix hacker ei ikinä muista, mitä PRINT -komento tällä viikolla tekee - mutta tarkkaan tutkien Unix on vain kirjava videopeli. Unixilla ei tehdä vakavaa työtä: käyttäjät vain lähettelevät vitsejä ympäri maailmaa Internet-verkkoon ja kirjoittelevat seikkailupelejä sekä tutkimusjulkaisuja.
EI, Tosiohjelmoija käyttää OS/370:tä. Hyvä ohjelmoija osaa löytää ja jopa ymmärtää IJK305I -virheen selvityksen, jonka hän on juuri löytänyt JCL -manuaalistaan. Tosi taitava ohjelmoija hallitsee JCL:n käytön ilman manuaalia. Erittäin hyvä ohjelmoija löytää ilman heksalaskinta virheet, jotka ovat hautautuneet 6 MB -kokoiseen muistivedokseen. ( Näin on ihan oikeasti tapahtunut.)
OS on todella huomattava käyttöjärjestelmä. On mahdollista tuhota päivien työ yhdellä väärin sijoitetulla välilyönnillä, joten henkilökuntaa kehotetaan olemaan tarkkana. Paras tapa käyttää ko. järjestelmää on paperipäätteen välityksellä. Jotkut väittävät, että OS/370 on ajanjakojärjestelmä, mutta pitkien tutkimusten jälkeen olen vakaasti sitä mieltä, että he ovat väärässä.
Millaisia työkaluohjelmia Tosiohjelmoija käyttää ? Periaattessa Tosiohjelmoija voisi ajaa ohjelmansa naputtamalla sen sisään tietokoneen naamataulun kytkimistöltä. Kun tietokoneissa vielä oli etupaneelissa kytkimet, näin jopa joskus todella tehtiin. Tyypillinen Tosiohjelmoija muisti ulkoa koko käyttöjärjestelmän latausohjelman heksamuodossa ja syötti sen uudelleen sisään aina kun hänen oma ohjelmansa sattui tärvelemään käyttöjärjestelmäkoodin. (Silloin muisti oli Muistia - se ei tyhjentynyt kun virrat menivät. Nykyään muistista katoaa aivan liian helposti kaikkea tarpeellista tai säilyy pitkään jotain, mikä olisi ollut syytä tuhota jo ajat sitten.) Huhu kertoo, että Seymour Gray, Cray I tietokoneen ja muidenkin Control Datan supertietokoneiden kehittäjä, todella syötti CDC7600 -tietokoneen ensimmäisen käyttöjärjestelmän etupaneelista sisään - ulkomuistista. Seymour - lienee tarpeetonta mainita - on Tosiohjelmoija.
Eräs mieleenpainuvista Tosiohjelmoijista oli systeemiohjelmoija Texas Instrumentsilla. Eräänä päivänä hän vastaanotti kaukopuhelun asiakkaalta, jonka systeemi oli kaatunut kesken tärkeän työn tallentamista. Jim korjasi vian puhelimen välityksellä, ohjaten asiakkaan koneen etupaneelin luo antamaan tarvittavat I/O -käskyt, korjaamaan systeemin tilatiedot haksana, ilmoittaen tarvittavien rekisterien sisällöt puhelimen välityksellä. Tarinan opetus: Tosiohjelmoija yleensä työskentelee paperipäätteen ja rivikirjoittimen kera, mutta hätätilanteessa puhelin ja koneen etupaneelikin riittävät.
Joissain firmoissa tekstinkäsittelyyn ei enää käytetä tapaa, jossa useat työntekijät ovat rivissä käyttämässä 029 paperipäätteitä. Itse asiassa rakennuksessa, jossa olen töissä ei ole enää yhtään paperipäätettä. Tosiohjelmoijan pitää tällaisessa ympäristössä tyytyä käyttämään "kuvaruutueditori" -ohjelmaa. Useimmissa järjestelmissä on useita sellaisia tarjolla ja niinpä Tosiohjelmoijan pitää olla tarkkana valitessaan "se" parhaiten omia tottumuksia mukaileva. Monien mielestä parhaat editorit on tehty Xeroxin Palo Alto Research Center -nimisessä paikassa heidän Alto ja Dorado -tietokoneisiinsa (3). Valitettavasti kukaan Tosiohjelmoija ei ikinä tule käyttämään tietokonetta, jonka käyttöjärjestelmää kutsutaan Smalltalkiksi (suom. tyhjänpäiväinen lörpöttely säästä tms.), eikä varmasti juttelisi koneen kanssa hiiren avulla.
Jotkin näiden Xeroxin editoreiden piirteistä on siirretty editoreihin, jotka toimivat hiukan järkevämmän nimisissä ympäristöissä -- EMACS ja VI kaksi nimetäkseni. Ongelma näiden editoreiden kohdalla on, että Tosiohjelmoijan mielestä "mitä näet on mitä saat" on ihan yhtä huono juttu Tekstieditoreiden kohdalla kuin se on Naisten kohdalla. Ei, Tosiohjelmoija haluaa "pyysit sitä, sait mitä halusit" editorin -- monimutkaisen, kryptisen, voimakkaan, anteeksiantamattoman ja vaarallisen. TECOn tarkemmin ottaen.
On havaittu, että TECOn ohjauskäskyt muistuttavat enemmän linjakohinaa kuin lukukelpoista tekstiä (4). Eräs hupipeleistä TECOn kanssa on antaa oma nimi komennoksi ja yrittää arvata mitä tapahtuu. Melkeimpä mikä tahansa TECOlle väärin kirjoitettu komento todennäköisesti tuhoaa koko ohjelmasi, tai mikä vielä pahempaa -- tuo pikkuisia, mystisiä virheitä kerran jo toimineeseen aliohjelmaan.
Siksi Tosiohjelmoija ei mielellään enää editoi ohjelmaa, joka on jo melkein valmis. Heidän mielestään on paljon helpompaa muuttaa binääristä objektikoodia suoraan, käyttäen suurenmoista ohjelmaa nimeltä SUPERZAP (tai sen vastinetta ei-IBM -koneilla). Tämä tapa toimii niin hyvin, että monilla IBM -koneissa toimivilla ohjelmilla ei ole mitään tekemistä alkuperäisen FORTRAN -lähdekieliohjelman kanssa. Usein lähdekielikoodia ei ole edes saatavilla. Kun tällaisesta ohjelmasta pitää sitten korjata joitakin puutteita, ei johtajalle tule mieleenkään laittaa asialle ketään muuta kuin Tosiohjelmoija -- kukaan Ituja Narskutteleva rakenteista ohjelmointityyliä käyttävä ohjelmoija ei ikinä edes selvittäisi kuinka aloittaisi homman. Tätä kutsutaan "työn varmistamiseksi".
Alla joitakin työkaluja, joita Tosiohjelmoija EI käytä:
- FORTRAN esiprosessorit kuten MORTRAN ja RATFOR. Ohjelmoinnin riippukiviä; suurenmoisia työkaluja Itujen aikaansaamiseen. Katso edellä olleita kommentteja rakenteisesta ohjelmoinnista. - Lähdekielivianetsimet. Tosiohjelmoija lukee suoraan muistivedoksia. - Kääntäjät, jotka tukevat indeksirajojen tarkistamista. Ne tuhoavat luovuuden, estävät EQUIVALENCE-lauseen "hyötykäytön", eikä sitten enää ole mahdollista muunnella käyttöjärjestelmää käyttäen negatiivisia indeksejä. Ja mikä pahinta indeksien tarkistelu ei ole tehokasta koodia. - Lähdekielikoodin hallintajärjestelmä. Tosiohjelmoija pitää koodinsa turvassa naapurin arkistokaapissa luottaen siihen, että naapuri kyllä pitää omastaan huolta.
Missä tyypillinen Tosiohjelmoija sitten työskentelee ? Millaiset ohjelmat ovat niin tärkeitä, että niinkin lahjakas ohjelmoija käy sen kimppuun ? Voit olla varma, että yksikään Tosiohjelmoija ei jää pölyttymään kirjoittelemaan jotakin tiliohjelmistoa COBOLilla, tai järjestelemään People -lehden postituslistoja. Tosiohjelmoija haluaa hommia, joilla on koko maailmaa hätkähdyttävä merkitys (kirjaimellisesti!).
- Tosiohjelmoijat työskentelevät Los Alamos National Laboratoryssa tehden atomipommien käyttäytymisen mallinnusohjelmia Cray I:lle. - Tosiohjelmoijat työskentelevät BSA:n laskuun tutkien kaikkia Suomeen saapuvia levykkeitä. - Tuhansien Tosiohjelmoijien ahkeran työn tulosta on, että NASA:n pojat pääsivät kuuhun ja takaisin ennen venäläisiä. - Tosiohjelmoijat ovat ohjelmoineet avaruussukkulan tietokoneet. - Tosiohjelmoijat työskentelevät Boeingilla tehden käyttöjärjestelmiä risteilyohjuksille.
Jotkut kaikkein kunnioitetuimmista Tosiohjelmoijista tekevät duunia Jet Propulsion Laboratoryssa Kaliforniassa. Monet heistä osaavat ulkoa Pioneer ja Voyager avaruusalusten ohjelmistot. Laajojen FORTRAN maa-asemaohjelmistojen ja suppeiden assemblyllä tehtyjen avaruusalusohjelmien yhdistelmällä he pystyvät mielikuvitukselliseen suunistustarkkuuteen ja improvisointiin -- alus menee 10 kilometrin leveän ikkunan kohdalta Saturnuksen kohdalla kuuden vuoden avaruusmatkan jälkeen, he korjaavat ja ohittavat rikkoutuneita anturiryppäitä, radioita ja akkuja. Väitetään, että eräs Tosiohjelmoija sai ängettyä Voyager -aluksen käyttämättömään muutaman sadan tavun tilaan hahmontunnis- tusohjelman, joka etsi, paikallisti ja kuvasi erään Jupiterin uuden kuun.
Galileo-aluksen tämänhetkiseen suunniteltuun reittiin kuuluu käyttää gravitaation avustamaa ohitusrataa Marsin ohi kohti Jupiteria. Tämä rata kulkee 80 +- 3 kilometriä Marsin pinnan yläpuolella. Kukaan ei luota PASCAL -ohjelmaan (tai PASCAL -ohjelmoijaan) kun on kyse suunistuksesta näillä toleransseilla.
Niinkuin tietänette monet maailman Tosiohjelmoijista tekevät töitä USAn hallitukselle -- pääasiassa puolustusministeriölle. Niin pitääkin. Viimeaikoina on kuitenkin noussut musta pilvi horisonttiin. Näyttää siltä, että joku puolustusministeriössä korkeassa asemassa oleva Idun Nakertaja on saanut läpi päätöksen, että kaikki ohjelmat tulee siellä kirjoittaa jollain uudella mahtavalla kielellä, jonka nimi on "ADA" ((r), DOD). Hetken aikaa jopa näytti siltä, että ADAn kohtalona on olla kieli joka sotii kaikkia Tosiohjelmoijan vaalimia periaatteita vastaan -- rakenteinen kieli, kieli jossa on tietotyyppejä, vahva tyypitys ja puolipisteitä. Lyhyesti, kieli joka tuhoaa kokonaan tyypillisen Tosiohjelmoijan luovuuden. Onneksi kuitenkin DODn lopullisesti hyväksymässä kielessä on tarpeeksi mielenkiin- toisia piirteitä, jotta se olisi lähestyttävissä -- se on tajuttoman laaja ja monimutkainen, siinä on piirteitä, joilla voi tarvittaessa ohjailla käyttäjärjestelmää ja muistia ihan itse, lisäksi Edsgar Dijkstra ei pidä ko. kielestä (6). (Dijkstra, kuten varmaan tiedät, oli kirjan "Goto's Considered Harmful" kirjoittaja -- kirjan, joka on ohjelmointimetodologioiden yksi virstanpylväs (ehkäpä virtsapylväs), jota PASCAL -ohjelmoijat ja muutkin Itujen Narskuttajat ylistävät.) Sitä paitsi päättäväinen Tosiohjelmoija pystyy kirjoittamaan FORTRAN -ohjelmia millä tahansa kielellä.
Tosiohjelmoija voi tosin hiukan tinkiä periaatteistaan ja tehdä työtä jonkin hiukan yksinkertaisemman asian parissa kuin elämän tuhoaminen siinä muodossa kuin me sen tunnemme, edellyttäen, että siitä maksetaan tarpeeksi. Atarilla on useita Tosiohjelmoijia tekemässä Videopelejä. (Mutta he eivät pelaa niitä -- Tosiohjelmoija tietää kuinka koneen saa häviämään joka kerta; pelaaminen ei siis ole kovinkaan haastavaa.) Jokainen LucasFilmin työntekijä on Tosiohjelmoija. (Olisi typerää hylkiä 50 miljoonan Star Trek fanin rahoja.) Tosiohjelmoijien määrä tietokonegrafiikan parissa on hiukan normaalia alhaisempi, koska kukaan ei ole keksinyt tosikäyttöä tietokonegrafiikalle - vielä. Toisaalta tietokonegrafiikkaohjelmia tehdään FORTRANilla, joten kohtalainen osa grafiikkaohjelmoijista tekee juuri sitä välttyäkseen kirjoittamasta COBOL -ohjelmia.
Yleensä Tosiohjelmoija viettää vapaa-ajan samoin kuin työajan -- tietokoneen ääressä. Hän jatkuvasti hämmästelee, että työnantaja maksaa hänelle siitä mitä hän tekisi muutenkin (tosin tuota ei sanota ikinä lujaan ääneen.) Silloin tällöin Tosiohjelmoija lähtee haukkaamaan hiukan raitista ilmaa ulos ja juomaan oluen tai pari. Joitakin vinkkejä, mistä tuntee Tosiohjelmoijan, kun hän ei ole päätteen ääressä:
- Juhlissa Tosiohjelmoijat ovat keskenään nurkassa juttelemassa käyttöjärjestelmien suojauksista ja niiden kiertämisestä. - Jalkapallopelissä Tosiohjelmoija vertailee todellista peliä tekemäänsä mallinnukseen, joka on tulostettu taitellulle A3 -paperille. - Rannalla Tosiohjelmoija piirtelee lohkokaavioita hiekkaan. - Tosiohjelmoija menee diskoon seuraamaan valoshowta. - Hautajaisissa Tosiohjelmoija on se, joka valittelee: "Jussi parka. Hän kun miltei sai lajittelu-ohjelmansa toimimaan ennen sydänveritulppaa". - Maitokaupassa Tosiohjelmoija on se, joka vaatii, että kaikki tuotteet pitää laittaa hinnanlukijan läpi, koska tietää, että ensimmäinen näppäily menee kuitenkin aina väärin.
Millaisessa ympäristössä Tosiohjelmoija toimii tehokkaimmin? Tämä on hyvin tärkeä tieto heidän esimiehilleen. Kun otetaan huomioon rahamäärä, mikä Tosiohjelmoijaan sijoitetaan on parasta antaa hänelle käyttöön ympäristö, jossa hän saa aikaan kaikkein eniten.
Tyypillinen Tosiohjelmoija elää tietokonepäätteensä ääressä. Päätteen ympärillä on:
- Listaukset kaikista Tosiohjelmoijan milloinkaan tekemistä ohjelmista pinottuna kutakuinkin kronologiseen järjestykseen toimiston jokaisella mahdollisella tasaisella pinnalla. - Puolisentusinaa puoliksi kylmää kahvia täynnä olevia kuppeja. Joskus kahvin joukossa saattaa olla lillimässä savukkeen tumppeja. Ja joskus kupeissa voi olla appelsiinimurskaa. - Ellei hän ole todella taitava, kopiot OS JCL-manuaalista ja Käyttöjärjestelmän perustoimintoja käsittelevä kirja avoinna joltakin erityisen mielenkiintoiselta sivulta. - Seinällä listaus vuoden 1969 Ressu -kalenterista. - Lattialla on levällään revittyjä pähkinävoitäytteisten juustotankojen käärepapereita - sellaisia, jotka esiväljähdytetään valmiiksi jo leipomolla, jotta ne eivät enää automaateissa huonone. - Piilossa pöydän oikean käden alimmassa laatikossa on taskumatti kolmasti kirkastettua erityistilanteita varten. - Matin alla on lohkokaaviomalline, jonka sinne on jättänyt toimiston aiempi asukki. (Tosiohjelmoijat kirjoittavat ohjelmia, eivät dokumentteja. Ne jätetään ylläpitohenkilökunnan murheeksi.)
Tosiohjelmoija pystyy työskentelemään yhtämittaisesti 30, 40 tai jopa 50 tuntia, vieläpä kovan paineen alla. Itseasiassa hän nauttii siitä. Koneen huono vasteaika ei häiritse Tosiohjelmoijaa -- se tarjoaa hänelle mahdollisuuden ottaa pienet nokkaunet käänösten välillä. Jos töillä ei tunnu olevan Tosiohjelmoijan mielestä tarpeeksi kiirettä, hän tekee tekee hommat haastavimmiksi työskentelemällä jonkin mielenkiintoisen pikkuseikan parissa ensimmäiset yhdeksän viikkoa, sitten tehden työn loppuun viimeisellä viikolla muutamalla 50 tunnin maratonilla. Paitsi että tällä tavalla saa pomon todella hermostumaan josko tehtävä ollenkaan valmistuu, saa myös hyvän selityksen dokumentoinnin puutteellisuuteen. Yleisesti:
- Kukaan Tosiohjelmoija ei työskentele 9stä 5een. (ellei kyseessä ole yö) - Tosiohjelmoijat eivät pidä kravatteja. - Tosiohjelmoijat eivät pidä korkeakorkoisia kenkiä. - Tosiohjelmoija tulee töihin sopivasti lounasaikaan. - Tosiohjelmoija saattaa unohtaa ystävättärensä nimen, mutta hän ei ikinä unohda yhdenkään ASCII merkin koodia. - Tosiohjelmoija ei osaa kokata. Maitokaupat eivät ole auki kello 3:n aikaan aamuyöstä. Tosiohjelmoija pärjää pipareilla ja kahvilla.
Entäs tulevaisuus ? Vanhojen Tosiohjelmoijien keskuudessa on syntynyt huolta siitä, että nuori polvi ei enää mukaudu samaan muottiin kuin vanhat parrat. Monet nuoret eivät ole eläessään edes nähneet tietokonetta, jossa on oikea etupaneeli. Tuskin kukaan koulusta pääsevä nykyään osaa heksalaskuja ilman laskinta. Alaa opiskelevat ovat nykyään pehmoja -- heitä suojellaan todelliseen ohjelmointityöhön perehtymiseltä mm. lähdekielivianetsimillä, editoreilla, jotka laskevat sulkutasapainon ja "käyttäjäystävällisillä" käyttöjärjestelmillä. Ja mikä kauhistuttavinta, jotkut näistä ns. "tietokoneammattilaisista" saavat tittelinsä ilman että ikinä oppivat FORTRANia. Olemmeko tulevaisuudessa joukko Unix -hackereita ja PASCAL -ohjelmoijia ?
Kokemuksieni mukaan Tosiohjelmoijalla on kuitenkin valoisa tulevaisuus. Ei OS/370n eikä FORTRANin katoamisesta ole näkyvissä merkkiäkään vaikka kaiken maailman PASCAL -ohjelmoijat siihen pyrkivätkin.Jopa sellaiset kierot temput kuin rakenteisten piirteiden lisääminen FORTRAN -kieleen on epäonnistunut. Niin, jotkut tietokonevalmistajat ovat siirtyneet käyttämään FORTRAN 77 -kääntäjiä, mutta kaikilla heillä on kuitenkin olemassa helppo takaportti siirtyä tarvittaessa takaisin FORTRAN 66n käyttöön -- kääntämään DO silmukan siten kuin Luoja on asian tarkoittanut.
Unixkaan ei ole enää yhtä paha Tosiohjelmoijalle kuin aiemmin. Viimeisimmät Unix -versiot tarjoavat jopa Tosiohjelmoijan tarpeet täyttävän ympäristön -- useita erilaisia yhteensopimattomia käyttäjäliityntöjä, mystinen ja monimutkainen pääteajuriohjelmisto, virtuaalimuisti. Jos ei välitä siitä, että 'C' on "rakenteinen" ohjelmointikieli, niin jopa Tosiohjelmoija pystyy arvostamaan 'C' -ohjelmointia. Kaiken kaikkiaan, Cssä ei ole tyyppitarkistuksia, muut- tujanimet saavat olla seitsemän (kymmenen? kahdeksan?) merkkiä pitkiä ja kaiken lisäksi plussana on mielenkiintoinen Osoitintyyppi -- Ihan kuin olisi yhdistetty FORTRANin ja assembly-kielen parhaat ominaisuudet. (Puhumattakaan joistakin kehittävistä tavoista käyttää C:n esiprosessoria.)
Takaisin etusivulle - Back to index page