Der er i hvert fald mere end 200 programmeringssprog, som kitter vores globale digitale systemer sammen.
Mange af dem er overbygninger og udviklinger, som trækker tråde næsten 70 år tilbage i tiden.
Programmering er altså et sandt babelstårn af forskellige digitale tungemål, hvilket kan gøre det svært at arbejde sammen og understøtte hinanden.
Uden sprogene og eksperterne, som kan bruge dem, vedligeholde dem og forstår dem, ville vores digitale infrastruktur, systemer og økonomi falde fuldstændig fra hinanden.
Det er nemlig ikke sådan lige at springe mellem sprog eller sprogstammer, og de kan have hver deres logik, muligheder og overbygning, ja, sågar slang. Og så kan ét sprog ikke bare sådan erstattes med et andet. Nogle er store, globale, andre næppe større end færøsk. Men de skal bruges, hvis ikke systemer skal kollapse.
Tre sprog sidder på to tredjedele af markedet
I princippet kan man sige, at JavaScript/Typescript, Python og Java p.t. er at sammenligne med engelsk, kinesisk og spansk. Nemlig de tre største sprogområder. En undersøgelse af DevJobScanner viser, at i forhold til jobopslag i 2023, som specifikt efterspørger udviklere med et særligt programmeringssprog, så udgør de tre samlet godt to tredjedele af efterspørgslen.
Helt grønne er de dog ikke, hvis man vil have energivenligheden med, som et portugisisk forskerhold har testet, så er det kun Java af de tre, som ligger i toppen af de grønne programmeringssprog.
Dansk supermagt
Danmark har i øvrigt en helt unik rolle, når det handler om at udvikle store og populære programmeringssprog. På det område er vi en stormagt, ja, næsten en supermagt. Således har fire blandt de ti p.t. mest brugte sprog en dansk hånd med i spillet, når det handler om udvikling.
Det gælder:
Nummer 1:
Typescript – Anders Hejlsberg
Nummer 4:
C# – Anders Hejlsberg
Nummer 5:
C++ (ikke C) – Bjarne Stroustrup
Nummer 6:
PHP – Rasmus Lerdorf
Nummer 7:
Ruby on Rails – David Heinemeier
Dertil kommer en lang række andre tidligere populære eller væsentlige sprog, som også har danskere som drivkraft.
Kvinde var første programmør
Programmeringssprog er altså en hel videnskab og en eksplosivt forgrenet sprogstamme, som faktisk kan skrives helt tilbage til en kvinde, nemlig Ada Lovelace (1815-1852). Ada Lovelace stod bag 'Analysemaskinen' sammen med Charles Babbage, som opererede ud fra de samme principper, som vi i dag programmerer computere efter.
Ada Lovelace forudså også, at maskinerne i fremtiden ville kunne bruges til mere end at udregne tal med.
Herunder blandt andet til at komponere musik, og hun beskrev samtidig overvejelser om fremkomsten af kunstig intelligens.
PROSAbladet vil i kommende udgaver sætte fokus på programmeringssprog, deres betydning, kunnen og udvikling. Herunder dykke ned i de følelser og udfordringer, som omgærder enkelte sprog.
Temaserie om programmeringssprog
Vi starter dog i dette nummer af PROSAbladet med at liste de mest populære og grønne programmeringssprog op og ved at interviewe Peter Ussing, tidligere PROSA-formand og stadig aktiv programmør, it-arkitekt og -nørd gennem mere end 50 år, om hans forhold til programmeringssprog og det særlige ved udviklingen. Peter Ussing har også bidraget med viden og hjælp til indholdet af denne artikel.
I perioden januar 2022 til maj 2023 har DevJobScanner analyseret med end 14 millioner jobopslag, som søgte webudviklere og it-folk til kode. Herunder specifikt kigget på, om der var særlige krav til, at ansøgeren skulle kunne arbejde med bestemte programmeringssprog.
Samlet set repræsenterer de tre første programmeringssprog på listen godt to tredjedele af alle jobslag. Et sprog som Scala på tiendepladsen har således blot 0,45 procent, svarende til at 13.700 jobopslag specifikt nævner Scala. Et andet sprog som COBOL på 21.-pladsen er nede på 2.500 jobopslag, eller blot 0,06 procent af stillingerne.
Undersøgelsen fra DevJobScanner har ført til nedenstående liste over de mest efterspurgte programmeringssprog i øjeblikket:
1. JavaScript/Typescript (916.000 opslag eller næsten 30 procent af alle stillinger, som specifikt nævner et sprog)
2. Python (næsten 20 procent)
3. Java (næsten 18 procent)
4. C# (godt 9 procent)
5. PHP (godt 9 procent)
6. C/C++
7. Ruby
8. Go
9. SQL
10. Scala
1950erne:
- Fortran - matematiske beregninger
- Algol-60 - algoritmisk sprog, blandt andet anvendt af Regnecentralen,
- Cobol - Common Business Oriented Language, programmering af forretnings applikationer,
- Lisp - AI
1960erne:
- APL: named after the bookA Programming Language, fortolket sprog,
- Basic, Beginners' All-purpose Symbolic Instruction Code. fortolket sprog,
- COBOL-68, ANS-COBOL, standardisering af COBOL sproget
- MATLAB, matematisk programmering,
- Pascal. udbygning af Algol sproget:
- PL/1, sprog udviklet af IBM, til både tekniske og kommercielle applikationer,
- Simula-67, objektorienteret sprog,
1970erne:
- C sproget, systemprogrammering,
- Fortran-77, videreudvikling og standardisering af Fortran sproget
- Modula-2, videre udvikling af PASCAL sproget,
- Prolog, AI sprog,
- SQL, Structure Query Language, sprog til maniulation af relational database,
1980erne:
- Borland Turbo Pascal, videre udvikling af Pascal sproget med understøttelse af objektorienterede funktioner, Anders Hejlsberg
- C++, objektorienteret version af "C" sproget,
- COBOL-85 struktureret version af COBOL
- Eiffel. objektorienteret, nedarvning,
- HTML, design af websider,
- Objective C, objektorienteret , baseret på C, primært brugt af Apple
- Perl, fortolket scriptsprog,
1990erne:
- Borland Delphi, baseret på Turbo Pascal, Anders Hejlsberg,
- PHP, Rasmus Lerdorf,
- Phyton,
- Java, objektorienteret sprog med funktionalitet som C++, fortolket,
- Javascript, frontend webbrugergrænseflader,
- R language, statistik,
2000erne:
- C#, baseret på C/C++/Java, Anders Hejlsberg,
- GO language,
- Scala, videreudvikling af Java, objektorienteret med understøttelse af funktionel programmering,
- Ruby, baseret på mange sprog,
2010erne:
- Kotlin, baseret på Java,
- Rust,
- Swift, Objective C videre udvikling, Apple,
- Typescript, udvikling af Javascript,
2020erne:
- ikke nogen der er blevet populære endnu - men det kommer
Det er faktisk undersøgt, hvilke af de mest brugte programmeringssprog der er mest klimavenlige eller mest grønne, om man vil.
Et hold af portugisiske forskere fremlagde i 2017 en undersøgelse (Energy Efficiency across Programming Languages) af området på en konference, og tallene er siden opdateret til 2021-tal.
Af abstractet af deres forskning fremgår det oversat til dansk, at: “Vi præsenterer en undersøgelse af kørselstid, hukommelsesforbrug og energiforbrug for 27 velkendte softwaresprog. Vi overvåger ydelsen af sprogene ved hjælp af ti forskellige programmeringsproblemer, udtrykt på hvert af sprogene. Vores resultater viser interessante opdagelser, såsom langsommere/hurtigere sprog, der bruger mindre/mere energi, og hvordan hukommelsesforbrug påvirker energiforbruget”.
Undersøgelsen kommer blandt andet frem til, at når det handler om en samlet beregning af tid, energiforbrug og hukommelse, så er C, Pascal, Go, Rust, C++ , Fortran, Ada og Java de mest grønne programmeringssprog i den nævnte rækkefølge.
I forskellige kombinationer i undersøgelsen topper C, C++, Go og Java som mest klimavenlige.
JavaScript, Typescript og Python, som ellers topper listen over de mest brugte programmeringssprog i 2023 (DevJobScanner), kommer et pænt stykke efter, når det handler om klimavenlighed. JavaScript skal bruge fire gange mere energi end C og dobbelt så meget energi som Java. Python er blandt de mindst energieffektive af de 27 undersøgte programmeringssprog.