Jaki język programowania wybrać?

 

Jaki język programowania jest dla mnie?

 

Pytanie zadaje sobie co drugi człowiek, który stwierdził, że zabierze się za programowanie. A reszta rozważa, czy wybrała dobry język. Po kilkunastu miesiącach nauki programowania chciałbym się podzielić kilkoma spostrzeżeniami.

 

Ju spik ingilsz?

Nie będziesz programować po polsku, nie będziesz tego robić po rosyjsku czy francusku. O ile jesteś w stanie nauczyć się komend, wiesz, w jaki sposób zrobić pętlę, to bez znajomości tego języka będzie Ci trudno się rozwijać. Język angielski to główny język w programowaniu. Po angielsku napisane są najlepsze instrukcje, po angielsku tworzy się materiały pomocnicze, a najważniejsze – po angielsku jest sporządzana cała dokumentacja programistyczna, bez której nie ruszysz się na krok. Niekoniecznie musisz się zapisywać na kurs językowy. Z pewnością masz jakąś podstawę, którą po prostu trzeba rozwinąć. Warto zatem zmienić język na komórce, oglądać filmy z napisami, słuchać podcastów lub wiadomości po angielsku. Na platformach edukacyjnych jest też dużo bezpłatnych materiałów po angielsku, które często przydają się początkującym.

 

Jeden, by wszystkimi rządzić.

Kiedy już wybrałem język programowania, zauważyłem, że gdy opanuje się jeden, z nich, będzie nieco łatwiej opanować kolejne języki, ponieważ często logika ich tworzenia jest zbieżna nawzajem ze sobą. Jeśli zacząłeś uczyć się już jakiegoś języka i podoba Ci się sposób nauki, nie męczysz się, nie przerywaj. Jeśli zamierzasz się uczyć – będzie mi miło, jeśli przeczytasz moje obserwacje z poprzednich kilkunastu miesięcy. Mam nadzieję, że przydadzą Ci się w nauce oraz poszukiwaniu pracy.

 

W domu najlepiej.

Podczas poszukiwań zauważyłem, że wszędzie w Polsce mamy konkretne zapotrzebowanie na konkretne języki, istnieje czynnik regionalny. Aby dowiedzieć się jaki język programowania daje najwięcej możliwości warto z pewnością sprawdzić Linkedin, Justjoinit, Buldogjobs lub Pracuj. Oczywiście każdy może pracować zdalnie, jednak, gdy jesteś juniorem, wtedy masz większy problem, bo i tak trzeba w ciebie inwestować. Inwestycje są najlepsze w biurze, po prostu trzeba pracować z człowiekiem.
W zależności od zamiarów warto poczytać o tym, który język programowania jest używan w danej gałęzi przemysłu. Po prostu należy sobie odpowiedzieć na pytanie: „Co chcę budować?” i „Czym chcę się zajmować?” Gry? (C#, C++), strony internetowe? (JS, HTML, CSS), aplikacje na iOS czy Androida (Swift, Java, Kotlin), a może chcę mieć bardziej naukowe podejście? (Python, R).

 

Nie mierzymy wysoko (na początku).

Łatwość nauki jest trzecim z czynników, które brałem pod uwagę. Język programowania musiał wypełniać dwa poprzednie warunki i być relatywnie łatwym do nauki dla osoby bez wykształcenia technicznego. Musiałem wybrać taki język, który da mi jakąkolwiek pracę i dać możliwość budowania tego, co zamierzałem.

Szybka odpowiedź na pytanie z tytułu: zacząć od JavaScript lub Pythona.

Te języki są wciąż popularne, nauczenie się ich pozwala na znalezienie zajęcia lub wykonywanie podstawowych zadań jako freelancer. Po zebraniu doświadczenia można próbować szukać pracy. W moim przypadku udało mi się uzyskać pracę dlatego, że udostępniłem pracodawcy swoje ćwiczenia w JS, dowiodłem swoich chęci tym, że zapisałem się na studia podyplomowe i miałem dobry angielski. Dodatkowo byłem bardzo mile zaskoczony, że ktoś czytał mój blog.
Język to nie wszystko, wokół niego zebrany jest ekosystem. W danym języku z pewnością używa się frameworka i bibliotek. Podstawy pozwalają pracować w całym ekosystemie, a praca w nim pozwala na geometryczny wzrost umiejętności. JavaScript, choć ma już swoje lata, to wciąż się rozwija, powstają do niego framweworki, nie jest trudny, a za to jest uniwersalny. Po prostu trzeba go połączyć z HTML i CSS. Niby to nudne, a na początku będzie niełatwo obyć się bez tych języków. JS można łatwo rozwijać w React i nawet zabezpieczać w od strony serwera w node.js.

 

Co będzie na topie za 3 lata?

Pewnym wyznacznikiem może być trend użycia języków w czasie. Mogę polecić Indeks Tiobe. Widzimy, że na podium wciąż są te same języki, a inne wahają się na podobnych pozycjach. Użycie tego indeksu i traktowanie go jako latarni morskiej może być ryzykowne, tym niemniej im więcej umiemy, tym lepiej. Dlatego śledzę rubrykę z prognozowanymi językami przyszłości, aby z pewną dozą prawdopodobieństwa wybrać jeden, którego uczę się po godzinach. Ważne, aby mieć na uwadze, że prognozy się zmieniają, co odzwierciedla się w niestabilności technologii frontendu. Nie powinno się do nich przywiązywać najwyższej wagi.
Mniejsza zmienność trendów od strony backendu, Java i C# są już dojrzałymi językami i można je wybrać z pewną możliwością, że będzie nam łatwiej z pracą. Nieco nowsze języki to Ruby i Python. Na przykład Ruby jest teraz na topie i kilka ogólnopolskich firm po prostu wchłania programistów tego języka. Ja jednak polecałbym Python, bo jest najłatwiejszy i mocno związany z AI, o już jest trendem.

 

Jeden, ale nie na zawsze.

Nie wiążesz się z językiem na całe życie, możesz pracować latami, ale także się rozwijasz. Kiedyś może zajść potrzeba zmiany języka. Zauważam także, że obecnie rośnie zapotrzebowanie na full stack developera, który jest człowiekiem od wszystkiego. Koniec końców, jak się siedzi w jednym miejscu, to się rdzewieje. Powodzenia!
Jeśli masz jakieś wskazówki, obserwacje, chętnie je wysłucham i jeszcze chętniej poczytam w komentarzach.