Programinės įrangos revoliucija leistų kurti paprastesnes, spartesnes, bet tuo pat metu ir efektyvesnes, funkcionalesnes bei patikimesnes programas. Būtų puiku, jei jos taptų pigesnės, tačiau už gerą daiktą ir mokėti galima daugiau.
Šiuolaikinės programos tampa vis sudėtingesnės, jas sunku perprasti net patyrusiems kompiuterininkams. Klaidų pataisų skaičius didėja beveik geometrine progresija, o naujomis programų versijomis bene labiausiai džiaugiasi kompiuterių gamintojai bei platintojai. Senesni kompiuteriai paprasčiausiai nepajėgia sparčiai gainioti šiuolaikinių programinių dramblių.
Sparta
Kompiuteriai jau yra spartesni dešimtis, o kartais – net šimtus kartų, tačiau ne visada tai pastebima. Žinoma, operacinės sistemos (OS) įkrovos sparta nėra geriausias kompiuterio spartos įvertinimas, tačiau pastatę kompiuterį su naujausia „Windows“ ar „Linux“ sistema ir maždaug 486 serijos kompiuterį su „Windows 3.x“ didelio skirtumo nepastebėtume. Reikalavimai kompiuteryje įrengti 512–1024 MB RAM ir 128 MB vaizdo plokštę prieš dvejus trejus metus būtų tiesiog nušvilpti, tačiau 2007 metais tai jau nestebina.
Oficialiai toks poreikių augimas yra vadinamas progresu, tačiau iš tiesų tai labiau primena atsisakymą kurti efektyvias programas. Atsižvelgus į dabartines tendencijas, būtų galima pataisyti vieną seną pokštą: „General Motors“ ištobulinus technologijas kaip kompiuterių pramonėje, šiandien važinėtume automobiliais, kainuojančiais 25 dolerius, o 1 galono benzino užtektų nuvažiuoti 1000 mylių“. Deja, tokie automobiliai vargu ar nuvažiuotų bent 10 mylių įpylus 1 galoną kuro. Automobilių pramonės revoliucija įvyko praėjusio amžiaus aštuntajame dešimtmetyje, kai naftos krizė padarė galą 100-ui kilometrų 40–50 litrų kuro „srėbusiems“ V8 varikliams. Nuo tada net amerikiečiai pradėjo vertinti ekonomiškesnius automobilius.
Patikimumas
Matydamas gausybę programinės įrangos spragų, nejučia prisimenu kitą pokštą: „Programinė įranga laikoma baigta tada, kai klientas sumoka pinigus“. Kitaip tariant, svarbiausia – parduoti programą, o klaidas galima ištaisyti ir vėliau. „WWW 2006“ konferencijoje „Oracle“ saugumo skyriaus vadovė Mary Ann Davidson akcentavo tai, kad dauguma programinės įrangos inžinierių tiesiog nėra išmokyti dirbti saugiai ir patikimai. Dėl tokio „lopyti, lopyti ir dar kartą lopyti“ mentaliteto kasmet patiriama 59 mlrd. JAV dolerių nuostolių.
Programas kuria žmonės, todėl klaidų pasitaiko visur. Pavyzdžiui, dėl programos klaidų bent penki pacientai mirė „Therac-25“ radiologiniam įrenginiui padidinus spindulių dozę, o suklydus apvalinant realiuosius skaičius JAV žemės-oro raketos „Patriot-104“ Persijos įlankos kare nusinešė 28 JAV karių gyvybes. Tačiau klaidos tokiose programose – tik pavieniai atvejai. Palyginkite: paskutinėse trijose NASA erdvėlaivio paleidimo valdymo programos versijose, kurių kiekvieną sudaro 420 tūkstančių kodo eilučių, buvo aptikta tik viena klaida. Iš viso 11 programos versijų 260 programuotojų komanda buvo padariusi tik 17 klaidų. Tuo tarpu tokios pat sudėtingos komercinės programos kūrėjai vidutiniškai būtų padarę apie 5000 klaidų kiekvienoje programos versijoje.
Tačiau vartotojai vis tiek perka programas su tūkstančiais klaidų, tikėdamiesi, kad kada nors jos bus ištaisytos. Nuo pasirodymo „Vista“ sistemoje buvo rastos trys saugumo spragos, iš kurių dvi – ne programavimo klaidos, o sistemos sandaros ypatumai, leidžiantys pakenkti sistemai.
Paprastumas ar primityvumas?
Šiuolaikinės sistemos turi dar vieną trūkumą – jos tampa bukai sudėtingos arba sudėtingai bukos. Kartais profesionalams sukurtą įrenginį mėginama „už ausų“ tempti neišsilavinusio vartotojo link – įrenginys tampa vis bukesnis, t. y. paprastesnis.
Kai kurios funkcijos „Vista“ sistemoje dirbtinai paslėptos,
todėl sistema yra sudėtingai buka.
Profesionalams skirtame įrenginyje gali būti įrengta dešimtys mygtukų ar jungiklių, tačiau specialistas puikiai žinos jų paskirtį. Jis neprieštaraus, kad įrenginys susiderintų automatiškai ir supaprastintų darbą, tačiau mokės pats suderinti įrenginį, o šis suteiks tokią galimybę.
Neišmanantiems vartotojams skirtas sistemas reikia kurti iš naujo. Geri tokios sistemos pavyzdžiai – bet kurio žaidimų kompiuterio vartotojo sąsaja, „Windows Media Center“ ar būsimoji „Windows Home Server“ sistema. Šios sistemos yra paprastos naudoti, nes vartotojams pateikiama nedaug keičiamų nuostatų.
Vargu ar kuris nors profesionalas norėtų iškeisti šiuos įrankius į žaislinius jų analogus.
Tačiau vargu ar inžinierius, braižantis „AutoCAD“ programa, apsidžiaugtų, jei programa staiga imtų slėpti meniu punktus, nuostatas arba apskritai panaikintų penkias galimybes nubrėžti apskritimą, palikdama tik vieną – nurodyti centrą ir skersmenį.
Žvelgiant į „Windows“ sistemų evoliuciją atrodo, kad „Microsoft“ pasuko būtent tokiu keliu.
Kažkodėl „Windows XP Professional“ sistemoje „Microsoft“ nusprendė paslėpti pagrindinį „Professional“ privalumą – galimybę lanksčiai valdyti failų prieigos teises NTFS skirsniuose.
Grafinis „Vista“ disko skirsnių valdymo įrankis neleidžia „Windows“ sistemai nežinomo skirsnio pažymėti kaip aktyvaus. Šis draudimas yra visiškai dirbtinis, nes tos pačios sistemos komandinės eilutės įrankis „diskpart“ tai daro be jokių perspėjimų.
Galbūt tokiu būdu „Microsoft“ siekia neleisti vartotojams naudotis kitomis operacinėmis sistemomis?
Reikia iš esmės keisti programų kūrimo metodologiją. Anot B. Coxo, kūrusio S. Jobso „NeXT“ operacinę sistemą, vėliau tapusią OS X pagrindu, šiuolaikinis programų kūrimas primena iki šumero civilizacijos gyvenusių medžiotojų-rinkėjų gyvenimo būdą.
Aidaho universiteto profesorius J. Munsonas buvo dar kritiškesnis – programų kūrimą jis prilygino akmens amžiaus olų menui. Šios mintys buvo išsakytos 1996 metų pabaigoje, tačiau per dešimt metų nebuvo rasta aiškaus šių problemų sprendimo būdo.