C blev årets programmerings­sprog i 2019

Illustration: Bigstock
C voksede hurtigere end Python i det forgangne år.

Softwareselskabet Tiobe laver hver måned oversigter over, hvilke programmeringssprog der er mest populære, baseret på hvor mange der søger på forskellige begreber på søgetjenester som Google, Bing, Wikipedia og Youtube.

Nu er årets første statistik klar, og samtidig har Tiobe annonceret vinderen af ‘Årets programmeringssprog’ for 2019.

Tiobe skriver at, »alle troede, at Python ville blive årets programmeringssprog for andet år i træk« – men faktisk er det den gamle traver C, som vinder prisen.

Vinderen er det sprog, som er vokset mest i løbet af året. C’s popularitet voksede med 2,4 procent i 2019, lige foran C# med 2,1 procent, Python med 1,4 procent og Swift med +0,6 procent.

Internet of Things driver C-væksten

Tiobe mener, at den vigtigste årsag til, at C er gået så meget frem i 2019, er IoT-trenden (Internet of Things).

Programmeringssproget C er som skabt for de mange små, intelligente IoT-enheder, som lanceres på samlebånd nu, mener Tiobe.

»C udmærker sig, når det bruges på små enheder, hvor ydelsen er kritisk. Det er enkelt at lære, og der findes C-kompilatorer til alle processorer. Tillykke til C!« skriver Tiobe.

Selskabet fremhæver også Swift, som er gået fra en 15.-plads til en 9.-plads, og Ruby, som er gået fra 18.- til 11.-pladsen. De mener, at Swift nu vil have en fast plads på top-10-listen.

Tiobe er overrasket over enkelte programmeringssprog, som det ventedes ville få deres gennembrud i 2019, men som alligevel ikke gjorde det specielt godt.

For eksempel klatrede Rust kun tre pladser op (fra 33.- til 30.-pladsen), mens Kotlin faktisk faldt tre pladser – fra 31.- til 35.-pladsen. Typescript gik også frem med blot én plads – fra 49.- til 48.-pladsen.

Statistikken fra Tiobe skal dog tages med et gran salt, eftersom den jo kun måler, hvad brugere søger efter.

Før jul kom Github med en statistik over, hvilke programmeringssprog som var mest populære på deres platform – og her var resultatet ganske anderledes, med Javascript på toppen og Python på en flot andenplads.

Hele listen fra Tiobe finder du her.

Artiklen er fra digi.no.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Følg forløbet
Kommentarer (30)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
#2 Christian Nobel

Softwareselskabet Tiobe laver hver måned oversigter over, hvilke programmeringssprog der er mest populære, baseret på hvor mange der søger på forskellige begreber på søgetjenester som Google, Bing, Wikipedia og Youtube.

Tænk nu er det sådan at jeg bruger mest søgemaskiner (primært DudkDuckGo, da den er bedst til tekniske søgninger) når jeg står med et problem jeg ikke kan finde ud af.

Dvs. hvis jeg bruger et let forståeligt, struktureret og intuitivt sprog, så har jeg sjældent behov for at søge.

Så i virkeligheden kan man vende konklusionen 180°, nemlig at C er det mest besværlige programmeringssprog der findes, hvorfor der er så mange der er nødt til at søge på internettet for at finde et svar på hvordan man laver selv det mest simple.

  • 4
  • 4
#5 Christian Nobel

Men Standard ML er ÅRTUSINDETS programmeringssprog (begge to, både det forgangne og det indeværende). Om århundrede år vil både C og Pascal være glemt, men navnene Milner, Tofte, Harper, og MacQueen vil dagligt prises i alle programmeringstempler.

Hvorfor?

Som jeg ser det, så skal et programmeringssprog ikke være mere i vejen end nødvendigt, men snarere det omvendte.

I bund og grund så drejer det sig jo om det samme, nemlig hvis dit, så gør dat og beregn dut, bare med lidt forskellig nomenklatur, så imo er det vigtigste at sproget er overskueligt, fri for kryptiskheder, og ikke mindst har en god compiler som tager hånd om alle dummefejlene.

På WIkipedia kan man læse følgende om Standard ML:

It is popular among compiler writers and programming language researchers, as well as in the development of theorem provers.

Altså noget som jeg vil anse for værende esoterisk.

Hvis en håndværker har behov for en boremaskine, så køber han en DeWalt eller hvad han nu foretrækker, han beskæftiger sig ikke med selve produktionen af maskinen og om hvorvidt lejerne under processen er blevet lavet på hin eller denne måde, eller om viklingerne på motoren er blevet velsignet af Milner, Tofte, Harper, eller MacQueen.

  • 6
  • 1
#7 Jonas Høgh

I bund og grund så drejer det sig jo om det samme, nemlig hvis dit, så gør dat og beregn dut, bare med lidt forskellig nomenklatur, så imo er det vigtigste at sproget er overskueligt, fri for kryptiskheder

Prøv at søge på "monad tutorial" på din favoritsøgemaskine, så vil du snart se lyset og blive befriet for dit naive verdenssyn.

Og husk nu, vi er her kun for sjov. Vi ved godt at funktionsprogrammering kun er for akademikere, og at ude i det virkelige liv har rigtige programmører alt for travlt med vigtige opgaver som at checke om ting er Null, eller fortælle deres oversætter flere gange hvilken type en ting har, til at kere sig om den slags

  • 4
  • 1
#9 Christian Nobel

Du skal ikke regne med at forstå det i dette liv. Standard ML er så langt forud for sin tid at ingen nulevende forstår dets storhed (det gælder også både mig og skaberne af Standard ML).

Suk.

Godt du ikke er håndværker, for så ville der nok ikke blive bygget mange huse, men muligvis brugt lang tid på at filosofere over hvordan man kunne skabe den perfekte 7,6 kantede mursten.

  • 2
  • 0
#11 Palle Simonsen

Men Standard ML er ÅRTUSINDETS programmeringssprog

Det tror jeg nu ikke :)

How Lisp Became God's Own Programming Language

John McCarthy (Lisp) og Dennis Ritchie (C) var skaberne af de to programmeringssprogsmodeller som de fleste andre programmeringssprog læner sig op af. Begge sprog har ganske enkle, men meget kraftige konstruktioner og begge sprog er enkle at komme igang med, men mestres helt af få.

Paul Graham:

" It seems to me that there have been two really clean consistent models of programming so far the C model and the Lisp model These two seem points of high ground with swampy lowlands between them As computers have grown more powerful the new languages being developed have been moving steadily toward the Lisp model A popular recipe for new programming languages in the past  years has been to take the C model of computing and add to it piecemeal parts taken from the Lisp model like runtime typing and garbage collection"

  • 1
  • 0
#12 Troels Henriksen

John McCarthy (Lisp) og Dennis Ritchie (C) var skaberne af de to programmeringssprogsmodeller som de fleste andre programmeringssprog læner sig op af.

Standard ML har stort set Lisp's programmeringsmodel (med noget oprydning) og et typesystem. Man kan sige at Lisp er det gamle testamente, og at Standard ML er det det nye testamente. I denne ontologi er f.eks. Pascal noget toiletdørsgraffiti.

  • 3
  • 1
#14 Baldur Norddahl

I bund og grund så drejer det sig jo om det samme, nemlig hvis dit, så gør dat og beregn dut, bare med lidt forskellig nomenklatur, så imo er det vigtigste at sproget er overskueligt, fri for kryptiskheder, og ikke mindst har en god compiler som tager hånd om alle dummefejlene.

Du beskriver imperativ tankegang.

https://da.wikipedia.org/wiki/Programmeringsparadigme

Der er andre måder at programmere på. Måske ikke ligeså populære, men ikke desto mindre, så drejer det sig netop ikke om det samme. Der er forskel på at beskrive hvordan (imperativ) noget skal udføres og beskrive problemet og lade computeren regne det ud (deklarativ).

  • 4
  • 0
#16 Ivo Santos

Det handler vel om at vælge det rigtig værktøj til den pågældende opgave. Hvem bruger f.eks. en 20 kilo muggert til at samle et møbel? En tosse måske, men de fleste vil sikkert bruge en hel alminelig hammer.

Nok er det muligt at lægge en basic oversætter på en chip, som det f.eks. er med en Commodore 64, men, jeg har endnu ikke hørt om en node.js eller andet type oversætter i en chip således at man programmere en operativ system i f.eks. javascript, eller .net, så når det kommer til stykket så er det vel at vælge det rigtig programmeringssprog i forhold til den pågældende opgave.

  • 4
  • 0
#17 Simon Rigét

Det handler vel om at vælge det rigtig værktøj til den pågældende opgave. Hvem bruger f.eks. en 20 kilo muggert til at samle et møbel? En tosse måske, men de fleste vil sikkert bruge en hel alminelig hammer.

Jeg tror desvære du tager fejl, omkring hvad de fleste vil bruge.

For mig ser det ud som om, at rigtig mange, forelsker sig i en hammer, og i bedste fald, vælger opgaver der passer dertil....

  • 1
  • 0
#20 Jarnis Bertelsen

Det er bare ikke sådan verden ser ud når vi taler f.eks. produktion.

Der har man ide til hvad man skal producere, og ud fra det finder man det bedste værktøj.

Jeg tror du har en forsimplet opfattelse af hvordan verden ser ud. Jeg tror der er masser af virksomheder, der udvikler produkter for at få en bedre udnyttelse af deres eksisterende produktionsapperat. Der er også masser af tilfælde, hvor man vælger det værktøj, der ikke kræver at alle medarbejderne sendes på efteruddannelse, selvom det ikke er det optimale værktøj. Og så er der alle de semi-tilfældige valg, der kommer fra en leders personlige preferencer eller inspiration, og bliver en del af virksomhedens DNA (her tænker jeg på, at Facebook er implementeret i PHP, som jeg endnu ikke har hørt nogen sige er det optimale værktøj til formålet).

  • 2
  • 0
#21 Christian Nobel

Jeg tror der er masser af virksomheder, der udvikler produkter for at få en bedre udnyttelse af deres eksisterende produktionsapperat.

Ja, men det er så sandelig da også noget helt andet end at sige: tjuhej jeg køber lige en CNC maskine til adskillige hundredetusinde (om ikke flere millioner), nu skal jeg finde ud af hvad jeg kan bruge den til.

Der er milevid forskel til så at tilbyde det man har ekspertise og udstyr inden for.

Der er også masser af tilfælde, hvor man vælger det værktøj, der ikke kræver at alle medarbejderne sendes på efteruddannelse, selvom det ikke er det optimale værktøj.

Ja da, det er en kynisk beregning - nogen gange kan det da bedre betale sig bare at tage en stiksav, og så få lavet snittet, hvis det er det der skal til.

Og så er der alle de semi-tilfældige valg, der kommer fra en leders personlige preferencer eller inspiration, og bliver en del af virksomhedens DNA

Ja, og det er sådan set heller ikke i modstrid med det jeg har sagt tidligere - der er nogen der synes det er smart at pointe sig selv ned i helvede, og hvis de synes det er sjovt, så dem om det. Jeg synes bare jeg selv kan bruge tiden bedre.

  • 2
  • 1
#22 Morten Bøgh

Bemærk at SQL sproget er off-topic i denne diskussionstråd og i Wikipedia artiklen om paradigmer: https://da.wikipedia.org/wiki/Programmeringsparadigme En tilsvarende engelsk Wikepedia artikel holder sig til nogenlunde samme opdeling. SQL er åbenbart hverken imperativt, funktionelt, objektorienteret eller logikbaseret. En interessant (men tung) artikel som får sagt noget om SQL ud fra dets slægtskab til og forskelle fra objektorienteret: https://en.wikipedia.org/wiki/Object-relational_impedance_mismatch

Det hele siger noget om forskellen på teori og virkelighed: SQL er formentlig det vigtigste programmeringssprog i den del af IT-verdenen der tager sig af at håndtere virkelige ressourcer: Reservationer af lejligheder og biografbilletter, håndtering af penge og ting, fabrikation af biler og skumfiduser, klimaforskning, vindmølleoptimering, nummerpladeskanning… Alle steder hvor der bruges en database, og dermed er brug for et sprog der kan håndtere databasen: Nemlig SQL. Altså kærnesystemerne bag de grafiske brugergrænseflader. Men i ‘den datalogiske verden’ eksisterer SQL åbenbart kun som et irriterende fænomen som giver strukturkonflikter i forhold til objektorienteret programmering. Stort set...

SQL er et diktat-sprog: 'Giv mig saltet', 'Minsk lønnen for rødhårede med 10%'. Det kan således ikke stå alene, men indbages typisk i et sprog som er i stand til at beskrive en sekvens af handlinger og selektioner. Det gør SQL vanskeligt at begribe teoretisk: to sprog der filtres ind i hinanden. Men det fungerer i praksis.

  • 1
  • 3
#23 Baldur Norddahl

SQL er åbenbart hverken imperativt, funktionelt, objektorienteret eller logikbaseret.

SQL er ikke turingkomplet og kan dermed ikke betragtes som et programmeringssprog i sig selv. Det er et "query language" og dem findes der også mange af.

PL SQL er derimod et fuldgyldigt sprog. Altså SQL med stored procedure. Og det er ikke ualmindeligt at udvikle hele programmer i denne variant af SQL. Bankerne bruger det meget.

  • 1
  • 0
#24 Baldur Norddahl

Ja, men det er så sandelig da også noget helt andet end at sige: tjuhej jeg køber lige en CNC maskine til adskillige hundredetusinde (om ikke flere millioner), nu skal jeg finde ud af hvad jeg kan bruge den til.

Det klæ'r dig dårligt at udtale dig som om du ved noget om mig og prisen på min hobby.

Pointen er at det er måden vi lærer på. Hvis en ung studerende lige har lært sig selv Python så leder han efter opgaver der kan løses med Python. Han kaster sig næppe over at skrive en kerne driver.

  • 0
  • 0
#25 Kristian Thy

Jeg tror du har misforstået noget, Morten.

SQL er ikke et general purpose programmeringssprog, det er et domænespecifikt sprog til (algebraisk) databehandling. Og det er primært deklarativt, i øvrigt.

Det er i øvrigt både muligt og helt normalt at tilgå en database uden at bruge SQL. For adgang til traditionelle relationelle databaser er ORM'er som Entity Framework, ActiveRecord, Hibernate eller SQLAlchemy brugt vidt og bredt. Derudover findes både objekt-orienterede, dokument-orienterede og grafdatabaser (fx ZODB, MongoDB og Neo4j) som virker aldeles glimrende helt uden SQL.

  • 1
  • 0
#27 Christian Nobel

Det klæ'r dig dårligt at udtale dig som om du ved noget om mig og prisen på min hobby.

Baldur, det er ikke for at nedgøre din hobby.

Jeg kunne også sagtens, hvis jeg ellers havde råd, kunne finde på at købe en lille CNC maskine for sjov.

Men der er bare milevid forskel fra det, og så til hvordan man angriber sagen hvis man f.eks. har et professionelt maskinværksted.

Så lad være med at tillægge mig motiver jeg ikke har - tak.

  • 1
  • 0
#29 Baldur Norddahl

Baldur, det er ikke for at nedgøre din hobby.

Jeg kunne også sagtens, hvis jeg ellers havde råd, kunne finde på at købe en lille CNC maskine for sjov.

Men der er bare milevid forskel fra det, og så til hvordan man angriber sagen hvis man f.eks. har et professionelt maskinværksted.

Så lad være med at tillægge mig motiver jeg ikke har - tak.

Jeg tillægger dig ingen motiver. Konstatere bare at det shit du skriver om maskiner der koster hundrede tusinder hvis ikke millioner er ren fantasi, og må bunde i en forestilling du har om mig, selvom du slet ikke kender mig.

Du kan købe en billig CNC maskine fra 1000 kr og op. Jeg har ikke et professionelt maskinværksted. Men hvis jeg havde, så ville jeg stadig gøre det samme, det skal jo læres. Ligesom at du ikke kan kaste dig ud at programmere din egen operativsystem kerne som dit første projekt, uanset værdien af det software og hardware, som du måtte have til rådighed.

Hvis vi skal sammenligne med et professionelt værksted, så er de netop begrænset af de maskiner de har. De er nødt til at løse opgaverne på en måde, som er egnet til maskinerne. Og eventuelt lade andre tage de opgaver, som de ikke selv har de bedste maskiner til. Tilsvarende i software, så er det desværre ikke sådan at alle udviklingsteams mestre alle mulige værktøjer. Det er typisk sådan at man er en Microsoft dot net biks, eller en java biks, eller en PHP biks etc og så laves alt med den teknologi.

  • 0
  • 1
#30 Christian Nobel

Jeg tillægger dig ingen motiver. Konstatere bare at det shit du skriver om maskiner der koster hundrede tusinder hvis ikke millioner er ren fantasi, og må bunde i en forestilling du har om mig, selvom du slet ikke kender mig.

Baldur du virker mig en kende paranoid.

Da jeg udtalte mig om CNC maskiner, så var det ud fra betragtninger fra maskinidnustrien, hvor en 5 akset Okuma eller lignende snildt løber op i flere millioner.

Og sådan en maskine køber man altså ikke, med mindre man har et formål og en ide med den, ud fra den ekspertise man har opbygget.

At du begynder at blande din hobby ind i sagen er irrelevant.

Du kan købe en billig CNC maskine fra 1000 kr og op. Jeg har ikke et professionelt maskinværksted. Men hvis jeg havde, så ville jeg stadig gøre det samme, det skal jo læres.

Det er bare to forskellige scenarier.

Ligesom at du ikke kan kaste dig ud at programmere din egen operativsystem kerne som dit første projekt, uanset værdien af det software og hardware, som du måtte have til rådighed.

Og modsiger du så i virkeligheden ikke dig selv lidt her?

Tilsvarende i software, så er det desværre ikke sådan at alle udviklingsteams mestre alle mulige værktøjer. Det er typisk sådan at man er en Microsoft dot net biks, eller en java biks, eller en PHP biks etc og så laves alt med den teknologi.

Nej, og det er jo også lige præcis det jeg siger - jeg tilbyder nogle løsninger ud fra den viden og den ekspertise jeg har (herunder valg af udviklingsværktøj), jeg kunne da aldrig i professionelt regi finde på at sige, tjuhej nu går jeg ud og tilbyder en løsning programmeret i Whitespace eller hvad har vi, som jeg ingen erfaring har med.

Hvis jeg så synes det kunne være sjovt at lære Whitespace i min fritid er en anden sag.

Og lad mig så lige vende tilbage til min indgangskommentar, nemlig at det at et programmeringsspog optræder hyppigt på søgemaskiner behøver ikke være et udtryk for at de er populære, men at folk har mange problemer/udfordringer med dem.

  • 0
  • 0
Log ind eller Opret konto for at kommentere