Jeżeli spojrzymy na popularność języków programowania to moglibyśmy zauważyć pewną analogię do popularności zespołów muzycznych – są takie, które oferują swoim fanom coś zupełnie nowego i wzbijają się niesamowicie szybko w górę – tylko po to, aby po chwili zostać wymienionym na coś nowszego, coś co zdobędzie nasze zainteresowanie równie szybko, pozostawiając swojego poprzednika w zapomnieniu. Są też takie, które istnieją praktycznie od zawsze – nie pamiętasz kiedy zdobyły swoją popularność, nie wiesz dlaczego są lepsze od swoich kolegów z branży, wiesz za to, że praktycznie każdy o nich słyszał i każdy zna ich jedną piosenkę (sam zresztą jesteś w stanie kilka zanucić). Kolejnym rodzajem są te, do których masz zwyczajny sentyment, ciągle pamiętasz jak wieczorami przy przygaszonym świetle lampki nocnej, słuchałeś na swojej wieży w kółko tej samej kasety, twierdząc, że nie ma możliwości aby kiedykolwiek powstała lepsza muzyka. Na sam koniec zostają jeszcze te, których sam nigdy nie słuchałeś (być może ich nazwa obiła Ci się gdzieś o uszy), wiesz natomiast, że są one pewnego rodzaju przodkiem, prekursorem obecnego stanu muzyki.
I tak, zmieniając tematykę z muzycznej na programistyczną, możemy spróbować przyporządkować niektóre z języków do popularności – do pierwszej kategorii moglibyśmy podpiąć np. Perl, język niesamowicie popularny w latach 2004-2006, który obecnie z roku na rok traci na popularności. Jako nieśmiertelną gwiazdę dużego formatu moglibyśmy potraktować C lub Javę – które praktycznie zawsze królują w rankingach popularności. Trzecia kategoria jest zazwyczaj bardziej osobista – w naszym przypadku postawilibyśmy na Pascala. Natomiast w czwartej kategorii jedynym właściwym wyborem może być Assembler – praprzodek samej idei programowania.
Jak w takim razie dokładnie zmieniała się popularność języków programowania na przestrzeni lat? Które języki są najbardziej popularne w roku 2017? Na te pytania postaramy się odpowiedzieć w tym artykule, który będzie się opierał o rozmaite źródła dostępne w Internecie.
Na samym początku przedstawimy źródła z których będziemy korzystać – niektóre z nich możecie już kojarzyć, gdyż przewijały się od czasu do czasu na naszej stronie:
– ankieta StackOverflow – jest to ankieta przeprowadzana przez jeden z najbardziej popularnych serwisów dla programistów/ludzi związanych z branżą IT. Badanie jest realizowane co roku od 2012r., zaś wyniki są publikowane w okolicach marca/kwietnia. Zawiera sporo informacji na temat developerów – od danych demograficznych, aż po średnie zarobki i ulubione technologie;
– TIOBE index – jest to wskaźnik popularności danych języków programowania. Jest on aktualizowany w cyklu miesięcznym. Wyniki popularności są obliczane na podstawie ilości osób profesjonalnie zajmujących się tworzeniem oprogramowania, ilości kursów dostępnych dla danego języka oraz ilości dostawców zewnętrznych związanych z danym językiem. Do obliczeń popularności wykorzystywane są wyniki wyszukiwań w popularnych wyszukiwarkach takich jak Google, bing, Yahoo czy nawet Wikipedia.
– langpop.corger.nl – strona, na której wyświetlane są aktualizowane co cztery godziny wyniki popularności na podstawie zmienionych linii na GitHub oraz na podstawie ilości tagów z danym językiem na portalu StackOverflow,
– pypl.github.io/PYPL.html – strona, na której popularność jest mierzona poprzez sprawdzanie jak często są wyszukiwane kursy z danej dziedziny programowania. Twórcy uważają, że o popularności świadczy przede wszystkim ilość osób, które chcą się nauczyć języka.
Zacznijmy może od StackOverflow – wyniki ankiety z roku 2017 przedstawiły nam ponownie jakie języki są najczęściej używane przez programistów odwiedzających ten portal. Warto jednak zauważyć, że wybór był niejednokrotnego wyboru – tzn. jedna osoba mogła zaznaczyć kilka różnych języków programowania. Można z tego wywnioskować, że najbardziej rozchwytywanym językiem 2017 roku jest JavaScript – aż 62% odwiedzających zadeklarowało wykorzystywanie tego języka w pracy. Warto też zauważyć obecność TypeScriptu oraz CofeeScriptu – języków transpilowanych do JavaScriptu. Niezmiennie w czołówce utrzymuje się również Java – 40% ankietowanych zadeklarowało wykorzystywanie Javy w pracy. Poniżej przedstawiam wykres z roku 2017:
Rys. 1. Popularność języków programowania w roku 2017 wdg. StackOverflow
Warto zerknąć również na tabelę przedstawiającą to jak zmieniały się wyniki ankiety na przestrzeni lat 2013-2017. Wykres ten nie przedstawia tylko języków programowania (występuje tam również Node.js) – zajmuje się on przedstawieniem popularności technologii na przestrzeni tych czterech lat. Czytając wykres widzimy, że największą utratę popularności na przestrzeni czterech lat odnotował C#, C oraz PHP. W 2017 roku jednak zauważamy tendencję wzrostową dla C oraz C++ – może to być spowodowane bardzo intensywnym rozwojem Iot (Internet of Things) i programowaniem mikrokontrolerów, na których używany jest głównie język C. Oto wykres:
Rys. 2. Zmiana popularności wybranych języków w latach 2013-2017 wdg. StackOverflow
Przeanalizujmy teraz wyniki z TIOBE index. Jak pisaliśmy wcześniej – wyniki są aktualizowane z miesiąca na miesiąc i według nas precyzyjniej opisują popularność danego języka. W tabeli na dany miesiąc wyniki opisywane są procentowo – im więcej procent posiada dany język, tym bardziej jest popularny. W tabeli podane są również zmiany w stosunku do tego samego miesiąca roku poprzedniego. I tak, analizując dane z kwietnia 2017 widzimy, że ścisła czołówka praktycznie nie uległa zmianom na pierwszych pięciu miejscach niezmiennie i kolejno znajdują się:
– Java (15,56%),
– C (6,96%),
– C++ (4,55%),
– C# (3,57%),
– Python (3,45)%
Mimo iż Java znajduje się niezmiennie z dużym zapasem na samym początku stawki to widać również, że język ten, zaraz za C, odnotował jedne z największych spadków w popularności (5,28%). Na pierwszym miejscu znajduje się język C, który odnotował aż 6,94% spadku – zbliżając się już niebezpiecznie do poziomu C++. Największy wzrost odnotował język stworzony przez Google – Go, wskakując z 44 miejsca, które posiadał rok temu na miejsce 18, notując 1,73% wzrostu udziału w rynku. Dla zainteresowanych – poniżej tabela z kwietnia 2017:
Rys. 3. Wyniki popularności według TIOBE na kwiecień 2017
;
Tiobe prezentuje nam również wykres przedstawiający zmiany popularności danych języków na przestrzeni ostatnich piętnastu lat – i tak możemy zauważyć znaczący spadek popularności takich języków jak chociażby Java czy C w ciągu ostatnich kilku lat. Dla przejrzystości podzieliłem wykres na dwa różne, przedstawiające pięć najbardziej popularnych języków, oraz pięć następnych języków o najwyższej popularności:
Rys. 4. Pięć najbardziej popularnych języków według Tiobe Index
;
;
Rys. 5. Kolejna piątka najbardziej popularnych języków
Zastanawiacie się pewnie skąd mogą brać się aż takie różnice w stosunku do ankiety StackOverflow – otóż na SO ankieta prezentowała odpowiedzi poszczególnych developerów – natomiast Tiobe Index bazuje na „widoczności” danego języka w świeci. Stąd też uważamy, iż jest to bardziej miarodajne źródło niż ankieta StackOverflow.
Kolejnym źródłem, do którego chcielibyśmy się odwołać, jest strona langpop.corger.nl. Twórcy tego wykresu podeszli do sprawy w bardzo oryginalny sposób. Postanowili porównać ilość zmienionych linii na GitHubie oraz ilość Tagów na StackOverflow – dzięki temu otrzymaliśmy bardzo ciekawy wykres, z którego można wyczytać, iż najbardziej popularnym językiem jest JavaScript mający aż 14,33% średniej ze stosunku linii oraz tagów dla danego języka . Na kolejnych miejscach znajdują się kolejno: Java (13,03%) , C# (11,35%), PHP (11,15%) oraz Python (7,71%). Polecamy odwiedzić tą stronę – zawiera ona ogromną ilość języków programowania (nawet LOLCODE ;-)) oraz pozwala w łatwy i czytelny sposób analizę popularności. Warto też zwrócić uwagę iż jest to wykres który podlega ciągłej aktualizacji!
Rys. 6. Wykres na langpop.corger.nl – niestety jako statyczny obrazek nie jest zbyt czytelny! Polecamy zobaczyć wykres na stronie langpop.corger.nl!
;
Rys. 7. Statystyki dla trzech najpopularniejszych języków.
;
Ostatnim źródłem do jakiego odwołamy się w tekście będzie PYPL index ze strony pypl.github.io/PYPL.html. Według tabeli znajdującej się na stronie najbardziej popularnym językiem jest Java, która posiada aż 22,6 % udziałów w ogólnoświatowym wyszukiwaniu informacji na temat tego języka. Na drugim miejscu znajduje się Python – który tak samo jak według danych z poprzednich tabel/stron, jest najszybciej rozwijającym się językiem ostatnich lat. Nie dość, że Python odnotował 3,1% wzrost popularności w stosunku do kwietnia 2016 roku, to jeszcze znajduje się na drugim miejscu z wynikiem 15,1%. Na kolejnych miejscach możemy znaleźć takie języki jak: PHP (9,4%), C# (8,3%) oraz JavaScript (7,8%). Według danych z wykresu przedstawiającego zmianę zainteresowania na przestrzeni pięciu lat najgorzej wypada PHP, który odnotował aż 4,8% straty.
Poniżej znajduje się tabela przedstawiająca popularność języków z kwietnia tego roku, oraz zmianę popularności na przestrzeni ostatnich dwunastu lat:
Rys. 8. Popularność języków programowania według indeksu PYPL w kwietniu 2017 roku.
;
Rys. 9 Wykres, który przedstawia zmiany w ciągu ostatich lat. Wykres jest w skali lagarytmicznej – przykładowo wartość dla Javy to około 25%.
Jak widać popularność danego języka zmienia się w zależności od tego w jaki sposób jest ona badana. Widać jednak, że wśród walki o miano najbardziej popularnego języka programowania wyłaniają się pewni faworyci. Przeglądając dane z wymienionych źródeł można próbować znaleźć pewne trendy w programowaniu – i dzięki nim starać się przewidzieć jak zachowa się rynek w przyszłości. Warto też dodać, że najbardziej popularny nie oznacza, iż dany język jest najlepszy – dobrze widać to również na przykładzie zespołów muzycznych. A co wy sądzicie o popularności danych języków? Czy może lepiej – do jakiego zespołu porównalibyście swój ulubiony język programowania? 🙂
Buczek