Który język wybrać na początku drogi?

Cześć. Dawno mnie tu nie było, ale bardzo ambitny plan jest taki, aby wrócić i to na stałe (mam nadzieję). Dziś trywialny temat, który spędza sen z powiek początkującym programistom. Proste pytanie, ale jednak odpowiedź nie zawsze taka łatwa jak się wydaje. Jaki język programowania wybrać jako pierwszy? Chcesz wiedzieć? Zapraszam do czytania!

Pomysł na ten wpis pojawił się w związku z pytaniami, które otrzymuję, a to na forach, na których się udzielam, a to na facebooku. No i nie tylko bezpośrednio do mnie – ale ogólnie. Wystarczy wejść na dowolne forum poświęcone IT i znajdziemy mnóstwo wątków z takim bądź podobnie brzmiącym pytaniem. I chociaż często leje się tam fala hejtu, to jednak pytanie jest dobre, bo kto pyta nie błądzi. Inną sprawą jest, że 90% odpowiedzi jest taka sama, a ja wcale nie udzielę innej 😉

Więc jaki to język?

Może pytanie jest o język programowania, ale pozwolę sobie najpierw nadmienić, że w ogóle pierwszym językiem przy wchodzeniu w świat IT powinien być język angielski. Powodów jest mnóstwo, ale jeżeli o samo programowanie chodzi, to podstawowym powodem jest po prostu mnogość informacji, tutoriali, poradników, rozwiązań właśnie w języku angielskim. Jak często z pytaniem o pierwszy język programowania w parze idzie pytanie o poradnik lub książkę? No właśnie.

Język angielski jest językiem niezbędnym programiście. Już pomijając te tutoriale/kursy/poradniki, to sama dokumentacja języka jest po angielsku, a wyjątki od tej reguły są rzadkością. Ba! Sama składnia języka jest niczym innym jak angielskimi słowami bądź wyrażeniami. Przykładów wiele szukać nie trzeba: for, do, foreach, if, class, array; albo nazwy fukcji (w php): empty(), var_dump(), error_reporting() i wiele innych.

Ponadto standardowo nasz kod powinien być jedną wielką powieścią w języku angielskim. Sam dawno temu używałem polskich wyrazów, ale teraz nazwy zmiennych w rodzaju pole_kwadratu, uzytkownik, polaczenie_z_baza i tym podobne, brzmią jednak śmiesznie. Owszem, mamy swój język, ale to jednak angielski jest tym międzynarodowym i warto założyć, że kod będzie czytał ktoś inny, niekoniecznie znający język polski. Przechodząc do sedna…

Który język programowania jest najlepszy na start?

Każdy*. Im dłużej zastanawiasz się nad wyborem języka, tym mniejsza szansa, że w ogóle zaczniesz. Gdy nauczysz się jednego, poznanie kolejnych nie będzie problemem. Każdy język ma jakieś swoje mocne strony, mniejsze czy większe. Każdy ma swoje charakterystyczne cechy. Jednak w programowaniu najważniejsze jest programowanie, język to tylko narzędzie do osiągnięcia celu. Ważne jest umieć programować, znajomość języka to co innego.

I tak czy to będzie PHP, czy Java, czy C++, czy C#, czy Python, czy Ruby czy jakikolwiek inny, będzie to dobry wybór. Bo najważniejsze w tym momencie to nauczyć się programować. Fakt, jeśli serio nie przypadnie Ci do gustu, to możesz wybór zmienić i to jest okej. Jednak pytając na forum, czy kogoś, jaki język na start, to:

a) ryzykujesz odpowiedzi typu: brainf*ck, Malbolge, Whitespace albo LOLCODE czy też jakiś inny ezoteryczny język programowania;

b) ktoś poleci ci po prostu swój język, w którym programuje i tak zrodzi się burza, bo znajdzie się programista Java, który będzie się kłócił z programistą C#, który jest lepszy na start.

Tak szczerze mówiąc mógłbym wyróżnić dwa takie rodzaje, gdzie serio można mieć kłopot z przejściem z jednego na drugi. Są to języki, jak ja to nazywam, klamerkowe (PHP, Java, C# i wszystkie C-podobne) oraz bezklamerkowe (Ruby, Python, Pascal[ktoś w tym jeszcze programuje? :D]). Ja osobiście i z własnego doświadczenia mówię, że nie potrafię przenieść się na język, gdzie nie ma klamer. Rozumiem, że to wymusza na programiście pisanie kodu tak, aby był czytelny, bo ważne są wcięcia. Jednak w mojej ocenie taki kod traci na czytelności. Jednak zaznaczam – to moja ocena, nie mogę się przyzwyczaić i mimo paru podejść do Pythona i jednego do Ruby… czegoś mi tam zawsze brakuje. W każdym razie te języki się różnią, chociaż zasada programowania i logika zostaje ta sama.

*- no może prócz assemblera 😉

Podsumowanie

Myślę, że podsumować mogę w jeden sposób – zacznij programować! Nie myśl w czym, bo to jest najmniej ważne na twoim poziomie wiedzy, potem coś zmienisz.

Może masz inne zdanie? Zachęcam do dyskusji!