Mida annab eilsete tehnoloogiate tundmine?
24.02.2008 | GunnarMessi vahele ka paar törtsu arenduse teemadel. Üks probleem, millega tarkvara arenduses kokku puutub, on see, et nooremad ärisse tulijad tahavad kangesti tegeleda just uute tehnoloogiatega, mis - paraku-paraku - on välja kasvanud eilsest päevast. Oi neid ladusaid probleeme!
Millise ajakulu tekitab noor äss, kes teab omast arust kõike peale eilse päeva, mille tehnoloogiad on tänaseks “mõttetu saast”? Vastan ausalt - mõttetu ajakulu lihtsatele asjadele on räige. Teinekord tähendab eilsete tehnoloogiate tundmine ajalist kokkuhoidu nädalates. Miks see nii on?
Ajalugu ja areng
Paljudel tehnoloogiatel, mida tarkvara arenduses kasutatakse täna, on pikk ajalugu ja pikk arengutee. See, miks tänased tehnoloogiad on just sellised, omab enamasti kindlat põhjust, mis asub minevikus. Ehk siis igavas eilses, mille tundmine on nii mõnegi projekti õnnestumise võti.
Näiteks kust on tulnud ADO.NET oma ideega, et andmed loetakse meile kohale ja otsest sidet serveriga nende kasutamiseks püsti pole vaja hoida? Millal jõudis selline asi ADO.NET eelkäijasse, milleks on ADODB? Miks tehti selline objekt nagu DataSet? Milliseid tehnoloogiaid kasutati enne ADODB tulekut ja miks neid tehnoloogiaid enam ei pakuta?
Programmeerijale, kes neile küsimustele peast vastuseid teab, võib usaldada keerukamaid töid, kui sellele programmeerijale, kes teatab et need on mingid vanad ja mõttetud asjad. Viimane neist ei oma järelikult ülevaadet nendest vahenditest, mida ta kasutab ning seega on parem, kui ta tegeleb lihtsate asjadega, mis on talle jõukohasemad.
Eilsed vead ja õnnestumised
Eilsed tehnoloogiad - nii nagu ka tänased - pole ideaalsed. Neil on omi puudusi ja nii mõnigi sisaldab ka suhteliselt vastikuid vigu. Kui me teame eilsete tehnoloogiate vigu ja otsuseid, millele tuginedes on ehitatud nende tänased versioonid, oleme palju paremini kursis sellega, mis toimub nende tehnoloogiate sees ja millises suunas need arenevad. Ilma parandatud vigu tundmata on meil üks teadmine vähem - teadmine sellest, kuidas tehtud vigu vältida.
Eilsed tehnoloogiad sisaldavad ka probleeme, mis üleeile tundusid head ideed ja õiged suunad olevat. Kunagi tehti vastavad otsused ning nii sündisidki eilsed versioonid. Osad asjad läksid kenasti täppi, kuid osad mitte. Nii täppi läinud otsused kui ka ebaõnnestumised on võrdselt olulised teada. Miks?
Eilne päev on täis õppetunde
Tihti leiame me oma praegustes lahendustes mustreid, mis on omased mõnele eilsele tehnoloogiale. Eilsed tehnoloogiad annavad meile seejuures palju olulist infot - me saame nende põhjal hoida kas head joont, mis viis õnnestumisele või siis teame, kuidas vältida apsakaid, mida eilsetes arendustes tehti. Ilma selle teadmiseta oleme umbes nagu võidujooksus, kus me tohime liikuma hakata minut peale starti.
Minu kogemus on selline - ma olen suutnud paljud süsteemide arendamise käigus tekkinud probleemid lahendada ära paari hetkega, sest ma tean, millised on need tehnoloogiad, mida ma kasutan ja milline on nende ajalugu. Ka uute asjade loomisele on selline teave andnud palju juurde - ma tean, mida vältida ja mida mitte. Ilma selle teadmiseta hakkaksin igakord pihta nullist, praktiliselt puhta lehena.
Nullist alustamine on tihti ajaliselt palju kulukam, sest me ei tea, millised liigutused on õiged ja millised mitte. Meil pole millestki kinni haarata ning seega peame kõik vead tegema ise läbi. Muideks, enamik vigu sünnibki sel teel, et otsitakse parimat lähenemist.
Kokkuvõte
Kokkuvõttes võin soovitada värskematele sellidele seda, et tegelgu ka eilsete süsteemidega. Seal on palju asju, mida õppida ja mis on ühtlasi hea investeering tänasesse ja homsesse. Eilsest leiab õppetunde selle kohta, kuidas ei tohi, samuti selle kohta, kuidas peab. Väärt õppetunnid on need mõlemal juhul.
