Jaki język programowania wybrać?

Jaki język programowania wybrać na początek? Od czego zacząć? Te pytania zadaje sobie każdy, kto chce wstąpić na ścieżkę programistyczną – niezależnie, czy jest to ktoś dopiero zaczynający swoją karierę na rynku pracy lub ktoś, kto chce się przebranżowić. Oczywiście takie pytania są zasadne, bo nikt nie chce tracić czasu na naukę czegoś, co ostatecznie okaże się niepotrzebne w docelowej pracy. Jeśli więc jesteś w jednej albo drugiej grupie osób, to nie martw się – w tym wpisie postaramy się znaleźć coś właśnie dla Ciebie.

Wybór według popularności

Jest wiele różnych sposobów na wybranie języka programowania. Jeśli interesuje Cię tylko i wyłącznie to, jaki język jest popularny, to istnieje wiele tak zwanych indeksów popularności. Przykładem jest TIOBE: https://www.tiobe.com/tiobe-index/ – indeks aktualizowany miesięcznie, który jest tworzony na podstawie liczby zatrudnionych programistów, wyników wyszukiwań w popularnych przeglądarkach internetowych, serwisach takich jak Wikipedia i YouTube, ilości kursów online, i tak dalej. Oczywiście takie wskaźniki nie pokazują jaki język jest najpopularniejszy w miejscu, w którym aktualnie mieszkasz lub chcesz zamieszkać. Aby się tego dowiedzieć, należałoby przejrzeć konkretne ogłoszenia o pracę.


Jeśli chcesz prześledzić zmiany krok po kroku w formie wideo, to zapraszamy na nasz kanał na YouTube.


Znany i stabilny czy nowy i modny?

Jednak popularność to nie wszystko. Jeśli jakiś język albo framework jest nowy, daje to potencjalnie większą szansę na znalezienie pracy, bo mało osób go zna, ale z drugiej strony może się okazać, że szybko zostanie wyparty przez kolejną nową technologię.

Z kolei znane języki i frameworki mają to do siebie, że są stabilne. I to nie tylko w swoim działaniu, ale też z punktu widzenia danej firmy. Wiadomo, że w sieci znajduje się pełna dokumentacja takiego języka i fora internetowe są pełne pytań i odpowiedzi na różne problemy. Są też wszelkie kursy, filmy i tutoriale. W tym przypadku konkurencja na rynku pracy jest duża, ale jest również dużo ofert pracy i można mieć pewność, że zapotrzebowanie na programistów tego języka nie zniknie ot tak.

Język + framework

Często wraz z językiem programowania powiązana jest jakaś inna technologia: framework (czyli zbiór gotowych rozwiązań programistycznych dla danego języka programowania), biblioteka lub platforma. Na pewno warto je poznać po nauczeniu się podstaw danego języka i z pewnością ułatwi to późniejsze poszukiwania pracy.

Do wyboru do koloru!

Zanim dokonasz wyboru konkretnego języka, warto najpierw rozważyć możliwe dziedziny, w których możesz się realizować jako programista.

Są to:

  • gry,
  • aplikacje desktopowe,
  • aplikacje mobilne,
  • aplikacje webowe,
  • aplikacje embedded,
  • data science.

Gry

 +  +  + 

W przypadku gier sprawa jest dość prosta. Tutaj króluje C++ i bardzo popularny silnik Unreal Engine. Silnik ten jest napisany właśnie w C++ i jest wieloplatformowy, czyli gry docelowo można wydawać na systemy Windows, Linux, MacOS i na konsole.

Poza tym niektóre zespoły deweloperskie programują również w języku C#, korzystając ze środowiska Unity.

Ostatnią opcją jest wykorzystanie języka Java wraz z biblioteką libgdx. Jest to bardziej niszowy wybór, na który decydują się głównie twórcy gier niezależnych. Dzięki libgdx najczęściej tworzy się gry na urządzenia mobilne albo przeglądarki internetowe.

Aplikacja desktopowe

W przypadku aplikacji desktopowych wszystko zależy od docelowej platformy:

   

  • Dla MacOS polecamy język Swift, bo jest teraz bardzo popularny. Jest też objective-c, ale Swift jest jego następcą i opcją znacznie bardziej przyszłościową.

    + 

  • Następnie mamy system Linux, który daje większą elastyczność, bo programować możemy zarówno w C/C++, Javie lub Pythonie. Jednak jeśli mielibyśmy zawęzić ten wybór, to polecili byśmy Javę wraz z platformą JavaFX lub Pythona.

    +  + 

  • Jeśli zaś wybór padnie na Windowsa, swoją przygodę można zacząć z C# i frameworkiem .NET albo z Javą i platformą JavaFX

Aplikacje mobilne

    , 

Przejdźmy do aplikacji mobilnych: tutaj znowu mamy podział na systemy operacyjne:

W przypadku iOS będziemy programować w Swifcie, a w przypadku Androida – w Javie.

Jest też Kotlin, który jest językiem wieloplatformowym, tzn domyślnie możemy go używać do pisania programów na Androida, natomiast przy wykorzystaniu Kotlin Native, można pisać programy, które będą kompilowane do kodu, który można użyć również na iOS i innych systemach.

Aplikacje webowe

Aplikacje webowe są chyba najbardziej popularne i powszechne, zwłaszcza w środowiskach korporacyjnych i generalnie w zastosowaniach komercyjnych. I tu faktycznie jest prawdziwa bonanza języków i technologii.

Wybierając drogę developera aplikacji webowych, najpierw musisz sobie zadać pytanie czy chcesz programować frontend czy backend:

    +  + 

  • Frontend to wszystko to co dzieje się po stronie klienta, czyli przeglądarki internetowej, a więc to co widać na stronie internetowej: design, tekst, grafika, ustawienie poszczególnych elementów. Programista frontendowy (o ile w zespole nie ma UX/UI designera) odpowiada więc za wystrój strony, a także wysyła lub odbiera dane od części backendowej (serwerowej) aplikacji i wyświetla je w odpowiedniej formie na stronie internetowej. W przypadku frontendu powinno się zacząć przygodę od Javascriptu (lub jego nadzbioru: Typescriptu) oraz frameworka Angular albo biblioteki React. Są one w tej chwili najbardziej powszechne.

    +  +  + ,

  • Backend natomiast to wszystko to, co dzieje się po stronie serwera. Odpowiada on za odbiór danych przesłanych (na przykład z formularza) od części frontendowej, ich walidację (czyli sprawdzenie poprawności), ewentualne przetworzenie i najczęściej zapisanie w bazie danych. I w drugą stronę: na odpowiednie zapytanie frontendowe, backend sięga do bazy danych i wyciąga z niej odpowiednie informacje, które następnie zwraca. Tutaj w środowisku korporacyjnym króluje Java wraz z frameworkiem Spring oraz C# wraz z platformą .NET. Natomiast nieco mniej popularne, ale równie istotne będą: Python z frameworkiem Django, Ruby ze słynnym frameworkiem Ruby on Rails czy PHP z frameworkiem Symfony. Ciekawostką może być to, że pojawia się tutaj również Javascript, który w połączeniu ze środowiskiem Node.js może być równie dobrym językiem backendowym, zwłaszcza jeśli chodzi o mniejsze projekty.

    +  +  + 

Systemy wbudowane

Przechodzimy do systemów wbudowanych. Są to systemy, w których programuje się sterowniki różnego rodzaju urządzeń. Mogą to być czujniki temperatury, prędkości przejazdu danego pojazdu lub bardziej przyziemne rzeczy, jak na przykład bankomat, lodówka albo zmywarka. Do programowania tych systemów wykorzystuje się najczęściej języki niskopoziomowe, czyli takie, których instrukcje i funkcje mogą być łatwo tłumaczone na język maszynowy, zrozumiały dla danego urządzenia.

Tu najbardziej popularny będzie język C, ewentualnie C++. Na popularności w tej dziedzinie programowania zyskuje również Python.

Data science

Została nam jeszcze sekcja data science. Jest to dział programowania, który polega na analizie bardzo dużych zbiorów danych. W przypadku data science, oprócz samego programowania będzie też potrzebna znajomość innych dziedzin nauki, a konkretnie matematyki i statystyki. Wymagana będzie również znajomość pewnych algorytmów. Programista data science wychwytuje z ogromnego zbioru pozornie ze sobą nie powiązanych danych pewne zależności, które później są wykorzystywane w różnego rodzaju wizualizacjach: raportach lub wykresach.

Data science obejmuje również takie dziedziny jak sztuczna inteligencja i uczenie maszynowe.

W przypadku data science najpopularniejsze języki programowania to R oraz Python.

Czym jeszcze się kierować?

Oprócz samego zastosowania, to co może Tobą kierować przy wyborze danego języka to jego składnia, dlatego przed podjęciem ostatecznej decyzji, warto przejść kilka tutoriali dla początkujących zanim sięgniesz po pierwszy kurs, film lub książkę do nauki.

Materiały pomocnicze

Polecamy również skorzystanie z serwisu: https://jaki-jezyk-programowania.pl/, który w prosty i przejrzysty sposób, krok po kroku pomoże Ci w wyborze odpowiedniego języka.

Mała firma czy duża korporacja?

Warto również pamiętać, że języki które są popularne w wielkich korporacjach, niekoniecznie znajdą zastosowanie w mniejszych firmach. Jeszcze inaczej rzeczy mają się w przypadku startupów. Tam często kusi się programistów obietnicami pracy w zupełnie nowym projekcie z wykorzystaniem najnowszego języka i frameworka. I programiści znudzeni wieloletnią pracą z jakimś projektem mogą na to przystać. Jednak występuje tu ryzyko, że koniec końców taki projekt nie wypali i za jakiś czas trzeba będzie szukać nowej pracy.

Jak się uczyć?

Natomiast co do sposobu nauki, to jest to temat na cały kolejny wpis i jest to sprawa dość indywidualna, ale obecnie bardzo popularna jest nauka z kursów online, których przybywa coraz więcej. Polecamy tutaj platformę Udemy. A poza tym bardzo dobre są również książki. Ważne tylko, żeby były możliwie jak najnowsze, aby nie uczyć się starych wersji danego języka lub frameworka.

Podsumowanie

Mam nadzieję, że ten poradnik nieco rozjaśnił Ci kwestię wyboru języka programowania. Wybór jest naprawdę spory, ale najważniejsze to po prostu dokonać wyboru i zacząć programować. Idealnie pasuje tutaj powiedzenie: „Praktyka czyni mistrza”.


Podziel się tym wpisem:

1 komentarz do wpisu “Jaki język programowania wybrać?

Dodaj komentarz