I oktober tog Python över förstaplatsen på Tiobe-indexets lista över de 50 mest populära programmeringsspråken. Men är den här typen av index något att bry sig om? ”De är en bra start”, svarar KTH-professorn Benoit Baudry.
Tiobe-index
Tiobe-index mäter antalet professionella utvecklare, kurser och tredjepartsagenter ett språk har, genom att i 25 sökmotorer mäta antal träffar på sökningen +”<language> programming”.
För att finnas med på listan måste ett språk finnas på Wikipedia, vara Turingkomplett och få minst 5 000 träffar i sökningen.
För ett knappt år sedan tog Python över andraplatsen i Hollandsbaserade IT-företaget Tiobes index över de mest populära språken (se artikel från november 2020) och nu har språket alltså klivit upp ytterligare en placering.
Tiobes vd Paul Jansen förklarar populariteten med att Python är lätt att lära sig, har mängder av bibliotek och används inom väldigt många områden.
Flera andra språk har stärkt sin ställning enligt indexet, som Fortran, som gått från plats 37 till 18, Assembly (från plats 17 till 10) och Classic Visual Basic (från plats 19 till 11). (se tabell längst ner i artikeln)
I Tiobes graf ser man hur ratingen för Java (ljusgrön) haft en nedåtgående trend sedan 2002, att C (svart) haft en liknande utveckling och hur Python (blå) stigit ur mängden under de senaste åren. De tre språken ligger nu väldigt nära varandra och Pythons blå linje syns inte bakom de andra.
Men kurvorna säger inte allt. När Python passerade Java förra året lyfte en artikel på nyhetstjänsten Zdnet fram att Java, enligt en rapport från Oracle som förvaltar språket, används av 69 procent av världens professionella utvecklare.
Baseras på öppen källkod
Så vad betyder den här typen av index? Vi frågade Benoit Baudry, professor i mjukvaruutveckling på KTH.
Säger indexen något om vilka språk som är viktiga just nu?
– De är en bra start för att få svar på det. De är konsekventa och utgår från tydliga metoder. Men det är viktigt att komma ihåg att de till största delen baseras på öppen källkod. Det täcker in en stor del av dagens mjukvara, men inte all.
Han tar Cobol som ett exempel, som används mycket i banker och försäkringsbolag, och inte fångas in fullt ut i indexen, liksom system i många företag och myndigheter, som ofta använder C#.
Om man vill ha vägledning i vilka språk man borde lära sig, tipsar Benoit Baudry om två webbsajter som han tycker är bra:
De tar upp både vilka språk som är heta, vilka som anses vara ”state of the art” och i vilka typer av projekt de används.
För det viktigaste, påpekar han, är ju att ta reda på vad som används inom det område man själv jobbar eller vill jobba.
– Inom spelutveckling är C++ troligen viktigast. Om du är mer inne på dataanalys och maskininlärning så är Python nödvändigt. Och Java och C# är extremt populära inom IT-system och för backendprogrammering (servernivå) i företagen, medan Javascript är språket för utveckling av frontend (användargränssnitt) i alla former.
Vilka språk tycker du själv är viktigast?
– För mig som forskare i mjukvaruutveckling är Java väldigt viktigt, eftersom det är relevant för många olika sektorer. Det används av tiotusentals utvecklare och det är tekniskt starkt vilket gör Java-utveckling pålitligt och användbart, säger Benoit Baudry.
Men han lyfter också fram att han är väldigt intresserad av Webassembly.
– Det är ett nytt språk som växer snabbt och har fått stort genomslag på webben.
Här är Tiobe-index för oktober 2021. Och nedanför det visas indexen för Tiobe, IEEE Spectrum och RedMonk tillsammans:
Placering | Språk | Andel | Förändring senaste året (%-enheter) |
1 | Python | 11.27% | 0 |
2 | C | 11.16% | -5,79 |
3 | Java | 10.46% | -2,11 |
4 | C++ | 7.50% | +0.57 |
5 | C# | 5.26% | +1.10 |
6 | Visual Basic | 5.24% | +1.27 |
7 | JavaScript | 2.19% | +0.05 |
8 | SQL | 2.17% | +0.61 |
9 | PHP | 2.10% | +0.01 |
10 | Assembly language | 2.06% | +0.99 |
11 | Classic Visual Basic | 1.83% | +1.06 |
12 | Go | 1.28% | +0.13 |
13 | MATLAB | 1.20% | +0.08 |
14 | R | 1.20% | -0.79 |
15 | Groovy | 1.18% | -0.05 |
16 | Ruby | 1.12% | -0.05 |
17 | Swift | 1.11% | +0.02 |
18 | Fortran | 1.08% | +0.70 |
19 | Perl | 0.93% | -0.49 |
20 | Delphi/Object Pascal | 0.93% | +0.22 |
21 | SAS | 0.87% | (inte angivet efter plats 20) |
22 | (Visual) FoxPro | 0.80% | |
23 | COBOL | 0.71% | |
24 | Scratch | 0.69% | |
25 | Prolog | 0.62% | |
26 | Rust | 0.53% | |
27 | PL/SQL | 0.52% | |
28 | Julia | 0.52% | |
29 | Objective-C | 0.45% | |
30 | Scala | 0.42% | |
31 | Ada | 0.42% | |
32 | Lua | 0.40% | |
33 | Clojure | 0.39% | |
34 | ABAP | 0.39% | |
35 | Haskell | 0.39% | |
36 | VBScript | 0.38% | |
37 | VHDL | 0.38% | |
38 | Kotlin | 0.38% | |
39 | Lisp | 0.37% | |
40 | Dart | 0.33% | |
41 | Logo | 0.28% | |
42 | PowerShell | 0.27% | |
43 | Apex | 0.26% | |
44 | D | 0.26% | |
45 | Transact-SQL | 0.26% | |
46 | TypeScript | 0.25% | |
47 | Scheme | 0.23% | |
48 | Ladder Logic | 0.22% | |
49 | Tcl | 0.20% | |
50 | Elixir | 0.19% |
Källa: Tiobe.com/tiobe-index/
Här är listorna för de tre indexen Tiobe, IEEE Spectrum och RedMonk, och länkarna till dem, där det också går att läsa mer:
- Tiobe.com/tiobe-index/
- Spectrum.ieee.org/top-programming-languages/
- Redmonk.com/sogrady/2021/08/05/language-rankings-6-21/
Tiobe | IEEE Spectrum | RedMonk | |||
Plats | Språk | Plats | Språk | Plats | Språk |
1 | Python | 1 | Python | 1 | JavaScript |
2 | C | 2 | Java | 2 | Python |
3 | Java | 3 | C | 2 | Java |
4 | C++ | 4 | C++ | 4 | PHP |
5 | C# | 5 | JavaScript | 5 | CSS |
6 | Visual Basic | 6 | C# | 5 | C++ |
7 | JavaScript | 7 | R | 5 | C# |
8 | SQL | 8 | Go | 8 | TypeScript |
9 | PHP | 9 | HTML | 9 | Ruby |
10 | Assembly language | 10 | Swift | 10 | C |
11 | Classic Visual Basic | 11 | Arduino | 11 | Swift |
12 | Go | 12 | Matlab | 12 | R |
13 | MATLAB | 13 | PHP | 13 | Objective-C |
14 | R | 14 | Dart | 14 | Shell |
15 | Groovy | 15 | SQL | 14 | Scala |
16 | Ruby | 16 | Ruby | 16 | Go |
17 | Swift | 17 | Rust | 17 | PowerShell |
18 | Fortran | 18 | Assembly | 18 | Kotlin |
19 | Perl | 19 | Kotlin | 19 | Rust |
20 | Delphi/Object Pascal | 20 | Julia | 20 | Dart |
21 | SAS | 21 | Scala | ||
22 | (Visual) FoxPro | 22 | Visual Basic | ||
23 | COBOL | 23 | Shell | ||
24 | Scratch | 24 | Processing | ||
25 | Prolog | 25 | Fortran | ||
26 | Rust | 26 | Objective-C | ||
27 | PL/SQL | 27 | Lua | ||
28 | Julia | 28 | Cuda | ||
29 | Objective-C | 29 | Verilog | ||
30 | Scala | 30 | SAS | ||
31 | Ada | 31 | Ada | ||
32 | Lua | 32 | VHDL | ||
33 | Clojure | 33 | Delphi | ||
34 | ABAP | 34 | Scheme | ||
35 | Haskell | 35 | Perl | ||
36 | VBScript | 36 | D | ||
37 | VHDL | 37 | LabView | ||
38 | Kotlin | 38 | Haskell | ||
39 | Lisp | 39 | Cojure | ||
40 | Dart | 40 | Lisp | ||
41 | Logo | 41 | Elixir | ||
42 | PowerShell | 42 | TCL | ||
43 | Apex | 43 | Apache Groovy | ||
44 | D | 44 | F# | ||
45 | Transact-SQL | 45 | Cobol | ||
46 | TypeScript | 46 | ABAP | ||
47 | Scheme | 47 | Erlang | ||
48 | Ladder Logic | 48 | Forth | ||
49 | Tcl | 49 | Prolog | ||
50 | Elixir | 50 | LadderLogic | ||
51 | J | ||||
52 | Ocalm | ||||
53 | CoffeeScript | ||||
54 | Eiffel | ||||
55 | Racket |