Linuxi tuuma arendajate postitusloendis on taas alustatud kuus aastat tagasi alustatud arutelu kaasaegse C++ koodi kasutamise perspektiivide üle Linuxi tuumas, lisaks praegusele C keele kasutamisele koos assembleri sisestustega ja Rusti keele edendamisele. Algavalt tõstis C++ arenduse teema esmakordselt esile 2018. aastal Red Hatis töötav insener, kes aprillinali raames avaldas 45 patši komplekti, et kasutada malli, pärimise, ja C++ funktsioonide ülekordamist tuumakoodis.
Arutelu jätkamise algatajaks oli Hans Peter Anvin, üks Intel'i tuuma peamistest arendajatest ja selliste projektide looja nagu syslinux, klibc ja LANANA. Tema arendas Linuxi tuuma jaoks automaatse montaažisüsteemi, RAID 6 teostuse, CPUID draiveri ja x32 ABI. Anvini arvates, kes on alates 1999. aastast loonud palju makrosid ja assembleri sisestusi tuumas, on C ja C++ keeled nende arengu jooksul märkimisväärselt edasi läinud ja C++ on nüüd operatsioonisüsteemide tuuma arendamiseks paremini sobiv kui C.
Võimalused, mille jaoks tuli hiljuti kaasata spetsiifilisi GCC-laienemisi, on nüüd hõlpsasti teostatavad standardse C++ abil. Paljudes olukordades võimaldab C++ kasutamine infrastruktuuri parandamist ilma globaalsete koodimuudatusteta. Miinimumina mainitakse C++14 spetsifikatsiooni kasutamist, mis sisaldab vajalikke metaprogrammeerimise vahendeid, ja soovitavana C++20 spetsifikatsiooni, mis toob sisse kontseptsioonide toe, mis suudavad välistada paljusid vigu.
Anvin peab C++ eelistatumaks kui Rust, kuna viimane erineb oluliselt C-keelest, on praegustele tuumaarendajatele harjumatu ja ei võimalda koodi järk-järgult ümber kirjutada (C++ puhul saab C-koodi osade kaupa tõlkida, kuna C-koodi saab kompileerida ka C++-na). C++ kasutamise toetuseks tuumas on samuti rääkinud Jiri Slaby ettevõttest SUSE ja David Howells Red Hatist.
Allikas: opennet.ru
