Wzrost i spadek popularności języków programowania od 2016 roku - i co nam to mówi
Nasze najnowsze szczegółowe badanie analizuje liczby od 2016 do 2024 r., ujawniając fascynujący wgląd w popularność języków programowania oraz wpływ pojawiających się trendów i zmian w branży na preferencje programistów.
Przez ostatnie kilka tygodni omawialiśmy popularność języków programowania tutaj, w ZDNET. Ostatnio zagregowałem dane z dziewięciu różnych rankingów, aby stworzyć indeks popularności języka programowania ZDNET.
Zbierając te statystyki, trafiłem na surowe dane z podobnej ankiety, którą przeprowadziłem w 2016 roku. Chociaż badanie to opierało się na sześciu rankingach zamiast na dziewięciu, z których korzystałem w tym roku, nadal okazało się pouczające w odniesieniu do ogólnej popularności języka w grupach składowych.
Byłem ciekawy. Jak na podstawie danych zmieniła się popularność języków w ciągu ostatnich ośmiu lat? Oczywiście dużą zmianą w naszym krajobrazie komputerowym była sztuczna inteligencja, więc gdzie to pasowało do miksu? Rezultatem jest bardzo ładny diagram.
Ten jeden diagram zawiera wiele informacji. Spróbujmy podzielić to na łatwiejsze do zarządzania części, zaczynając od najpopularniejszych języków.
Najpopularniejsze języki
Python to elegancki język. Jest prosty, ale niezwykle potężny i stał się językiem używanym przez naukowców zajmujących się sztuczną inteligencją i danymi, a także ogólnego tworzenia stron internetowych. Niespodziewanie przesunęło się na pierwsze miejsce.
JavaScript staje się coraz ważniejszy w tworzeniu stron internetowych, zwłaszcza przy tworzeniu dynamicznych dokumentów internetowych. Frameworki takie jak React i Angular również pomogły zwiększyć jego użyteczność i wypchnęły go ponad inne języki.
Konsekwentni wykonawcy
Jeśli istnieją jakieś języki, które ucieleśniają programowanie klasyczne, są to języki oparte na języku C: Java, C++, C# i samo C. Dowodząc, że kodowanie algorytmiczne ma jeszcze dużo życia, języki te pozostały zasadniczo niezmienione.
Jasne, Java spadła o dwie pozycje w naszym indeksie, ale nadal znajduje się w kręgu zwycięzców. Java to solidny, obiektowy język programowania powszechnie używany w aplikacjach dla przedsiębiorstw, a także w programowaniu na Androida. Pomimo konkurencji ze strony innych języków, istnieje ogromna liczba programistów i aplikacji, dzięki którym jest on odpowiedni. Dla tych z Was, którzy nie śledzą zbyt uważnie języków, Java i JavaScript to zupełnie inne bestie.
C++ jest rozszerzeniem starożytnego C, dodającym funkcje obiektowe. Choć język C powstał w 1972 r., język C++ jest wciąż dość stary, ponieważ został wdrożony w 1985 r. Mimo to jest popularny w przypadku skompilowanych aplikacji wrażliwych na wydajność, które wymagają struktury obiektowej.
C# to wersja języka C++ firmy Microsoft, powszechnie używana w aplikacjach i grach systemu Windows. Jest szybki, wydajny i całkowicie zintegrowany z ekosystemem programistycznym Microsoft.
Szczerze mówiąc, jestem trochę zaskoczony długowiecznością C. To powiedziawszy, jest ciasno. Nie zawiera dodatku ciasta i robi dokładnie to, co jest napisane na puszce. Jest dobrze ceniony w niektórych obszarach tworzenia systemów operacyjnych, kompilatorów i systemów wbudowanych.
W przypadku sześciu najpopularniejszych języków jedyne zmiany na przestrzeni ośmiu lat polegały na kilku przetasowaniach stanowisk. Jednak teraz, gdy przejdziemy do języków nieco mniej powszechnie popularnych, widzimy, że zmienność była dość ekstremalna.
Nowi uczestnicy
TypeScript, Rust, Kotlin i Dart nie znajdowały się na naszej liście w 2016 r., ale teraz znajdują się na naszej liście w 2024 r. Wszystkie cztery istniały przed 2016 rokiem (chociaż Rust miał wtedy zaledwie rok), ale teraz obserwuje się większe ich wykorzystanie.
TypeScript to kolejny język stworzony przez firmę Microsoft. Zasadniczo jest to nowoczesny JavaScript, dodający pisanie statyczne. Poprawia to jakość kodu i ułatwia konserwację, zwłaszcza w miarę rozwoju projektów. Jego zdolność do skalowania projektów JavaScript jest prawdopodobnie jednym z czynników prowadzących do jego rosnącej popularności. Innym jest to, że został on włączony do głównych frameworków JavaScript.
Rust jest językiem często używanym w programowaniu systemów. Skupienie się na bezpieczeństwie pamięci bez poświęcania wydajności pomogło przejąć część zadań systemowych z języków C i C++.
Kotlin to w zasadzie Java na sterydach. Kotlin jest w pełni interoperacyjny z Javą, dodając pewne funkcje bezpieczeństwa kodowania, pomagając programistom pisać bardziej zwięzły kod, dodając współprogramy dla kodu asynchronicznego, umożliwiając programistom rozszerzanie klas za pomocą funkcji rozszerzeń i nie tylko. Google wybrał Kotlin jako preferowany język dla Androida, co dało mu mocny impuls.
Dart i Flutter brzmią jak coś z filmu Disneya, ale zamiast tego mówimy o języku i strukturze. Dart, opracowany przez Google, specjalizuje się w tworzeniu mobilnych interfejsów użytkownika, a Flutter pomaga programistom wdrażać je na różnych platformach.
Wschodzące gwiazdy
Z wyjątkiem Go, nasze wschodzące gwiazdy to naprawdę starzy wierni, tylko z nieco większą sprężystością w kroku.
Go to kolejny język ze statycznym typem opracowany przez Google. Zapewnia dość prostą strukturę do budowania skalowalnych, współbieżnych aplikacji. Go stał się popularny w przypadku przetwarzania w chmurze, mikrousług i konteneryzacji.
Ponieważ kilka razy wspominaliśmy o pisaniu statycznym, może powinienem ci to wyjaśnić. Zmienne to kontenery kodujące zawierające zmieniające się wartości. Przypisywane wartości często należą do różnych typów (takich jak liczby całkowite, ciągi znaków, liczby zmiennoprzecinkowe itd.). Często kompilatory i interpretery nie sprawdzają, jaki typ wartości powinien pasować do jakiej zmiennej.
Po wdrożeniu mogą pojawić się problemy, które mogą zostać pominięte podczas programowania. Typowanie statyczne sprawdza zmienne i wartości podczas procesu programowania, co prowadzi do bardziej niezawodnego kodu po wdrożeniu. To byłaby magia, gdyby nie kwestia programowania.
Kilka następnych języków wywołało dyskusję w poprzednich artykułach. Niektórzy programiści twierdzą, że nie są to nawet prawdziwe języki. Uwzględniłem je, ponieważ zostały uwzględnione w ankietach, które zagregowałem. Porozmawiajmy o SQL, HTML i powłoce.
Programiści algorytmiczni (zwłaszcza odmiany C/C++/C#) będą patrzeć na HTML i SQL i potępiać je jako nieprawdziwe języki. Dzieje się tak dlatego, że nie mają typowych funkcji programowania algorytmicznego. Opierają się jednak na składni generującej wynik i, co ważniejsze, są to umiejętności niezbędne do tworzenia aplikacji.
HTML (definiujący strukturę stron internetowych) i CSS (definiujący styl) prawdopodobnie nigdy się nie zestarzeją. A strony internetowe, czy to w formie całych witryn, czy tylko fragmentów wyników, są stawką w przypadku większości nowoczesnych projektów. Dlaczego wzrosły od 2016 roku? Tworzenie stron internetowych pozostaje kluczem do transformacji cyfrowej, dlatego istnieje zapotrzebowanie na umiejętności.
SQL (Structured Query Language) to język służący do pobierania danych z baz danych. W miarę jak dane stają się coraz ważniejsze, rośnie także możliwość ich odzyskania.
Programowanie powłoki, czyli narzędzie do programowania sekwencji programów, istnieje od zarania dziejów. Jest to jedna z cech, która zapewniła UNIXowi, a potem Linuksowi taką moc. Formy programowania powłoki istnieją dla wszystkich głównych systemów operacyjnych, ale to potrzeba coraz większej automatyzacji i orkiestracji w złożonych środowiskach systemowych sprawia, że te stare narzędzia są przydatne i stale się rozwijają.
Języki tracą na popularności
Języki, które tracą na popularności, to PHP, Swift, Ruby i R.
Ponieważ WordPress jest zbudowany w PHP i dużo programuję w WordPressie, dużo programuję w PHP. To nie jest wcale takie zabawne. PHP jest bardzo nieeleganckim językiem, z dziwnymi niespójnościami i wyjątkami. Jest potężny i wydajny, ale brzydki i podatny na niepotrzebne błędy. Popularność spada wraz ze wzrostem popularności Pythona.
Rubin to kolejny język, który miał swój czas na słońcu, ale istnieją lepsze alternatywy. JavaScript, szczególnie w połączeniu z Node.js, Python, Go, TypeScript i Rust, są bardziej elastycznymi, wydajnymi i bezpiecznymi dla kodu alternatywami.
Byłem szczerze zaskoczony, widząc spadek poziomu języka statystycznego R, zwłaszcza że analiza danych wymaga statystyk. Ale faktem jest, że wszystko, co R może zrobić, Python może zrobić lepiej. Czy zaczynasz rozumieć, dlaczego Python jest tak popularny?
Jest też Swift, sztandarowy produkt Apple poświęcony programowaniu na iOS. Czy spadek Swifta oznacza spadek popularności aplikacji na iOS? Nie, naprawdę nie. Tyle, że Swift nie jest już jedyną grą w mieście do tworzenia iOS. Alternatywy obejmują AppCode od JetBrains, Flutter opracowany przez Google, React Native stworzony przez Facebooka oraz potężną platformę do tworzenia gier Unity.
Języki, które wypadły z listy
Ma sens, że Objective-C powinien zniknąć z list przebojów. Było to kiedyś główne środowisko programistyczne dla urządzeń Apple, ale Apple aktywnie zastąpiło je Swiftem. Zasadniczo Objective-C jest przestarzały.
Perl jest niesamowity w tym, co robi, ale jego kod jest tak zwarty, że jest prawie nieczytelny. To również znacznie utrudnia utrzymanie. W miarę jak projekty kodowania stają się coraz większe, łatwość konserwacji staje się ważniejsza niż liczba znaków potrzebnych do napisania wiersza kodu.
Visual Basic i Delphi były kiedyś głównymi językami do tworzenia aplikacji Windows, ale w przypadku niektórych aplikacji zostały zastąpione przez tworzenie aplikacji internetowych i C# w pozostałych przypadkach. Nie zapomniano o nich, ale w większości zniknęły.
Czego używasz?
Jakich języków używasz? Czy któryś z Twoich ulubionych utworów stał się wschodzącą gwiazdą lub spadł z list przebojów? Czy zgadzasz się z moją oceną dotyczącą przyczyn wzrostu lub upadku języków? Czy któryś z wyników Cię zaskoczył? Daj nam znać w komentarzach poniżej.
Możesz śledzić moje codzienne aktualizacje projektu w mediach społecznościowych. Pamiętaj, aby zapisać się do mojego cotygodniowego biuletynu z aktualizacjami i śledzić mnie na Twitterze/X pod adresem @DavidGewirtz, na Facebooku pod adresem Facebook.com/DavidGewirtz, na Instagramie pod adresem Instagram.com/DavidGewirtz i na YouTube pod adresem YouTube.com/DavidGewirtzTV.

