Algorytmy w pracy

Algorytmy układa się z namysłem, mozolnie i z trudem. A potem już jest tylko fajnie i łatwo. Są jednak algorytmy, których nie warto układać, bo nigdy na nic się nie przydadzą i nikt nie będzie chciał ich używać.

Lokalny Informatyk ułożył pewnego razu algorytm służący do rozwiązywania liczbowych krzyżówek sudoku. Tylko po to, aby sprawdzić, i to na papierze, czy działa. Żadnego komputera do tego nie zaprzęgał, bo zdawał sobie sprawę, że oprogramowywanie tego typu rozrywki jest bezcelowe. Nikt przecież nie rozwiązuje takich krzyżówek dla samego wyniku, ale dla frajdy rozwiązywania.

Jakiś czas później dowiedział się z prasy, że pewien emerytowany amerykański profesor pierwszy opublikował algorytm rozwiązywania sudoku. Lokalny Informatyk był szczerze zdziwiony - nie faktem, że ktoś algorytm wymyślił (wszak jest on dosyć prosty), ale tym, że chce się komuś takie wynalazki publikować. Widać dzisiejsi profesorowie, a także niżsi rangą akademicy mają parcie na publikacje jak muchy na lep. A pomysłów nowych brak, więc albo się kompiluje, albo dopisuje nazwisko do prac podwładnych, albo też właśnie publikuje takie dyrdymały. To jest jeden z algorytmów robienia kariery naukowej. Nie poprzez odkrywczość i innowacyjność, a poprzez zasiedzenie i zamęczanie otoczenia.

Wyraźnie widać, że poglądy Lokalnego odzwierciedlają jego głęboką frustrację. Przecież mógł opublikować swój algorytm. Pytanie tylko: gdzie? Bo jest pewne ryzyko, że na drodze pomiędzy przekazaniem do publikacji a upublicznieniem ktoś go sobie może przywłaszczyć. Zresztą, mniejsza o to. Lokalny z pewnością jest zawiedziony tym, że nie potrafi wymyślić rozsądnego algorytmu na żadną liczbową grę losową, co powoduje, że cierpi niedostatek finansowy, a w ślad za tym idzie mniejsze (albo, powiedzmy szczerze, żadne) powodzenie u płci przeciwnej (zwanej przez niektórych wrogą).

Niestety, przełożeni Lokalnego nie są tymi faktami zainteresowani ani tym bardziej zawiedzeni. Ich bardziej interesuje, co tam takiego w sieci komputerowej piszczy i podryguje, że działa ona z przerwami, czyli niestabilnie. Albo dlaczego po awarii bazy zawsze utracą ostatnio wprowadzoną partię danych. Otóż nie wiedzą oni, bo Lokalny tego nie opublikował, że nienależyte w razie awarii postępowanie z logami transakcyjnymi taki właśnie ma finał. I Lokalny też o tym nie wie, bo nie chciało mu się przeczytać zawartego w dokumentacji produktu rozdziału pt. "dump/restore scenarios", gdzie opisane są szczegółowo stosowne algorytmy postępowania. Za to traci w pracy czas na łamigłówki zupełnie niezwiązane z pracą zawodową.

Czasami w informatyce trzeba działać z namysłem, czasami automatycznie. Jednakże ten automatyzm też powinien być podparty rozmysłem. Bo bywają w informatyce procesy nieodwracalne, zwłaszcza wtedy, gdy nie wiadomo, jak je odwrócić.