Programista programistom

Stworzenie chociażby najprostszego programu komputerowego wymaga pewnego kunsztu i samodyscypliny intelektualnej ze strony autora. Produkt końcowy musi działać bezbłędnie, co znaczy, że w trakcie projektowania i pisania kodu przewidziano wszystkie sytuacje, nawet te, o których z góry było wiadomo że nie wystąpią.

Stworzenie chociażby najprostszego programu komputerowego wymaga pewnego kunsztu i samodyscypliny intelektualnej ze strony autora. Produkt końcowy musi działać bezbłędnie, co znaczy, że w trakcie projektowania i pisania kodu przewidziano wszystkie sytuacje, nawet te, o których z góry było wiadomo że nie wystąpią.

Nawiasem mówiąc, zakładanie, że jakaś sytuacja nie pojawi się w trakcie używania programu, jest niesamowicie błędnym założeniem, gdyż zazwyczaj już nawet w fazie testów wstępnych wszystkie niedoróbki dają znać o sobie w pierwszym rzędzie. A jeśli nawet wykpimy się na tym etapie, głowę daję, że użytkownicy od razu zmajstrują taką sytuację, taki układ danych, że program odmówi posłuszeństwa.

Nie ma więc taryfy ulgowej dla programistów. Jeżeli ktoś chciałby zlekceważyć cokolwiek w pewnych fragmentach kodu i tak wróci to do niego prędzej czy później, odbijając się donośnym echem.

Złożoność produktu decyduje o liczbie różnych powiązań i zależności w kodzie, podnosząc poziom komplikacji do niewyobrażalnych nieraz rozmiarów, nad czym autorzy jakimś sposobem ciągle panują. Sam się sobie dziwię, jakim to cudem zawsze ogarniałem dziesiątki tysięcy linii kodu, wiedząc, gdzie i co się dzieje i który fragment jest odpowiedzialny za pojawienie się takiego lub innego błędu. Chyba jednak prawdą jest, że praktyka czyni mistrza. Programista zżywa się ze swoim programem, hołubiąc go jak na rzeczywisty owoc jego wysiłku przystało. Więź emocjonalna jest zazwyczaj niezwykle intensywna, co powoduje, że w okresie tworzenia programu umysł programisty opleciony jest siatką algorytmów jak pajęczyną, nie pozwalając na wyzwolenie się z tego omotania nawet w chwilach, które powinny być przeznaczone na relaks.

Nowe koncepcje świdrują mózg w najmniej spodziewanych momentach - przy oglądaniu telewizji, podczas konwersacji czy nawet przy spożywaniu posiłku. Myślenie o pracy podczas jedzenia nie należy do najzdrowszych zachowań, jednak nie zawsze można poskromić gorącą głowę. Niemniej należy cieszyć się z faktu, że nie jest się z zawodu chirurgiem, gdyż znacznie mniej to apetyczny temat do przemyśleń.

Samoistne erupcje pomysłów nie lubią długo czekać na ich weryfikację praktyczną, tak więc programista często doskakuje do komputera w sposób dosyć niesubordynowany, co nie stanowi większego problemu technicznego, albowiem w dzisiejszych czasach komputer jest zazwyczaj pod ręką. Proces twórczy wciąga do głębi, dając wytchnienie dopiero po rozwiązaniu najistotniejszych zagadnień, co nigdy przecież nie następuje raptownie.

W swym życiu zawodowym napisałem mnóstwo różnych programów - od wstawek dla systemów operacyjnych po bazy danych, w różnych językach i na różnych typach maszyn. Nigdy jednak nie stworzyłem gry komputerowej, czego żałuję, bo chociaż jest to produkt oferujący całkowitą wirtualną ułudę, to jednak wymaga wykazania się kunsztem warsztatowym i zademonstrowania swojej klasy, na co nie wiem, czy byłoby mnie stać. Niniejszym więc, na zakończenie felietonu, pozwolę sobie na publiczne oddanie pokłonu autorom - brawo!


TOP 200