W czym programować w 2020? Najpopularniejsze języki programowania - raport
Friday, 06 December 2019
Wzorem lat ubiegłych ponownie zebraliśmy najważniejsze informacje dotyczące popularności języków programowania z corocznych raportów publikowanych przez Stack Overflow, RedMonk , GitHub i TIOBE oraz dodatkowo tegoroczne podsumowanie wzbogaciliśmy o informacje z PYPL. Wszystkie te raporty stanowią bardzo dobre źródło wiedzy na temat trendów oraz zmian w popularności poszczególnych języków programowania na świecie. Dane z tych raportów niewątpliwie mogą być wskazówką, którą z technologii programistycznych warto się zainteresować w 2020 roku.
Spis treści:
- Raport Stack Overflow
- Raport RedMonk
- Statystyki GitHub
- Indeks Tiobe
- PYPL Language Index
- Podsumowanie
Raport Stack Overflow
Począwszy od 2011 Stack Overflow corocznie prosi deweloperów z całego świata o podzielenie się informacjami na temat danych demograficznych, ulubionych technologii, nawyków programowania, miejsca pracy i doświadczeń w poszukiwaniu pracy, jak również tego w jaki sposób uczą się i dzielą wiedzą oraz podnoszą swoje kompetencje. Tegoroczny raport opublikowany przez Stack Overflow jest wynikiem analizy ankiet wypełnionych przez blisko 90 tysiące deweloperów z całego świata. Jest to drugi wynik w historii. W 2018 padł rekord, gdzie ankiety wypełniło blisko 100 tysięcy programistów.
Najważniejsze wnioski wyciągnięte przez Stack Overflow na podstawie ankiet w 2019 roku:
- Python jest najszybciej rozwijającym się językiem programowania spośród tych najczęściej używanych. Po raz kolejny zaliczył on wzrost popularności w szeregach języków programowania, przeskakując w tym roku Javę i stając się drugim najszybciej zdobywającym popularność językiem (za Rust).
- Ponad połowa respondentów napisała swój pierwszy wiersz kodu, kiedy miała mniej niż szesnaście lat. Chociaż przy dokładniejszej analizie danych to doświadczenie różni się w zależności od kraju i płci.
- Specjaliści DevOps i inżynierowie SR (Site Reliability) należą do najlepiej zarabiających, najbardziej doświadczonych programistów, najbardziej zadowolonych ze swoich zadań i najrzadziej szukających nowych miejsc pracy.
- Spośród krajów objętych badaniem Chiny mają najbardziej optymistycznych programistów wierzących, że ludzie urodzeni dzisiaj będą mieli lepsze życie niż ich rodzice. Deweloperzy w krajach Europy Zachodniej, takich jak Francja i Niemcy, należą do najmniej optymistycznych co do przyszłości.
- Wskazując czynniki blokujące wydajność programiści zgłaszają różne wyzwania w zależności od grup, do których należą, np. mężczyźni częściej twierdzą, że wykonywanie zadań niezwiązanych z wytwarzaniem kodu stanowi dla nich problem. Natomiast respondenci będący mniejszościami seksualnymi częściej twierdzą, że problemem jest toksyczne środowisko pracy.
Najbardziej popularne technologie - języki programowania, języki skryptowe i języki znaczników
Siódmy rok z rzędu JavaScript jest najczęściej używanym językiem programowania, jednak Python ponownie poprawia swoją pozycję w rankingu, pokonując w tym roku język Java, podobnie jak w latach ubiegłych C# i PHP. Python jest obecnie najszybciej zdobywającym popularność językiem programowania spośród tych najczęściej używanych.
Najpopularniejsze frameworki, biblioteki i narzędzia wg. Stack Overflow
Po raz pierwszy w tym roku Stack Overflow w swojej ankiecie zapytał o tak wiele technologii w tej kategorii. Uzyskane odpowiedzi pokazują, że Node.js był najczęściej używanym frameworkiem w 2019 roku. Więcej programistów twierdzi, że korzysta z .NET niż .NET Core, a framework dedykowany do implementacji deep learnig - TensorFlow jest wielokrotnie bardziej popularny niż Torch / PyTorch.
Najczęściej stosowane bazy danych wg. Stack Overflow
Podobnie jak w 2018 roku, MySQL jest wskazana jako najczęściej używana baza danych. PostgreSQL zajął w tym roku drugie miejsce, wyprzedzając Microsoft SQL Server.
Najbardziej pożądane języki wśród programistów
Czwarty rok z rzędu Rust jest najbardziej pożądanym językiem programowania wśród respondentów ankiety Stack Overflow, a zaraz za nim znajduje się Python będąc najszybciej zdobywającym popularność językiem programowania spośród tych najczęściej stosowanych. Oznacza to, że proporcjonalnie więcej programistów chce kontynuować pracę właśnie z Pythonem i Rustem niż z pozostałymi językami.
Dla odmiany VBA i Objective-C są uznane w tym roku za najbardziej „znienawidzone”, co oznacza, że wysoki odsetek programistów, którzy obecnie korzystają z tych technologii, nie wyraża zainteresowania kontynuowaniem pracy z nimi w przyszłości.
Wśród dalszych prezentowanych analiz możemy odnaleźć:
- najbardziej ulubione i pożądane przez programistów web frameworki: React.js, Vue.js, Express, Spring, ASP .NET
- najbardziej ulubione i pożądane przez programistów bazy danych: Redis, PostgreSQL, ELasticsearch, Firebase, MongoDB, MariaDB
- najbardziej ulubione i pożądane przez programistów platformy: Linux, Docker, Kubernetes, Raspberry Pi, AWS, MacOS, iOS, Google Cloud Platform, Microsoft Azure
- najbardziej popularne środowiska programistyczne: Visual Studio Code, Visual Studio, Notepad++
Zobacz pełny rapost Stack Overflow 2019
Raport RedMonk
RedMonk w swoim rankingu stosuje korelację danych pozyskiwanych z Stack Overflow oraz platformy GitHub. W przypadku danych z GitHub do statystyk są brane dane z GitHub Archive i „prośby o udostępnienie”. W przypadku danych z Stack Overflow, Red Monk wykorzystuje surowe dane publikowane przez Stack Overflow i ich narzędzie do eksportu danych, nakładając na nie swoje metryki.
RedMonk publikuje swoje analizy w postaci cyklicznych raportów (dwa razy do roku) wraz z opisem aktualnie stosowanej metody zbierania i korelacji danych. Obecnie najbardziej aktualny raport został opublikowany w czerwcu 2019. Obecni liderzy popularności w kategorii „języki programowania” według RedMonk to:
RedMonk jednocześnie zwraca uwagę na wyraźnie rosnące zainteresowanie takimi jezykami jak:
- TypeScript
- R
- Swift
- Kotlin
- Rust
- Julia.
Statystyki GitHub
GitHub bezpośrednio również prezentuje na bieżąco statystyki aktywności projektów w danym języku programowania. Patrząc na aktualne statystyki widzimy dużą aktywność projektów pisanych w Go, Swift, TypeScript, Rust i Kotlin.
TIOBE
TIOBE utrzymuje popularny indeks języków programowania od 2001 roku. Podobniej jak 2018 nadal wykorzystuje 25 wyszukiwarek, które monitorują wiele kanałów informacyjnych i tablic ogłoszeń o pracę w poszukiwaniu najnowszych trendów w branży programistycznej. Szczegółowe informacje na temat mechanizmów wyszukiwania stosowanych przez TIOBE można znaleźć tutaj. Lista najbardziej popularnych języków programowania według TIOBE na listopad 2019:
Pierwsze 10 miejsc popularności według TIOBE zajmują języki:
Coraz wyżej w statystykach pojawia się także Python.
PYPL Language Index
Index PYPL PopularitY of Programming Language jest tworzony w oparciu o analizę ilości wyszukiwania samouczków danego języka programowania w wyszukiwarce Google. Im częściej przeszukiwany jest dany samouczek dla danego języka, tym bardziej popularny jest język według indeksu PYPL. Surowe dane pochodzą z Google Trends.
Pierwsze 10 miejsc popularności według PYPL zajmują języki:
Prym dzierży bezapelacyjnie Python, którego popularność zwiększyła się najbardziej - w przeciągu 5 ostatnich lat urosła o 19%.
Zachęcamy też do zapoznania się z animacją pokazująca zmiany popularności języków programowania według PYPL 2004 do 2019:
Podsumowanie
Podobnie jak w 2018, analizy Stack Overflow, RedMonk i TIOBE oraz dodana przez nas w tym roku PYPL Language Index pokazują, że pomimo tworzenia rankingów przez każdą z tych inicjatyw za pomocą różnych metod Top 6 języków programowania w roku 2019 jest praktycznie identyczny jak w 2016 , 2017 i 2018 - różnice występują tylko na pojedynczych pozycjach, które dany język zajmuje. Trend, który można zaobserwować jako utrzymujący się od kilku lat to przesuwanie się w górę Python’a. Czołówka prezentuje się następująco:
Top 6 języków programowania w 2019:
- JavaScript
- Python ↑
- Java ↓
- C#
- PHP
- C++
Jak co roku możemy też wskazać języki które nie mają może jeszcze dużych udziałów w rynku, ale generują duże zainteresowanie wśród obecnych programistów jak i osób dopiero myślących o karierze zawodowej związanej z programowaniem. W tym roku niewątpliwie w tej kategorii należy wskazać: Kotlin, Rust, Swift, R, TypeScript.
Zachęcamy również wszystkich zawodowo związanych z wytwarzaniem kodu, projektowaniem, testowaniem aplikacji, prowadzeniem projektów programistycznych do zdobywania umiejętności z zakresu zwinnych metodyk zarządzania projektami takich jak SCRUM, Kanban oraz stosowania w praktyce filozofii zarządzania DevOps stawiającej na współpracę administratorów i programistów. Czy bardziej szczegółowo do wdrożenia sposobu pracy CI/CD (Continuous Integration/Continuous Delivery) czyli osiągnięcia spójnego i zautomatyzowanego sposobu budowania i testowania aplikacji mającego wpływ na możliwość wprowadzanie częstszych zmian w kodzie i w konsekwencji na dostarczanie lepszej jakości oprogramowania.
2019 to też kolejny rok z rzędu, w którym szczególnie podkreśla się znaczenie bezpieczeństwa w wytwarzanym oprogramowaniu. To właśnie umiejętności tworzenia bezpiecznego kodu stają się bezwzględnym wymogiem charakteryzującym dobrego programistę. Umiejętności programistyczne bez zachowania standardów, dobrych praktyk i zasad gwarantujących bezpieczeństwo wytwarzanego kodu w dzisiejszych czasach są niewystarczające. Dlatego szkolenia i kursy dedykowane programistom, testerom czy architektom oprogramowania, a dotyczące ściśle bezpieczeństwa wytwarzanego oprogramowania są bardzo ważne, np.: C#, C/C++, Java, PHP, Python, Web, Cloud