Klaidingi programuotojų įsitikinimai
Klaidingi programuotojų įsitikinimai apie pasaulį - tai tokie jų tikėjimai, kuriais jie nuoširdžiai ir absoliučiai tiki, ir galvoja, kad tai absoliuti tiesa, o jei pasakai, kad jie klysta, tai galvoja, kad čia tu esi durnas, o ne jie. Deja, daugeliu atvejų, kur programuotojai (ir ne tik jie) būna absoliučiai įsitikinę, kad jie yra teisūs, jie išties yra neteisūs.
Dėl tokio tipo klaidingų įsitikinimų kyla tam tikra rūšis programavimo klaidų, kurios kartojasi ir kartojasi įvairiose vietose tiek dažnai, kad sunku rasti, kur tų klaidų nebūtų.
Tipišku tokiu įsitikinimu yra, pvz., daugybės programuotojų įsitikinimas, kad elektroninio pašto adrese būtinai turi būti simbolis "@", ir kad tas simbolis gali būti ne daugiau, nei vieną kartą, ir kad po jo esančiame tekste būtinai turi būti bent vienas taškas. Tai čia labai nuliūdinsim, bet klasikinėse UUCP pašto sistemose, kurios davė pagrindą visam elektroniniam paštui, tų @ simbolių gali būti belenkiek, bet gali nebūti ir nei vieno, ir negana to, gali būti dar ir "#" simbolis, ir gali nebūti ir taško tame tekste (domeno varde), kuris yra po "@". Soriukas.
Kai programuotojai įkiša kokį nors ribojimą, susijusį su savo kvailu įsitikinimu, tai kas nors pradeda neveikti, o jei klaidingi programuotojų įsitikinimai būna paplitę pakankamai smarkiai, tai per daugelį metų jie netgi gali pakeisti situaciją taip, kad realybė priartėja prie tų klaidingų įsitikinimų, nes kitaip neveikia - pvz., per paskutinius keliasdešimt metų būtent dėl klaidingų elektroninio pašto tikrinimų praktiškai išnyko elektroninio pašto adresai, kurie tų klaidingų įsitikinimų neatitinka.
Žemiau - kiek daugiau klaidingų programuotojų įsitikinimų, kurie labai paplitę.
Nesąmonės, kuriomis programuotojai tiki apie vardus ir žmones
- Žmonių vardai ir pavardės nesikeičia
- Bent jau žmonių vardai tai tikrai nesikeičia
- Jei žmogus turi kelis vardus, tai jie turi konkrečią eilės tvarką
- Mano sistemai niekada neteks turėti reikalų su vardais iš Kinijos
- Visi žmonės turi vardus ir pavardes
- Bent jau pavardes tai jau tikrai visi turi
- Bent jau vardus tai tikrai visi turi
- Varde ar pavardėje gali būti tik viena didžioji raidė
- Žmogus turi tik vieną vardą ir tik vieną pavardę
- Vyro ir žmonos pavardės visada yra vienodos
- Dviejų vaikų pavardės šeimoje visada yra vienodos
- Blogų žodžių žodyne surašyti žodžiai tikrai nepasitaikys tikruose varduose ir pavardėse
- Žmonių telefonų numeriai yra nekintami
Nesąmonės, kuriomis programuotojai tiki apie laiką
- Laiko zona, kurioje dirba programa, yra viena ir nekintama
- Sistemos laikrodis niekada nepersisuks daugiau kaip keletą metų pirmyn ar atgal
- Viena minutė sistemos laikrodyje trunka lygiai tiek pat, kaip ir bet kuriame kitame laikrodyje
- Taimstempas milisekundėmis neturi šansų pasikartoti ir gali būti laikomas unikaliu
- Vienos minutės trukmė sisteminiame laikrodyje niekada netruks ilgiau, kaip valandą
- Lokalaus laiko zona niekada nesikeis programos darbo metu
- Mano programa yra naudojama tik lokaliai, todėl man neturi rūpėti laiko zonos
- Galiu susirašyti lokalių laiko zonų sąrašą ir to pakaks
- Bent jau Žemės ribose realus laikas eis objektyviai vienodai ir kur nors palei jūrą, ir ant kalno viršūnės
- Viena diena, kai nesikeičia laikas, visada yra lygiai 60*60*24=86400 sekundžių
- Jei turi du taimstempus, tai visada galima apskaičiuoti, kiek tiksliai laiko tarp jų praėjo
- Toksai laikas, kaip 23:59:60 yra klaidingas
Nesąmonės, kuriomis programuotojai tiki apie geografiją, adresus ir žemėlapius
- Vietovės turi tik po vieną oficialų pavadinimą
- Vietovių pavadinimai atitinka tos kalbos taisykles ir naudoja tos kalbos raides
- Vietovės pavadinimas visada gali būti parašytas tuo raidynu, kurį naudoja tą vietovę valdanti valstybė
- Vieta visada turi tik vieną oficialų adresą
- Gatvių adresuose visada yra gatvės pavadinimas
- Negali būti pastato su numeriu 0
- Gatvė visada turi pavadinimą
- Pašto kodas visada susideda iš daug skaitmenų
- Vienas pastatas negali turėti kelių pašto kodų
- Adresas turi sąmoningą simbolių skaičių, pvz., telpa į 100 simbolių
- Visos geografinės koordinatės yra latitudė/longitudė, t.y., Y/X
- Negali būti koordinatės iš vieno skaičiaus
- Trumpiausias kelias tarp taškų žemėlapyje yra tiesi linija
- Programuotojai tarpusavy sutaria, kad latitudė užrašoma pirma, o longitudė antra
- Oficialiuose vietovių pavadinimuose negali būti keiksmažodžių