Diskussionen om brugen af C++ til udvikling af Linux-kernen

I mailinglisten for udviklerne af Linux-kernen er diskussionerne om mulighederne for brugen af moderne C++-kode i kernen blevet genoptaget efter seks år, ved siden af den nuværende anvendelse af C med assembly-indlæg og fremme af Rust-sproget. Emnet blev oprindeligt taget op i 2018 af en ingeniør fra Red Hat, der den 1. april som en joke offentliggjorde et sæt på 45 patches til brug af skabeloner, arv af klasser og funktionsoverbelastning i kildeteksten til kernen.

Initiativtageren til genoptagelse af diskussionen er Hans Peter Anvin, en af de centrale udviklere af kernen i Intel og skaber af projekter som syslinux, klibc og LANANA, som har udviklet et automatisk monteringssystem til Linux-kernen, implementeringen af RAID 6, driveren CPUID og x32 ABI. Ifølge Anvin, der er forfatter til adskillige makroer og assembly-indlæg i kernen, er C og C++ sprog, der siden 1999 har gjort betydelige fremskridt, og C++ er blevet bedre end C til udvikling af operativsystemkerner.

Muligheder, som tidligere krævede specifikke GCC-udvidelser, kan nu nemt realiseres med standard C++, og i mange tilfælde vil brugen af C++ forbedre infrastrukturen uden globale ændringer af koden. Minimumsniveauet nævnes som brugen af C++14-specifikationen, som inkluderer de nødvendige metaprogrammeringsværktøjer, mens den ønskede specifikation er C++20, der tilføjer støtte til begreber, som kan forhindre mange fejl.

Anvin mener, at C++ er mere foretrukket end Rust, da sidstnævnte adskiller sig betydeligt fra C på syntaksniveau, hvilket er uvant for de nuværende kerneudviklere, og fordi det ikke tillader en gradvis omskrivning af koden (med C++ kan C-kode oversættes delvist, da C-kode kan kompilere som C++). Derudover har Jiri Slaby fra SUSE og David Howells fra Red Hat også støttet brugen af C++ i kernen.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster