Przeanalizowano globalne otwarte dane dotyczące ostatnich 12 miesięcy (marzec 2025 – luty 2026), aby zidentyfikować najpopularniejsze języki programowania. Niektóre wyniki tej analizy, obejmującej ponad 1000 języków programowania, przedstawiono w tym artykule oraz w towarzyszącym mu materiale wideo. Ranking przygotowano na podstawie statystyk odsłon artykułów anglojęzycznej edycji Wikipedii, które stanowią użyteczny wskaźnik tego, jakie technologie przyciągają największą uwagę czytelników na całym świecie.
Popularność języków programowania od dawna budzi zainteresowanie w branży oprogramowania. Wiele indeksów próbuje ją zmierzyć. Na przykład TIOBE śledzi zapytania w wyszukiwarkach, PYPL mierzy trendy wyszukiwania tutoriali, a Stack Overflow Developer Survey agreguje deklarowane przez użytkowników użycie. Każde z tych podejść pokazuje pewien aspekt popularności, ale żadne nie przedstawia pełnego obrazu.
Odsłony stron Wikipedii oferują unikalne, publicznie dostępne spojrzenie na to, które języki programowania przyciągają ludzką uwagę. Ranking potwierdza, że uznane języki, takie jak C, Python i JavaScript, nadal dominują, a jednocześnie pokazuje ogromne zainteresowanie nowszymi językami, takimi jak Go, Rust i Zig. Dane ujawniają również zaskakujące wyniki – R wyprzedza JavaScript pod względem liczby odsłon użytkowników, Brainfuck trafia do pierwszej dwudziestki, a Scratch rywalizuje z SQL pod względem liczby czytelników.
Ranking oparty na danych z Wikipedii można łączyć z innymi źródłami danych (gwiazdki GitHub, pytania na Stack Overflow, ogłoszenia o pracę, liczba pobrań pakietów), aby uzyskać bardziej całościowy obraz popularności języków programowania. Każde źródło opisuje inny aspekt „popularności”, a ich połączenie zmniejsza stronniczość wynikającą z polegania na jednym wskaźniku.
Proces zbierania danych
Proces zbierania danych składał się z czterech głównych etapów, zaprojektowanych tak, aby zmaksymalizować zakres danych przy jednoczesnym ograniczeniu „szumu”.
Etap 1: Budowa głównej listy artykułów o językach programowania
Pierwszym krokiem było szerokie przeszukanie Wikipedii w celu znalezienia wszystkich artykułów, które potencjalnie mogą dotyczyć języków programowania. Wykorzystano trzy uzupełniające się źródła:
- Drzewo kategorii Wikipedii: kategoria „Programming languages” oraz wszystkie jej podkategorie (do 5 poziomów w głąb, możliwe do rekurencyjnego przeszukiwania przez API Wikipedii lub zrzuty kopii zapasowych danych). Wykluczono podkategorie zawierające słowa kluczowe takie jak „software”, „companies”, „people”, „tools”, „libraries” i „frameworks”.
- Lista Wikipedii: przeanalizowano wszystkie wewnętrzne linki z artykułu „List of programming languages”.
- Dodatkowe artykuły z listami: linki pobrano także z powiązanych artykułów, takich jak „List of programming languages by type”, „Comparison of programming languages”, „Timeline of programming languages” oraz inne.
Po połączeniu i usunięciu duplikatów z trzech źródeł uzyskano szeroką listę kandydatów obejmującą około 4700 unikalnych artykułów.
Etap 2: Filtrowanie przy użyciu Wikidanych
Lista uzyskana z kategorii Wikipedii nieuchronnie zawiera artykuły o narzędziach, paradygmatach, osobach i koncepcjach — nie tylko o językach. Aby oddzielić faktyczne języki programowania od pozostałych tematów, wykorzystano endpoint SPARQL w Wikidanych, wyszukując wszystkie elementy sklasyfikowane jako instance of (P31) → programming language (Q9143). Dało to zestaw semantycznie potwierdzonych języków programowania wraz z linkami do ich artykułów w angielskiej Wikipedii.
Filtr Wikidanych połączono z heurystyką opartą na tytule: każdy artykuł zawierający w tytule „(programming language)” był również akceptowany. Dodatkowo utrzymywano ręcznie przygotowane listy poprawnych nazw oraz wyjątków, aby obsłużyć przypadki brzegowe — np. artykuły takie jak „PHP” czy „Kotlin”, które Wikidane klasyfikują poprawnie, ale których tytuły nie zawierają standardowego dopisku, oraz artykuły takie jak „Arduino” czy „The C Programming Language” (książka), które należało wyraźnie wykluczyć.
Etap 3: Pobieranie statystyk odsłon
Dla każdego potwierdzonego artykułu o języku programowania pobrano miesięczne statystyki odsłon (dostępne w zrzutach pageviews Wikimedia lub przez API) obejmujące okres od 1 marca 2025 do 28 lutego 2026. Zebrano dwa warianty danych:
- Odsłony tylko od użytkowników (user-agent): bez ruchu generowanego przez boty, crawlery i spiders; reprezentują rzeczywiste zainteresowanie ludzi.
- Odsłony wszystkich agentów (all-agents): obejmują cały ruch, przydatne do oceny ogólnej widoczności.
Ranking jest posortowany według odsłon użytkowników, ponieważ ten wskaźnik lepiej odzwierciedla realną ciekawość i zaangażowanie ludzi.
Etap 4: Zliczanie odsłon przekierowań
Wikipedia posiada rozbudowany system przekierowań (redirects) — alternatywnych tytułów prowadzących do tego samego artykułu. Na przykład artykuł „JavaScript” otrzymuje ruch nie tylko z głównego tytułu, ale także z przekierowań takich jak „Javascript”, „Server-side JavaScript”, „Client-side JavaScript”, „.js” i ponad 60 innych wariantów. Dlatego dla każdego artykułu odnaleziono wszystkie przekierowania i pobrano statystyki odsłon dla każdego z nich osobno. Łączna liczba odsłon dla języka to suma odsłon głównego artykułu i wszystkich jego przekierowań.
25 najpopularniejszych języków programowania
Poniższa tabela przedstawia 25 najpopularniejszych języków programowania według liczby odsłon użytkowników w anglojęzycznej Wikipedii w ciągu 12 miesięcy (marzec 2025 – luty 2026):
| Pozycja | Język | Odsłony użytkowników | Odsłony wszystkie | Przekierowania |
|---|---|---|---|---|
| 1 | C | 2,083,009 | 2,855,254 | 36 |
| 2 | Python | 1,479,541 | 3,866,081 | 50 |
| 3 | R | 957,278 | 1,414,353 | 35 |
| 4 | JavaScript | 795,448 | 1,323,011 | 63 |
| 5 | C++ | 731,432 | 1,144,092 | 53 |
| 6 | Go | 712,260 | 1,059,793 | 23 |
| 7 | Java | 684,366 | 3,923,859 | 32 |
| 8 | Rust | 658,305 | 893,582 | 20 |
| 9 | Scratch | 617,043 | 769,830 | 25 |
| 10 | SQL | 489,426 | 752,198 | 56 |
| 11 | Assembly language | 463,646 | 645,194 | 42 |
| 12 | C# | 379,712 | 579,767 | 46 |
| 13 | Fortran | 359,321 | 516,597 | 43 |
| 14 | COBOL | 354,438 | 473,031 | 45 |
| 15 | PHP | 351,219 | 646,422 | 75 |
| 16 | Bash | 302,585 | 1,134,473 | 43 |
| 17 | Lua | 302,091 | 455,979 | 26 |
| 18 | Lisp | 297,689 | 405,737 | 28 |
| 19 | Brainfuck | 293,792 | 359,125 | 23 |
| 20 | TypeScript | 264,795 | 369,555 | 4 |
| 21 | BASIC | 223,802 | 341,446 | 37 |
| 22 | SNOBOL | 219,464 | 427,549 | 9 |
| 23 | Kotlin | 212,467 | 292,813 | 5 |
| 24 | MATLAB | 210,844 | 328,261 | 17 |
| 25 | Ada | 209,563 | 304,786 | 25 |
Inne popularne języki programowania można znaleźć w filmiku „Top Programming Languages 2025/2026 by Wikipedia Traffic”.
Kilka ciekawych obserwacji:
- Język C zajmuje 1. miejsce pod względem odsłon użytkowników, mimo że Python prowadzi w statystyce wszystkich agentów. Sugeruje to, że artykuł o Pythonie przyciąga znacznie więcej ruchu botów — prawdopodobnie z automatycznych narzędzi i scraperów odwołujących się do dokumentacji.
- Stosunek ruchu botów dla Javy jest bardzo wysoki: 684 tys. odsłon użytkowników wobec prawie 3,9 mln odsłon wszystkich agentów — mnożnik 5,7×, najwyższy w pierwszej dziesiątce. Dominacja Javy w systemach korporacyjnych oznacza, że wiele systemów automatycznych odwołuje się do jej artykułu w Wikipedii.
- Język R na 3. miejscu to pewna niespodzianka — wyprzedza JavaScript oraz C++, co może odzwierciedlać rosnącą popularność języka w data science i środowisku akademickim, gdzie Wikipedia bywa używana jako punkt odniesienia.
- Go i Rust pojawiają się w pierwszej dziesiątce, co może odzwierciedlać rosnące znaczenie nowoczesnych języków programowania systemowego.
- Scratch na 9. miejscu pokazuje ogromny zasięg edukacyjnego programowania.
Wyzwania związane z tworzeniem rankingu
Stworzenie tego zestawienia nie było proste. Trzeba było rozwiązać kilka istotnych problemów.
1. Co właściwie jest „językiem programowania”?
To najbardziej fundamentalne pytanie. Czy CSS jest językiem programowania? A SQL, TeX lub HTML? Czy Bash to język programowania czy powłoka? Czy języki dziedzinowe, takie jak MATLAB lub SAS, są „prawdziwymi” językami programowania? Różne źródła udzielają różnych odpowiedzi.
2. Szum w kategoriach Wikipedii.
Drzewo kategorii „Programming languages” zawiera tysiące artykułów, ale większość z nich nie dotyczy konkretnych języków programowania. W podkategoriach znajdują się artykuły o koncepcjach programistycznych, narzędziach, firmach, znanych programistach czy funkcjach IDE. Początkowe przeszukanie dało około 4700 artykułów, ale tylko około 1050 (ok. 22%) okazało się faktycznymi językami programowania – co wymagało wieloetapowego procesu filtrowania.
3. Wikidane jako klasyfikator.
Jednym z praktycznych rozwiązań było wykorzystanie Wikidanych: jeśli element jest sklasyfikowany jako język programowania (P31 = Q9143), był uwzględniany. Obejmuje to większość przypadków, ale nadal wymagało ręcznej weryfikacji około 100 przypadków brzegowych.
Dodatkową komplikacją jest fakt, że niektóre elementy Wikidanych reprezentujące języki programowania nie są bezpośrednio oznaczone jako „język programowania” (Q9143), lecz należą do bardziej szczegółowych podklas. Na przykład element dla C# nie jest bezpośrednio oznaczony jako język programowania, lecz jako:
- język programowania wieloparadygmatowego (Q12772052),
- język programowania oparty na klasach (Q28922858),
- język programowania wysokiego poziomu (Q211496),
- język programowania ścisłego (Q28923017),
- język programowania sterowanego zdarzeniami (Q28920813),
- język programowania imperatywnego (Q21562092),
- język programowania funkcyjnego (Q3839507),
- język programowania generycznego (Q28923026).
4. Duplikaty i aliasy.
Niektóre języki pojawiają się w Wikipedii praktycznie podwójnie. Na przykład BASIC ma dziesiątki dialektów, takich jak GW-BASIC, Applesoft BASIC czy BBC BASIC, z których każdy ma osobny artykuł. Powstaje pytanie: czy liczyć je osobno, czy włączyć do jednego języka? W tym rankingu oddzielne artykuły Wikipedii liczono osobno, ale wykluczono warianty będące narzędziami lub implementacjami, jak „Turbo Pascal”.
5. Problem wieloznaczności.
Wiele języków programowania ma nazwy będące zwykłymi słowami. „C” to litera, „R” to litera, „Go” to czasownik, „Rust” to proces chemiczny, „Swift” to przymiotnik i ptak, a „Julia” to imię. Wikipedia rozwiązuje to przez dopisek „(programming language)” w tytule artykułu, ale nie wszystkie języki stosują tę konwencję (np. „JavaScript”, „Fortran”, „COBOL”), co utrudnia automatyczne wykrywanie.
6. Złożoność przekierowań.
System przekierowań Wikipedii jest zarówno zaletą, jak i problemem. Niektóre języki mają dziesiątki przekierowań. Na przykład JavaScript ma ich ponad 60, a PHP ponad 75. Każde z nich trzeba osobno sprawdzić pod względem liczby odsłon.
Na przykład artykuł Fortran otrzymuje znaczną część ruchu z przekierowania „FORTRAN” (39 662 odsłony), ponieważ taka była pierwotna pisownia nazwy. Pominięcie takich przekierowań znacząco zaniżyłoby rzeczywistą liczbę czytelników.
7. Zniekształcenie przez ruch botów.
Statystyki all-agents mogą być mylące. Python i Java mają po prawie 4 miliony odsłon, ale znacznie mniej odsłon od realnych użytkowników (odpowiednio 1,5 mln i 684 tys.). Ta różnica to ruch generowany przez boty.
Problem rozwiązano, używając filtra user dostępnego w ramach danych udostępnianych przez Wikimedię (API lub zrzuty), który wyklucza znane boty i roboty indeksujące.