Od kiedy programuję?

Moją przygodę z komputerami i językami programowania zacząłem będąc jeszcze w szkole podstawowej w latach 90 ubiegłego stulecia. Jak to dzieciaki, zużyliśmy wtedy wiele styków od joysticków grając w przeróżne gry.

Z tamtego czasu pamiętam swoją pierwszą książkę od Basica i poczucie kontroli nad Atari, a później Amigą kiedy to udało mi się wyświetlić na ekranie choinkę, odliczanie do ogromnej liczby, czy też błyskawice w trybie graficznym z odgłosami.

W szkole uczyliśmy się jazdy na żółwiku (Logo). Niby to taka prosta zabawa w rysowanie ale potrafiła zapoznać dzieci z procedurami i rekurencją w programowaniu. W systemach MS-DOS aby ustawić automatyczne wejście do Nortona Commandera, zainstalować myszkę, cd-rom, potrzebowałem nauczyć się podstaw konfiguracji w plikach BAT i SYS.

Będąc w klasach o profilu informatycznym liceum pracowaliśmy wtedy w Turbo Pascalu - znakomitym odpowiedniku języka C stworzonym specjalnie dla wczesnej edukacji programistycznej. Poznałem podstawowe, z zakresu szkoły średniej, algorytmy iteracyjne i rekurencyjne. Moim finalnym projektem grupowym był wtedy program do rysowania wykresów funkcji.

Język Pascal pozwala na dołączanie do kodu programu wstawek w języku Assembler, więc korzystałem z dobrodziejstw niskopoziomowego programowania i wyłączałem za jego pomocą miganie kursora w tworzonym menu użytkownika, lub dla zabawy migałem diodami na klawiaturze w takt muzyczki płynącej ze speakera.

Na studiach udało mi się popełnić wiele ćwiczeniowych mniej lub bardziej złożonych programów w wielu językach zarówno funkcjonalnie jak i obiektowo. Długi okres czasu zastanawiałem się, czy nie zająć się opisywaniem, dizajnem sprzętu i rzeczami niskopoziomowymi. Płaska krzywa uczenia i ociążałe kombajny IDE do projektowania systemów wbudowanych odwiodły mnie od tego pomysłu. Poznając ogrom poddziedzin informatyki, ostatecznie - przynajmniej na najbliższe kilka lat - wybrałem technologie webowe.

Mój aktualny performance programistyczny:

Osiągnięcia na Codewars.com

odznaka rankingu codewars

Specyfika rozwiązywanych problemów (oznaczenia wyzwań)

tabelka z charakterem problemów