Paulina Wyszyńska-Górecka
Paulina Wyszyńska-Górecka

Najpopularniejsze języki programowania 2019

Sprawdź, które języki programowania są obecnie najpopularniejsze i których z nich warto się uczyć.
7.05.20199 min
Najpopularniejsze języki programowania 2019

Aż 68% programistów zapytanych o to, które z języków programowania znają na przynajmniej podstawowym poziomie, wymienia na swojej liście JavaScript. Javę zna 64% deweloperów, czyli prawie tak samo duża grupa. Dalej usłyszeć można o znajomości C++ (59%), SQL (54%), a ~40-50% programistów wskazuje również na znajomość takich technologii jak C#, Pythona, C i PHP. Takie statystyki przedstawia raport z badania branży IT Bulldogjob 2019.

Jeżeli chcesz zobaczyć najnowsze dane, to odwiedź nowszą wersję tego tekstu.

Jak przekłada się to w praktyce? Prześledźmy to.

Języki programowania w miejscu pracy

Zdecydowanie językiem najczęściej używanym przez programistów na co dzień w pracy jest JavaScript. Potwierdziła to prawie połowa przepytanych deweloperów. Trochę mniej, bo 33% specjalistów, wykorzystuje zawodowo Javę. Z kilkunastoprocentowym wynikiem widnieją na liście kolejno również C#, Python, PHP, .NET oraz C++.

Ale jak to przekłada się na zadowolenie z wykorzystania ich zawodowo? Mimo tak wysokiego udziału procentowego JavaScript w użyciu przy wykonywaniu obowiązków, które wynikają z zatrudnienia, tak naprawdę jako subiektywnie ulubiony język, najczęściej wymieniana jest Java. JavaScript znajduje się na drugim miejscu. Niżej w klasyfikacji znalazły się wymieniane już wcześniej C# i Python, wybrane jako najbardziej lubiane przez ~15% programistów oraz PHP, .NET, PL/SQL i C++, które mają (każdy z osobna) po ~10% wiernych fanów użytkowania.

Rozwój i wspieranie języków

Praktycznie wszystkie “topowe” języki prężnie się rozwijają i mają porządne wsparcie. Pod tym względem w tyle zostaje jedynie C. Dlaczego mimo to nadal tak wielu programistów zna tę technologię? To język niskopoziomowy i jest obecnie najszybszą technologią. Jedynie język maszynowy posiada większą wydajność kodu powstałego w wyniku kompilacji niż język C.

Z czego wynika popularność języków?

JavaScript

Statystyki pokazują, że JavaScript w ostatnim czasie wiedzie prym wśród reszty popularnych języków. W dużej mierze dlatego, że można używać go już praktycznie do wszystkiego. Oczywiście nieoceniony jest głównie przy pracy front-endowców. Jednak z powodzeniem aplikacje tworzone w JS znajdą zastosowanie na różnych platformach. Poza aplikacjami webowymi, dzięki React Native i innym frameworkom - przyda się do pracy przy mobile’u, a dzięki node.js - również w zastosowaniach serwerowych.

Zdaniem Roberta Szydłowskiego - Architekta Technicznego z Engineering Design Center:

Dla dużej liczby osób argumentem decydującym, od którego języka programowania zacząć, będzie zapewne próg wejścia. Być może to właśnie tłumaczy, dlaczego JavaScript jest bardziej rozchwytywany. Większość z nas „kupuje oczami”. Niejednokrotnie spotkałem się z sytuacją, gdzie business, czyli ludzie, którzy płacą za development aplikacji, neutralnie podchodzili do kilkutygodniowej pracy na backendzie (pisany właśnie w Javie), która przyspieszyła proces o 10%, a jedna drobna zmiana na frontendzie, związana np. z kolorem tła czy przycisków, była nagradzana premią i słowami uznania. Aplikacja musi być przyjemna dla oka, a za to już odpowiedzialny jest HTML, CSS, Java Script itp. Poza tym, jeśli chcemy zrobić tylko naszą wizytówkę w postaci prostej strony WWW, to pewnie nie będziemy zaprzęgać do tego Javy, PHP, MySQL’a czy Oracla. W jeden dzień jesteśmy w stanie coś naskrobać w czystym JS lub przy użyciu jego bibliotek.

Dlaczego jednak mimo wielkiego “boomu” na JavaScript oraz jego szerokiego zastosowania, nie jest on w pierwszej kolejności wymieniany jako ulubiony język? Mimo wszystko JS nie ma nadal zbyt dobrej opinii w świecie programistycznym. Uważany jest wręcz za “dziwaczny” przez ludzi, którzy już jakiś czas obracają się w “środowisku”. I rzeczywiście kiedyś miało to sporo pokrycia wprawdzie, jednak obecnie ta technologia tak szybko się rozwija, że tak naprawdę ta “dziwaczność”, to już dziś w dużym stopniu tylko zastały stereotyp.

Java

Kolejny lider, czyli Java, to najpopularniejszy w Polsce język wysokopoziomowy. Jest on w naszym kraju mocno “osadzony”. Co więcej, staje się ciągle coraz bardziej nowoczesny. Dzięki różnym frameworkom - mimo swojego zaawansowania - jest przystępna także dla początkujących programistów. Nie bez powodu uczy się go na każdej uczelni. Również wielu samouków wybiera sobie Javę jako język, od którego chcą zacząć przygodę z kodowaniem i później już przy nim zostają.

Technologia ta ma dość ogólne zastosowanie i spełni się w prawie każdej roli. Oferuje bardzo bogaty ekosystem (m.in. Clojure, Scala). Najczęściej wykorzystywana jest przez back-endowców do tworzenia systemów aplikacji www. Przydaje się też czasem do pisania aplikacji desktopowych. Świetnie sprawdza się przy projektowaniu gier na Androida. Ułatwia to dodatkowo oficjalny androidowy język - Kotlin, który jest do Javy w pełni przystosowany i kompatybilny z nią.

Robert Szydłowski: Jeśli chcemy zabrać się za coś poważniejszego, coś, co ciężko będzie zrealizować po stronie klienta w jego przeglądarce, to zapewne sięgniemy po Javę (mikrokontrolery pewnie będziemy programować, używając C). Obecnie dzięki różnym frameworkom, takim, jak np. SpringBoot, próg wejścia i zrobienia swojej pierwszej aplikacji, obniżył się znacząco. Ma to oczywiście swoje plusy i minusy. Osoba po krótkim kursie jest w stanie zacząć development, dostarczać business value, co jest niewątpliwym atutem dla pracodawcy. Jednak w przypadku problemów nowy adept nie znając mechanizmów, jaki jest ukryty za adnotacją, nie będzie w stanie poradzić sobie w zaistniałej sytuacji.

Python

Coraz częściej w kontekście języka, którego warto się uczyć, mówi się o Pythonie. Ma on bardzo szerokie zastosowanie. Sprawdzi się przy projektach dotyczących Data Science, Machine Learningu, przy tworzeniu aplikacji webowych oraz wszelakich skryptów. Tak naprawdę Python będzie zawsze w cenie, gdyż jest to bardzo szybko rosnący język - zwłaszcza na Zachodzie.

Czy uczelnie nadążają za technologią?

Przy tak szybkim rozwoju większości technologii, przed uczelniami stoi nie lada wyzwanie, żeby być na bieżąco z najnowszymi trendami i rozwiązaniami. Weźmy np. Javę, która w ostatnim czasie wypuszcza nowe wersje i ulepszenia mniej więcej co pół roku. Jest tak popularnym językiem, a mimo to ciężko byłoby za nią nadążyć i nawet mimo wszelkich starań, być z każdym jej aspektem na bieżąco. Chociażby w przypadku podręczników do nauki, bez sensu byłoby przedrukowywanie wydań co kilka miesięcy. Dlatego też praktycznie na każdej uczelni uczy się Javy, niekoniecznie najnowszej wersji, ale jej podstaw i ogólnego działania. Bystry student odnajdzie się w przyszłej pracy, nawet jeśli zetknie się z uaktualnionymi wersjami. Zostanie wtedy tylko aktualizacja obecnej wiedzy.

Przeobraża się również cała otoczka świata programowania. Algorytmy i sama nauka podstaw programowania się nie zmieniają, jednak proces wytwarzania oprogramowania ciągle ewoluuje. Nieustanne dostosowywanie się do tego, to kolejne wyzwanie dla szkół uczących programowania. Wymaga to ciągłego poszerzania wiedzy przez wykładowców, wkładania energii w sprawdzanie nowych rozwiązań.

Jak mówi Dr Michał Tomaszewski z Polsko-Japońskiej Akademii Technik Komputerowych, specjalista w dziedzinie języków programowania:

Rolą uczelni wyższej nie jest i nie powinno być nauczenie studenta określonego języka programowania i to jeszcze z uwzględnieniem każdego najdrobniejszego detalu jego funkcjonowania w obecnej iteracji. Jak zostało słusznie zauważone, obecnie języki programowania zmieniają się szybko. Zbyt szybko, by taka forma edukacji miała sens. Poznaniu detali konkretnego języka służy jego (aktualizowana na bieżąco) dokumentacja oraz zasoby społecznościowe, które w przypadku każdego z języków wymienionych w artykule, są niezwykle bogate. Do tego w każdej chwili może pojawić się całkowicie nowe koncepcyjnie podejście do programowania, tak jak swego czasu taką rewolucyjną nowinką było programowanie obiektowe i koncepcja klas – czy wówczas absolwenci powinni bezradnie usiąść z rozłożonymi rękoma, bo wszak „na studiach tego nie było”?

Rolą uczelni nie jest zatem perfekcyjne wyuczenie jakiejś konkretnej iteracji każdego z wykładanych języków, przypadkowo będącej akurat tą najbardziej aktualną. Rolą uczelni jest perfekcyjne nauczenie określonego sposobu myślenia i umiejętności precyzyjnego formułowania problemów, warunków oraz rozwiązań w sposób algorytmiczny. Algorytmiczny, czyli możliwy do umieszczenia w ramach DOWOLNEGO języka, również takiego, którego w programie nauczania nie przewidziano. Ba, nawet takiego, który obecnie jeszcze nie istnieje. Rolą uczelni jest danie studentowi metodyki pracy i formacji intelektualnej, dzięki której będzie umiał się odnajdywać we wszystkich obecnych przyszłych formułach, jakie mogą zostać nadane programowaniu jako takiemu. Natomiast stronę stricte formalną, składniową, będzie w stanie bez problemu opanować sam, gdyż będzie rozpoznawał mechaniki realizowane konkretną i specyficzną dla danej wersji formalną składnię języka.

Oczywiście w trakcie procesu edukacyjnego korzystamy z określonych, aktualnych wersji języków czy przynależących do nich frameworków. Jednak nadal celem nie jest nauczenie mechanicznego korzystania z tego określonego (i siłą rzeczy – ograniczonego!) zestawu klas, metod i funkcji, tylko pokazanie jak narzędziami dostępnymi w ramach tegoż konkretnego zestawu klas, metod i funkcji realizować koncepcje programistyczne, które są znacznie bardziej uniwersalne i wykraczające poza ramy jakiegokolwiek konkretnego języka.

Posługując się bardziej przyziemną analogią, na kursie prawa jazdy, nie chodzi o perfekcyjne wykucie na pamięć rozkładu pokręteł i przycisków w określonym modelu auta z konkretnego rocznika. Prawo jazdy uzyskuje się wszak „na samochód”, a nie na Opla Astrę, wersja comfort, rocznik 2019.

Świetnym rozwiązaniem jest nawiązywanie przez uczelnie współpracy z firmami IT. W takich sytuacjach wszyscy korzystają. Student, jako młoda i zazwyczaj niedoświadczona jeszcze zawodowo osoba, może skorzystać z okazji, żeby na “żywym organizmie” zweryfikować swoje umiejętności, sprawdzić, jak w praktyce wygląda wykorzystywanie konkretnych funkcji danych języków w prawdziwych projektach. Przedsiębiorstwa zyskują ambitnych stażystów i często w przyszłości pracowników, którzy rzeczywiście chcą się uczyć i dawać coś od siebie. Uczelnia takimi działaniami zachęca do wyboru właśnie tej placówki i tym samym buduje szeroką renomę w sektorze IT.

Jak maluje się przyszłość języków programowania?

Nigdy na takie pytania nie da się odpowiedzieć w 100%, gdyż nikt z nas nie jest w stanie przewidzieć pewnej przyszłości. Jednak wnikliwi obserwatorzy są w stanie ocenić przesłanki, które mogą wskazywać na trendy i potencjalny kierunek rozwoju technologii.

Zdaniem Marcina Młyńskiego - CEO w szkole programowania CODE:ME i założyciela Hackerspace Trójmiasto:

Największym zainteresowaniem będą się z pewnością cieszyć języki funkcyjne jak JavaScript, bo jest dalej mocno poszukiwany i właściwie już wszędzie znajduje zastosowanie; Python, bo jest na topie i nie wygląda, żeby miał tracić na popularności, a nawet wręcz przeciwnie - wg niemal wszystkich statystyk, zainteresowanie najpewniej będzie dalej rosło.

Reszta języków, można by powiedzieć, w normie, C#, C/C++ i Java, będą dalej cieszyły się dużym wzięciem, bo nie da się ich obecnie zastąpić. A na pewno nie szybko i tanio.

Powyższe przewidywania uzasadniają także osoby chcące się uczyć programowania oraz duże korporacje, które chętnie korzystają ze szkoleń właśnie tych wymienionych języków i inwestują w swoich pracowników, podnosząc ich kompetencje.

Który język wybrać zatem w roku 2019? Tutaj można klasycznie odpowiedzieć „to zależy”. Jeśli wybierzesz jeden z przytaczanych języków, to zapewne się nie pomyślisz, warto jednak zastanowić się wcześniej, do czego chcesz go wykorzystywać, bo różne języki mają różne zastosowania. Jeśli nie wiesz – porozmawiaj z kimś, kto zajmuje się tym dłużej. Można też skorzystać z bezpłatnych spotkań czy krótkich, ale intensywnych szkoleń, jako pewnej formy przetestowania danej technologii i stworzenia pierwszych własnych projektów. A jeśli poczujesz już „moc”, że język, który wybrałeś/łaś, jest dla Ciebie, to trzymaj się go i stań się specjalistą. Na kolejne języki z czasem też przyjdzie odpowiednia pora.

Podsumowanie

To których języków programowania warto się uczyć? Ogólną odpowiedzią Marcina Młyńskiego na pytanie, jakie języki programowania będą popularne w roku 2019, jest to, że: popularne będą wszystkie. Branża IT jest ciągle tak nienasycona, że każdy specjalista będzie szukał pracy przysłowiowe 15 minut, a i przychylnym okiem będzie patrzeć się na osoby chcące się uczyć.

Tak naprawdę to nie jest pytanie, które powinno się zadać. Co chcę robić? Myślenie w tym kierunku pomoże Ci o wiele bardziej. Każda z technologii, które pojawiają się w czołówce najpopularniejszych, przyda się do konkretnej rzeczy. Każdy wybór będzie miał swoje plusy i minusy. Tak naprawdę kluczowy jest wybór tego, co chcemy robić, dlaczego oraz w jakim miejscu na drodze kariery chciałbyś się znaleźć za jakiś czas. Wolisz tworzyć gry? Dłubać przy systemach na back-endzie, a może ozdabiać i upiększać strony www, dzięki mnogości rozwiązań? Jak odpowiesz sobie na te pozornie banalne pytania - wybór języka będzie najmniejszym problemem :)

<p>Loading...</p>