Historia mojego programowania

Zetknięcie się z komputerem
Wszystko zaczęło się w 1986, kiedy to przed wakacjami Wujek z Miechowa rzucił temat, że będzie chciał kupić komputer. Sprawa mocno nas zelektryzowała. Zacząłem się interesować, jaki komputer będzie najlpeszy. Szukałem oczywiście głównie pod kątem gierek. Okazało się, że najwięcej gier było wydanych na Commodore C64 i ja osobiście sugerowałem Wujkowi kupno takiego właśnie komputera. Jadnak ku mojemu (wtedy) rozczarowaniu, podczas wakacji Wujek kupił komputer Atari 130XE (w Peweksie, za 199 dolarów). Model ten miał aż 128 KB pamięci RAM, dwa razy wiecej niż kosztujący 125 dolarów model 65XE. Pieniądze na zakup komputera uzyskał Wujek ze sprzedaży swojego samochodu (duży Fiat 125p).

Początki programowania
Od połowy II klasy LO (1988 rok) miałem (z bratem) komputer Atari 65XE (rodzice nam go kupili, widząc duże zainteresowanie w tym temacie), który służył głównie (a może nawet wyłącznie?) do grania. I byłoby tak pewnie dalej, gdyby nie podczas którejś rozmowy z kolegą (miał ojca informatyka, po Informatyce na Uniwersytecie Warszawskim) o moich "wyczynach" w grach (przejściu do jakiegoś tam etapu, zdobyciu ileś tam punktów, itp.), kolega nie zapytał "czy umiem napisać jakiś najprostszy program do kopiowania?". Tu mnie zagiął, bo o programowaniu nie miałem bladego pojęcia. A ponieważ jestem osobą ambitną (i upartą), to postanowiłem się zainteresować programowaniem. Na początku był BASIC (wbudowany w ROMie komputera), potem trochę kod maszynowy i asembler 6502, a potem Turbo Basic oraz Action!. Do napisania programu do kopiowania upłynęło z pół roku lub więcej, ale zaraziłem się poważnie programowaniem i pod koniec IV klasy LO (czyli po jakichś 2 latach) programowałem już całkiem nieźle (znacznie lepiej niż ten wspomniany kolega). Dodatkowo w VI klasie LO w szkole pojawiła się sala komputerowa i mieliśmy tam przez rok lekcje informatyki. W sali były komputery Elwro 800 Junior z systemem operacyjnym CP/M oraz napędem dyskietek. Komputery te były zgodne z ZX Spectrum, więc większość osób na zajęciach po prostu grała z różne gry. Ja zainteresowałem się językiem programowania Turbo Pascal, którego wersja 3.01A była dostępna na tych komputerach. Wziąłem sobie nawet do domu książkę z kursem tego języka (i chyba nigdy jej nie oddałem) i dzięki temu nauczyłem się nowego języka programowania.

Studia
Poszedłem na studia na Informatykę (na Uniwersytecie Warszawskim). Tam zetknąłem się z komputerami PC (całkiem inny świat) i zupełnie "wsiąkłem". Gry przestały mnie w sumie interesować (i do dziś praktycznie nie gram).

Strona w trakcie tworzenia. Ciąg dalszy nastąpi wkrótce...

Stan na dziś
Obecnie (od kilku lat) tworzę głównie aplikacje internetowe. Podstawowym językiem, w którym programuję, jest JavaScript (oczywiście w połączeniu m.in. z HTML, PHP, CSS i MySQL). To potężne narzędzie, dzięki któremu jestem w stanie tworzyć interaktywne i przyjazne dla użytkownika aplikacje, działające w każdej nowoczesnej przeglądarce internetowej (niektóre aplikacje działają nawet w IE 6.0).
Z ciekawszych projektów mogę się pochwalić programem do odczytu parametrów systemowych komputera, emulatorem komputera Atari XE w przeglądarce www oraz internetowym arkuszem kalkulacyjnym.
Nie tylko ja doceniłem moc i możliwości tego języka. Fabrice Bellard stworzył w nim emulator PC działający w przeglądarce, o którym więcej można przeczytać w serwisie dobreprogramy.pl. Grupa pasjonatów procesora MOS 6502 stworzyła jego wierny wizualny symulator. Inna grupa stworzyła niesamowitą bibliotekę three.js (bazującą na WebGL) do renderowania trójwymiarowych scen w czasie rzeczywistym, a Michael Bebenita (programista z Mozilli) stworzył dekoder H.264. Inne ciekawe rozwiązania to np.:
  - biblioteka jsPDF do tworzenia dokumentów PDF;
  - biblioteka JSZip do pakowania i rozpakowywania plików/danych;
  - biblioteka KineticJS do tworzenia animacji;
  - bibliotek timbre.js do generowania dźwięków;
  - SoundJS - kolejna ciekawa biblioteka muzyczna;
  - Unigine Crypt - demo działania biblioteki WebGL.

Powrót do strony głównej

Valid HTML 4.01 TransitionalValid CSS