Heftig udvikler-debat: Performer C++ virkelig bedst?

En intern Google-test af programmeringssprogs performance skaber stor udvikler-debat. C++ har markant bedre performance end Java, er konklusionen. Men er det rigtigt?

Artikel top billede

Hvilket programmeringssprog er "det bedste"?
Det er en diskussion, som udviklere kan bruge lang tid på.

Ligesom diskussionen om hvilket programmeringssprog, der er det mest populære (der er ikke nødvendigvis en sammenhæng mellem bedst og mest populær).

Men hvordan vurderes hvilket programmeringssprog, der er "bedst"?

Hvilket sprog er bedst til at implementere en algoritme?

En Google-ansat, Robert Hundt, gjorde et forsøg ved at prøve at måle hvilket programmeringssprog, der giver den bedste performance ved implementering af en veldefineret algoritme.

I rapporten "Loop Recognition in C++/Java/Go/Scala" (pdf) sammenlignes performance for implementeringen af en Loop Recognition-algoritme i de fire programmeringssprog C++, Java, Go og Scala.

Den oprindelige test byggede på implementering af algoritmen uden speciel optimering af koden.
 
Efter rapportens forfatter, Robert Hundt, publicerede resultaterne fra testen internt i Google, gik udviklere hos Google i gang med at optimere implementeringen i de enkelte sprog.

C++ er langt det bedste

Efter optimeringen af programmerne i de fire programmeringssprog, er der ingen tvivl i Google-rapportens forfatters sind:

C++ vinder performance-mæssigt.
 
"Med hensyn til performance, så vinder C++ med en stor margin. Det krævede dog også den mest intensive tuning-indsats, hvoraf mange blev udført på et sofistikeringsniveau, som ikke ville være tilgængelige for den gennemsnitlige programmør," hedder det i rapporten.

Java-program ikke optimeret i samme grad som C++

Rapporten blev lagt ud på nettet, og nørd-sitet Slashdot fik øje på den, hvorefter en heftig debat blandt Slashdot-læsere udfoldede sig.

Var C++ virkelig så meget bedre end Java?
 
Formentlig ikke.

Der var nemlig forskel på hvor meget optimering, der blev foretaget af algoritmeimplementeringen i de enkelte sprog.
 
Google-udvikleren Jeremy Manson stod for Java-optimeringen, og på sin blog tager han afstand fra rapportens konklusion.
 
Jeremy Manson påpeger, at han kun gjorde nogle enkelte ting ved Java-koden og ikke optimerede den helt.
 
Afhænger af programmørens kendskab til sproget
Samtidig var den oprindelige implementering i Java skrevet af Robert Hundt, der er nybegynder i Java, mens han har godt kendskab til C++.

Derfor var der fra starten stor forskel på kvaliteten og dermed performance af algoritme-implementeringen i de to sprog.
 
Det ses blandt andet af valg af datastruktur, der har stor indflydelse på, om en algoritme-implementering performer godt eller dårligt. Den slags valg afhænger af udviklerens kendskab og erfaring med programmeringssproget og ikke mindst de tilhørende libraries.

"Ud over de collections-relaterede fixes jeg lavede (som beskrevet i rapporten), benyttede testen sig også af en HashMap(Type, Integer), hvor det blot skulle have gemt en primitiv int som Type; den benyttede også en LinkedList, hvor det burde have været en ArrayDeque," skriver Jeremy Manson blandt andet.

Jeremy Manson mener, at testens konklusion ikke bør være, at "Java er langsomt, men at man kan skrive dårlig kode i ethvert sprog (med undskyldninger til Robert, som er en af de smarteste fyre, men han er ikke Java-programmør)."

Skaden er sket

Den slags forbehold er dog ikke hvad, der bliver rapporteret på diverse it-sites. Som datalogi-professoren Sebastiano Vigna skriver i en kommentar til Jeremy Mansons blog:

"Men hvad, der er slemt - rigtigt, rigtigt slemt - er, at nettet er oversvømmet med it-blogs og -sites, som siger, at 'C++ er klar vinder i Google-sprogtest'.

Det er latterligt. Det er ikke Google, som lavede testen, det er en enkelt Google-ansat. Og testen er meget fejlbehæftet. Og konklusionen er forkert."

Trods kritikken bør du læse rapporten og Jeremy Mansons blog, hvis du er udvikler. Der er masser af guldkorn af hente, når du får hele sammenhængen.

Læs også eventuelt Slashdot-kommentarerne. Der er også et par guldkorn og som altid god nørd-humor.

Læses lige nu
    Computerworld Events

    Vi samler hvert år mere end 6.000 deltagere på mere end 70 events for it-professionelle.

    Ekspertindsigt – Lyt til førende specialister og virksomheder, der deler viden om den nyeste teknologi og de bedste løsninger.
    Netværk – Mød beslutningstagere, kolleger og samarbejdspartnere på tværs af brancher.
    Praktisk viden – Få konkrete cases, værktøjer og inspiration, som du kan tage direkte med hjem i organisationen.
    Aktuelle tendenser – Bliv opdateret på de vigtigste dagsordener inden for cloud, sikkerhed, data, AI og digital forretning.

    Infrastruktur | Horsens

    Enterprise Architecture Day 2026: Sikker og strategisk suverænitet

    Få ny inspiration til arbejdet med EA – fra sikkerhed og compliance til orkestrering, omkostningsoptimering og cloud governance i en usikker og ustabil tid.

    Sikkerhed | Aarhus C

    Executive roundtable: Cyberrobusthed i praksis

    Cyberangreb rammer driften. NIS2 og DORA kræver dokumenteret gendannelse under pres. Få konkret metode til at teste, måle og bevise robusthed på tværs af cloud, SaaS og leverandører. Deltag i lukket roundtable med Commvault og Hitachi.

    Digital transformation | København Ø

    Sådan etablerer du digital suverænitet

    Digital suverænitet afgør kontrol over data, systemer og afhængigheder i Danmark. Computerworld samler Dansk Erhverv og IBM-eksperter om konkrete arkitekturvalg, governance og platforme, der sikrer reel kontrol. Få overblik og handlekraft.

    Se alle vores events inden for it

    AL Sydbank A/S (tidligere Arbejdernes Landsbank)

    Afdelingsdirektør for Digital Enablement

    Københavnsområdet

    BEC Financial Technologies

    Business analyst (senior)

    Region Sjælland

    SOS International

    Azure System Specialist – Team Lead

    Københavnsområdet

    Navnenyt fra it-Danmark

    Adeno K/S har pr. 2. februar 2026 ansat Kia Harding Martinussen som ServiceNow Expert. Hun kommer fra en stilling som Principal Consultant hos Devoteam A/S. Nyt job
    inciro K/S har pr. 1. februar 2026 ansat Lasse Fletcher som Cloud Consultant. Han skal især beskæftige sig med Governance og struktur i cloud miljøer. Han kommer fra en stilling som IT Tekniker hos CBrain A/S. Han er uddannet datatekniker med speciale i infrastruktur. Han har tidligere beskæftiget sig med kunde onboarding, Identitets styring, sikkerhed og IaC. Nyt job

    Lasse Fletcher

    inciro K/S

    Sourcing IT har pr. 2. februar 2026 ansat Susanne Sønderskov som Salgsdirektør. Hun skal især beskæftige sig med at styrke Sourcing IT’s kommercielle fundament, skalere salgsindsatsen og øge tilstedeværelsen bl.a. hos jyske kunder. Hun kommer fra en stilling som Salgsdirektør hos Right People Group ApS. Hun har tidligere beskæftiget sig med salgsledelse inden for IT-freelanceleverancer og komplekse kundeaftaler, både privat og offentligt. Nyt job

    Susanne Sønderskov

    Sourcing IT

    Markus Dalsgaard Sisseck, Business Developer hos Martinsen Rådgivning & Revision, har pr. 21. januar 2026 fuldført uddannelsen Master i it, linjen i organisation på Aalborg Universitet via It-vest-samarbejdet. Færdiggjort uddannelse

    Markus Dalsgaard Sisseck

    Martinsen Rådgivning & Revision