Linuxi tuumade arendajate postitusloendis on taas alustatud kuus aastat tagasi alanud arutelu tĂ€napĂ€evase C++ koodi kasutamise vĂ”imaluste ĂŒle Linuxi tuumas, lisaks hetkel kasutatavale C-keelele koos assemblerikomplektidega ning Rusti keele edendamisele. Alguses tĂ”statas C++-ga tuuma arendamise teema 2018. aastal Red Hati insener, kes aprilli esimesel pĂ€eval naljana avaldas 45 patĆĄit, kus pakuti vĂ€lja mallide kasutamine, pĂ€rilikkus ja funktsioonide ĂŒlekoormamine C++ koodis tuumas.
Arutelu jĂ€tkamise algatuse esitas Hans Peter Anvin, ĂŒks peamisi tuuma arendajaid Intelis ja selliste projektide looja nagu syslinux, klibc ja LANANA, kes on vĂ€lja töötanud Linuxi tuuma automontaaĆŸisĂŒsteemi, RAID 6 teostuse, CPUID draiveri ja x32 ABI. Anvini arvates, kes on paljude makrode ja assemblerikomplektide autor, on C ja C++ keeled alates 1999. aastast mĂ€rkimisvÀÀrselt edasi arenenud ning C++ on muutunud tuuma operatsioonisĂŒsteemide arendamiseks sobivamaks kui C.
VĂ”imalused, mille jaoks oli veel hiljuti vaja kasutada spetsiifilisi GCC laiendusi, on nĂŒĂŒd hĂ”lpsasti teostatavad standardse C++-ga, ning paljudel juhtudel vĂ”imaldab C++-i kasutamine infrastruktuuri parandamist ilma koodi globaalsete muutusteta. Minimaalseks mĂ€rgitakse C++14 spetsifikatsiooni kasutamine, mis sisaldab vajalikke metaprogrammeerimise vahendeid, ja soovitavaks on C++20 spetsifikatsiooni kasutamine, milles on lisandunud kontseptsioonide tugi, mis suudab ennetada paljude vigade tekkimist.
Anvin usub, et C++ on eelistatav Rustist, kuna viimane erineb C keelest sĂŒntaksilt oluliselt, tundub praegustele tuuma arendajatele harjumatu ja ei vĂ”imalda koodi jĂ€rk-jĂ€rgult ĂŒmber kirjutada (C++ keele puhul on C koodi osaline tĂ”lkimine vĂ”imalik, kuna C-koodi saab kompileerida nagu C++). C++ kasutamise toetuseks tuumas on samuti vĂ€lja astunud Jiri Slaby ettevĂ”ttest SUSE ja David Howells Red Hati-st.
Allikas: opennet.ru
