Na mailing listi programera Linux jezgra ponovno je pokrenuta rasprava započeta prije šest godina o perspektivama korištenja modernog koda na C++ unutar Linux jezgra, pored trenutne upotrebe jezika C s asmberskim umetcima i promicanja jezika Rust. Izvorno je temu razvoja jezgra na C++ pokrenuo inženjer iz Red Hata 2018. godine, kada je prvog aprila kao šalu objavio set od 45 zakrpa za korištenje predložaka, naslijeđenih klasa i preopterećenja funkcija C++ u kodu jezgra.
S inicijativom za nastavak rasprave istupio je Hans Peter Anvin, jedan od ključnih programera jezgra u tvrtki Intel i tvorac projekata kao što su syslinux, klibc i LANANA, koji je razvio sustav automountinga za Linux jezgro, implementaciju RAID 6, CPUID drajver i x32 ABI. Prema Anvinu, koji je autor brojnih makroa i asm umetaka u jezgru, jezici C i C++ su od 1999. godine značajno napredovali i jezik C++ je postao bolji od C za razvoj operativnih sustava.
Mogućnosti za koje se nedavno moralo oslanjati na specifične GCC ekstenzije sada se lako ostvaruju standardnim C++, a u mnogim slučajevima korištenje C++ omogućava poboljšanje infrastrukture bez globalnih promjena koda. Kao minimalno spominje se korištenje C++14 specifikacije koja uključuje potrebna sredstva za metaprogramiranje, dok se kao poželjna ističe specifikacija C++20 koja uvodi podršku za koncepte koji mogu isključiti pojavu mnogih grešaka.
Anvin smatra da je C++ poželjniji od Rusta, budući da se potonji značajno razlikuje od jezika C po sintaksi, nije uobičajen za trenutne programere jezgra i ne omogućava postupno prepisivanje koda (u slučaju C++, kod se može postupno prevesti s C, budući da se C kod može kompilirati kao C++). U prilog korištenju C++ u jezgru također su se izjasnili Jiri Slaby iz tvrtke SUSE i David Howells iz Red Hata.
Izvor: opennet.ru
