The way of the potato
Nie, nie chodzi mi o krótki komiks, który był pod tym samym tytułem. Chodzi mi o pewną drogę, jaką ja przeszedłem. Nibbrek zadał mi na Jabberze pytanie, ile ja umiałem, z informatyki, mając 14 lat. Odpowiedziałem (i mam nadzieję, że doszło, bo musiałem skorzystać z e-maila, bo docelowy serwer XMPP nie odpowiedział), a potem sam się zacząłem zastanawiać. Jak to wyszło, że siedzę teraz i studiuję informatykę? Nie wiem, nie potrafię ocenić co mnie tak właściwie skłoniło.
Wiem jednak jedno - że studia informatyczne, to na początku przynajmniej, nie było to, o czym myślałem. Teraz jest też kilka przedmiotów, których albo jeszcze nie widzę sensu, albo one w potencjalnej pracy informatyka - zwłaszcza programisty - nie mają sensu. Z drugiej strony wiele się nauczyłem. Nie tylko o tym jak ten komputer działa, tak od znacznie niższego poziomu. Pomimo nudnych wykładów dowiedziałem się. że lepiej sortować niż poprzez scalanie się nie da. I mam nadzieję, że dowiem się wielu innych rzeczy. Choć niezmiernie narzekam na niepotrzebność niektórych przedmiotów, na ich “trudność”, to czasem, po jakimś czasie, widzę, że to było jednak potrzebne. No cóz, taki urok studiowania.
Wracając jednak do tej mojej drogi - z komputerami mam do czynienia od 12 lat. Od 1995 roku, a najbardziej to od listopada, gdy dostałem mojego pierwszego 486 DX4 100 MHz z 8 MB RAM i CD-ROM o zabójczej szybkości 2x. Zaczynałem od DOS-a 6.22, od Windows (for Workgroups) 3.11, od Worda 6.0… Zaczynałem się uczyć, czytałem książki, prenumerowałem PC World Komputer od chyba 1997 do 2000 roku blisko. Uczyłem się, pisałem jakieś bzdury w plikach wsadowych i tak dalej. Oczywiście w międzyczasie grałem w wiele różnych genialnych gier, ale to swoją drogą, bo ma być o innej drodze ;-) W okolicach lipca 1999 roku zacząłem się uczyć języka programowania QBASIC. Interpreter był dostępny w DOS-ie wtedy, uczyłem się go wraz ze znajomym (pozdrawiam!) (skądinąd mam niesamowite wrażenie, że już kiedyś pisałem takie słowa na tym blogu). I choć jeden z najwcześniejszych programów jakie napisałem miał działanie i wygląd niezmiernie zaawansowane, to potem coś z tego wyszło lepszego.
' "Głupi żart", czyli "wirus" napisany w QBASIC-u, o nazwie Houd.
' 1999 rok.
CLS
COLOR 7
LOCATE 1, 1: PRINT "C:>"
SLEEP 2
LOCATE 1, 1: PRINT "C:>for"
SLEEP 2
LOCATE 1, 1: PRINT "C:>format"
SLEEP 2
LOCATE 1, 1: PRINT "C:>format c:"
SLEEP 2
LOCATE 1, 1: PRINT "C:>format c: /s /q"
SLEEP 2
CLS
COLOR 12
BEEP
BEEP
PRINT "Joke!"
SLEEP 2
Oprócz rozwijania bardzo umiejętności w QBASIC-u to jednak mimo wszystko spora część tych programów to działała tylko i wyłącznie na instrukcjach skoku. W owym czasie ze wspomnianym znajomym tworzyliśmy w tym języku swoje “systemy operacyjne”, a raczej programy, które je miały udawać. Aż… doszliśmy do granic możliwości interpretera, który powyżej dwóchtysięcy iluśtam linii kodu nie dawał rady. Aczkolwiek jak dzisiaj patrzę na niektóre rzeczy, to dało by się tam wiele rzeczy skrócić używając… pętli. Tak, bo ani pętli, ani wcięć, zero algorytmiki… Ale 66 KB kodu ostatniej wersji “systemu” było jednak osiągnięciem - choć nie robił kompletnie nic :-)
Potem uczyłem się Turbo Pascala, po drodze mając krótki romans z Turbo Basiciem który nie spełnił pewnych oczekiwań, jednak zostało to przerwane. Potem jakoś pojawiło się Delphi (1.02), w którym napisałem kilka innych totalnych bzdur. To był rok 2001. Oprócz nauki Delphi zacząłem uczyć się PHP, ale już wcześniej bardzo interesowało mnie tworzenie stron internetowych, uczyłem się HTML, i prowadziłem pewną stronę internetową. W 2001 albo i 2002 pojawiłem się na pewnym serwisie (i chyba mniej więcej wtedy pojawił się mój dzisiejszy nick). I z Delphi miałem romans do 2006 roku aż. Obecnie nie dotykałem go od około roku… Ale w Delphi nauczyłem się naprawdę programować, choć zacząłem uznawać, że coś umiem dopiero w okolicach 2005 roku - mimo, że niektórzy mówili mi to wcześniej. Jednak nadal jestem pewny, że są setki rzeczy, których nie robiłem, a uczyć się trzeba zawsze. Skromność? Być może. Albo po prostu obiektywne spojrzenie. Niemniej w Delphi uczestniczyłem w projekcie PilotMP3, rozwijałem klasę TXMLINI oraz napisałem kilka innych rzeczy, o które do dziś jestem czasem w mejlach proszony. Wtedy też zacząłem nazywać projekty nazwami kodowymi, które czasem zostawały dla programu, a czasem ginęły. Gorzej jest, że po tych paru latach jak spoglądam na dysk i widzę “Ariadna”, “Izis” czy “Ring” to nie zawsze wiem co ten program miał robić :-)
A PHP? Na początku nie wyglądało różowo, ale co ciekawe (i zaskakujące) - nie zaczynałem od nauki bazy danych MySQL. Wielu tak zaczynało, wielu też zaczynało od serwera Apache w formie PhpTriad czy Krasnal. A ja zacząłem… od Microsoft Access z którym PHP łączyło się przez ODBC. I serwera Xitami, z ręcznym konfigurowaniem PHP. Bo tak w pewnej książce było. MySQL pojawił się gdzieś dopiero znacznie dalej. I stąd mi zostało, że nie lubię automatów, ale z drugiej strony konfiguracja Apache czasem mnie załamuje.
<?
/* Przykładowy fragment chyba logowania do jakiegoś
tworzonego forum dyskusyjnego. Kodowo "Nuke", 2002 rok */
$baza=odbc_connect("nuke", "", "", "");
$sql="SELECT * FROM Użytkownicy";
$rst=odbc_exec($baza,$sql);
$i=1;
$test=1;
$pusty=odbc_fetch_row($rst,1);
while ($pusty) {
if ($pusty) {
if (odbc_result($rst,1) == $imie) {
if (odbc_result($rst,2) == $haslo) {
echo ("<p>Login prawidłowy ".$imie."!");
echo ("<p><a href=baza.php?imie=".$imie.">
Kliknij, aby zobaczyć bazę postów</a></p>");
$test=0;
break;
}
}
$i++;
}
$pusty=odbc_fetch_row($rst,$i);
}
if ($test <> 0)
echo ("<p><b>Nieprawidłowy login!</b></p>");
echo ("<p><a href=forum.html>Zaloguj ponownie</a></p>");
odbc_close_all();
?>
A co potem? A potem siedziałem dalej w tym i uczyłem się dalej. Siedzę w PHP, siedzę w XHTML i CSS (gdzieś po drodze zostałem adwokatem standardów sieciowych, który potem złagodniał), coś umiem zrobić w C, co nieco w C++, uczę się C#… W okolicach 2001 roku przeczytałem o Javie, a potem używałem kilku programów napisanych w Javie, a jej szybkość mnie odrzuca do dziś (aż dziw, że .NET jakoś toleruję). A na dysku mam, łącznie, 82 projekty, jedne w Delphi, inne w XHTML, inne w C#, a inne w PHP.
Rozpisałem się o sobie prywatnie, ale to wszystko ma jeden morał. Nieważne ile umiałeś w wielu iluś lat. Znam takiego, co programował, gdy ja bawiłem się klockami Lego. I takiego, co programować zaczął niedawno, a jest naprawdę dobry. Po prostu trzeba mieć chęć i trzeba - niestety - się uczyć, rozwijać, pisać, czytać i programować. Bez chęci ani rusz.
I nie zachęcam nikogo do pójścia w moje ślady, bo znaleźć własną drogę jest najlepiej.
Liczba komentarzy: 11
»Wątek RSS dla komentarzy tego wpisu · Adres trackback

czerwiec 9, 2007 godzina 13:36
“Znam takiego, co programował, gdy ja bawiłem się klockami Lego.”
Żeby była jasność, nie tylko programował, bo klockami Lego też się bawił :D. I przestał o wiele później, niż zaczął programować.
czerwiec 9, 2007 godzina 20:37
w/g mnie jak ktoś nie bawił się kompami od małego. tzn nie tylko grał ale właśnie pisał sobie batche, cokolwiek w basic/tp lub nawet Amos na amidze nie będzie dobrym informatykiem. zacięcie powinno sie imho mieć od małego, a nie takie wyuczone.
czerwiec 10, 2007 godzina 08:55
dzisiejszy słoneczny (niedzielny ?) poranek spędzam w ogrodzie pijąc mocną kawę i przeglądając co też w e-trawie piszczy. dobry nastrój zachęca do komentarzy :)
jak ja się zaczynałem bawić kompami, był to AFAIR 1996 rok, to była to tylko w pogiąg do sprzętu ;-) co zostało mi do dziś.
podsumowując powyższe wypowiedzi można napisać, że bez talentu (który trzeba w sobie rozwijać) można być co najwyżej dobrym rzemieślnikiem, nie artystą. ważna jest też jedna prawidłowość - im wcześniej zarazisz się (czyt. odkryjesz swój talent) tym lepiej.
czerwiec 10, 2007 godzina 12:30
Offtop, ale zazdroszczę tego słonecznego poranka :D. U mnie jak w nocy zaczęło padać, tak do teraz praktycznie nie przestało (jakieś tam drobne przerwy, ale generalnie leje cały czas).
czerwiec 10, 2007 godzina 19:10
Hmm, bosh. Właśnie widzę, że tetrykiem jestem pamiętając komputer PC/XT, NC 2.0, XTree i Turbo Pascala któremu daleko było do wersji 7 jeszcze. I szok jaki wywołał pierwszy okienkowy kompilator borlanda, bo za chiny nie mogłem opanować API (0 dokumentcji) i wolałem tworzyć w ’słodkim’ turbo vision…
Nic to, kuśtykam o lasce popijać hjerbatkiem ciesząc się że mi bliżej do emerytury ;-)
BTW, Java rocks!
czerwiec 17, 2007 godzina 02:12
Czasami miło jest poczytać jaka to była droga kolegi z sąsiedniej strony. I z jednym muszę się zgodzić, że bez pasji od najmłodszych lat i tego takiego “zacięcia”, niekoniecznie do konkretnych języków, dłubania w szarej skrzynce czy też ubijania kolejnego potwora przy pomocy wirtualnego pistoletu, ale zacięcia do uczenia się tego co nowe trudno o bycie naprawdę dobrym w tym co się robi.
Moja droga w sumie wyglądała podobnie i zaczęła się dziesięć lat temu, jednak obecnie toczy się po całkiem niespodziewanych torach. Mianowicie jeszcze nie znam wyników egzaminu maturalnego, a już znalazłem zatrudnienie w całkiem przyzwoitej firmie programistycznej, i nie żałuję teraz żadnej godziny spędzonej przed szklanym ekranem. :-)
A tak swoją drogą, to skąd taki właśnie tytuł wpisu?
P.S. Aha, i żeby nie było, studiować zamierzam, moją ukochaną informatykę oczywiście, tyle że zaocznie.
czerwiec 17, 2007 godzina 09:51
Heh, tytuł wpisu jest wzięty z pięcioodcinkowego minikomiksu autorstwa Koko, o tej samej nazwie :-)
http://kokoart.net/kokoart/obrazki/twotp1.jpg.
listopad 27, 2007 godzina 20:05
[...] już nawet pisałem jak wyglądała moja droga związana z programowaniem, ale teraz zacząłem się zastanawiać jak wyglądała moja droga od strony użytkownika. W tym i [...]
grudzień 14, 2007 godzina 19:34
ja też chciałbym tak zacząć zabawe z programowaniem ale niestety za późno sie urodziłem
grudzień 20, 2007 godzina 14:07
Z tym sortowaniem to przegiales ;] Czytaj 2 razy swoje wpisy i wyzucaj rzeczy, o ktorych nie masz pojecia, bo o alrgorytmice najwyrazniej nic nie wiesz.
grudzień 20, 2007 godzina 14:08
literowka w *wyrzucaj* i *algorytmice*