Programowanie składa się w 10% z programowania, a w 90% z szukania i poprawiania błędów.
Czyli tak jak w życiu.
Najbardziej rozwalają mnie błędy, które sprowadzają się do braku przecinka, cyfry „4” zamiast „5”, spacji na końcu pliku itd.
Dziś, przykładowo, przez ostatnie dwie godziny szukałem błędu na stronie www.enklawa.net, przez który przełącznik list audycji nie działał. Wybierałeś coś z listy i nic się nie działo. Po prostu nic.
Błąd pod tytułem „po prostu nic się nie dzieje” to najbardziej znienawidzony rodzaj błędu. Bo jak leczyć pacjenta, który nie ma żadnych objawów? Jeżeli dzieje się co innego niż powinno, jeżeli strona wybucha, dane giną, ludzie wyrywają głosy z głowy, błędy wylewają się z monitora – jest nieźle. Bo przynajmniej masz od czego zacząć śledztwo.
Przez ostatnie dwie godziny siedziałem więc i szukałem błędu metodą „cholera wie gdzie szukać”. To w takich właśnie wypadkach szef firmy dowiaduje się dlaczego zapłacił programiście z doświadczeniem trzy razy więcej niż studentowi.
Po dwóch godzinach znalazłem przyczynę.
Błędem była litera „ó” w pliku. Wstrętna litera była zakodowana w ANSI zamiast w UTF-8, a skutkiem było to, że pół strony przestało działać.
No mówię wam, szlag może trafić. Jedna litera i wszystko stoi?!
Czuję się jak człowiek, który z telewizora wylutował wszystkie tranzystory, kondensatory, oporniki i układy scalone, a na końcu się okazało, że na osiedlu wyłączyli prąd.
Very funny.
I dlatego, ponieważ wiem jak trudno się buduje pozornie proste rzeczy, nie spieszę się aż tak z wyzywaniem ludzi od niekompetentnych osłów dlatego, że gdzieś coś nie działa tak jak powinno. W szczególności, jeżeli chodzi o rządzących.
Wcale nie uważa, że są kompetentni, po prostu nie zawsze jestem pewien, że potrafiłbym to zrobić lepiej. Że w ogóle da się to zrobić lepiej, tu, teraz, z tym co mamy.
Z drugiej strony, daleko surowiej oceniam tych, którzy nie radzą sobie z o wiele prostszymi rzeczami niż znalezienie litery „ó” w jednym z dwóch tysięcy plików, kiedy nie masz absolutnie żadnych informacji o błędzie.
Po pierwsze więc: każdemu, kto leci z wywieszonym jęzorem oceniać robotę innych, przypominam, żeby sprawdził czy na pewno wie, o czym mówi. Czy sam coś porównywalnego zbudował. Jeżeli tak, wszystko w porządku. Jeżeli nie, niech to zrobi. A do tego czasu wypada się zamknąć i posłuchać innych.
A po drugie, mam duże wątpliwości czy warto liczyć na to, że polityk (pozwólcie, że nie wymienię nazwisk) z dobrymi intencjami i super poglądami, za to nie radzący sobie z utrzymaniem jedności, sprawności i płynności finansowej tego czym zarządza, nadaje się do budowania czegokolwiek na poziomie całego kraju.
Potrzeba nam teraz praktyków w zarządzaniu, a nie głosicieli mądrych teorii. Zatrudniłbyś programistę, który wie wszystko, a nie umie naprawić żadnego błędu? Tak? Świetnie, znajdziesz ich na studiach.
No, chyba, że zależy ci na tym, żeby kraj rozpieprzać a nie żeby kraj budować.
W takim wypadku mogę wam polecić z czystym sumieniem wielu mistrzów tej sztuki.