Gdy siądziesz do kompilatora...
Chcesz zostać programistą. Takie powziąłeś postanowienie. Dlaczego? A bo chcesz sie wyróżniać, chcesz być dobry, chcesz poznać komputery od środka, chcesz by komputer robił to co ty chcesz. Bo liczyć na poważanie u płci pięknej nie masz szans. Jak to kiedyś powiedział Patrys: "Laski uciekają na widok geeków. Jeśli ktoś liczy na to, że poderwie pannę na opowieści o .htaccess czy sztuczki w Ruby on Rails, to jest w błędzie raczej ;]". Więc uznajmy, że masz inne powody.
Więc postanowione. Chcesz zająć się programowaniem. Pierwszy krok - należy wybrać język. Tak więc pytasz znajomych, ewentualnie pytasz na jakimś forum. I rozpętujsz kolejną wojnę typu "C vs Pascal - od czego zacząć?". I w końcu dostajesz tą odpowiedź. Sam sobie wybierz to co ci najbardziej odpowiada. Nieważne czy to jest C, Pascal, Java, Python, Visual Basic czy cokolwiek innego co wymyślono. Bo programowanie to nie jest jeden język. W ogóle programowanie ma niewiele wspólnego z językiem programowania. To jest sposób myślenia. Myślenia algorytmicznego, logicznego. Plus potrzebny jest upór, wytrwałość i pewnie jakaś mała doza talentu.
Ściągnałęś tak więc kompilator i jakieś kursy z Internetu i rozpoczynasz swoją zabawę. zaczynasz od nieśmiertelnego programu "Hello world!". Pokazanie tekstu na ekranie. Wpisujesz mozolnie kod z kursu, ksiazki czy czego tam, naciskasz magiczną kombinację klawiszy odpowiadającą za uruchomienie, wstrzymujesz oddech... i jest. Twój pierwszy program. Ale może nie? Może wystąpił jakiś błąd? Co się stało? Kompilator pokazuje błąd: "; expected on line 1". Chwila zastanowienia - znasz angielski - tak. Więc co to może być? Ach tak, zgubiony średnik w pierwszej linii kodu. Mała poprawka, rekompilacja i jest. Działa.
Co dalej? Trzeba by napisać jakiś ciekawy program. Może kalkulator? I tak uczysz się, tworzysz coraz bardziej złożone programy, posiłkując się kursami, pytając na forach (cczywiście przedtem należy szukać!). I rozwijasz się. Po jakimś czasie dochodzisz do wniosku - coś trzeba napisać, co można by pokazać światu. Tak aby zobaczyli, że oto pojawił sie kolejny, który coś umie.
I myślisz. Co by tu zrobić? To często jest okropne. Gdy wysilasz się, chcesz coś zrobić, ale nie masz co. Kolejny notatnik, komunikator, program do wysyłania poczty, wirus? Nie masz pomysłu? Rozejrzyj się. Brakuje ci czegoś w codzinnej pracy? Napisz narzędzie, które ułatwi Ci życie. Cokolwiek. A może komuś też to pomoże? Tak więc udostępniasz kod gdzieś w Internecie i otwrzymujesz pierwsze komentarze od innych niż ty użytkowników twojego programu.
Dowiadujesz się, że program nie działa na Windows innych niż XP + SP1, że program wywołuje błędy.... Wściekasz się. I co teraz? No właśnie, teraz należy pracować, aby błędów nie było. Co z tego, że program X też ma błędy? Co z tego, że Windows ma błędy? Błędów być nie może. Znaczy są na pewno, w każdym programie, ale ty spróbuj wszystkie wykryte usuwać. Masz problem - szukaj, pytaj... Ale najpierw sam sobie spróbuj poradzić. Bądź uparty, siedem razy sprawdź dlaczego Twój kod może nie działać, zanim zapytasz na jakimś forum.
Nie szukaj zawsze najłatwiejszych gotowych rozwiązać. Nie pytaj czy jest komponent, który robi to czy tamto. Bo to nie musi być komponent, to może byc klasa, procedura, funkcja czy cokolwiek innego. Szukaj w pomocy, w Google, w wyszukiwarkach na róznych forach. Nie pytaj jak zrobić taki program, pytaj o konkretne rzeczy.
Co dalej? Rozwijaj się. Czytaj, ucz się. Pisz nowe rzeczy, udoskonalaj stare. Pomagaj ludziom. Możesz pomóc w jakiś projektach Open Source, bądź założyć własne. Stań się częścią społeczności. I ucz się, ucz, rozwijaj. Nie poprzestań na jednej specjalizacji, języku. Powinieneś poznać co najmniej kilka - choćby pobieżnie. Nie udawaj mądrzejszego niż jesteś, naucz się pokory. To jest trudne. Ja wiem. Sam tego nie umiem.
"Bądź wierny. Idź."
Nie popełnij błędów, jakie wielu popełniło. Zaczynając ode mnie, przez wiele tysięcy ludzi pragnących zgłebić programowanie.
To takie ogólne przemyślenia. Nie wiem co mnie natchnęło do napisania tego steku bzdur, za który przepraszam ;)