A la llista de correu dels desenvolupadors del nucli Linux S'ha reprès la discussió sobre les perspectives d'utilitzar codi C++ modern al nucli, que va començar fa sis anys. Linux, a més de l'ús actual del llenguatge C amb injeccions d'assemblador i la promoció del llenguatge Rust. El tema del desenvolupament del nucli en C++ va ser plantejat inicialment el 2018 per un enginyer de Red Hat, que, com a broma, va publicar un conjunt de 45 pegats l'1 d'abril per a l'ús de plantilles, classes heretades i sobrecàrrega de funcions C++ al codi del nucli.
La iniciativa per continuar la discussió va ser presentada per Hans Peter Anvin, un dels principals desenvolupadors del nucli a Intel i el creador de projectes com syslinux, klikc i LANANA, que va desenvolupar per al nucli. Linux El sistema de muntatge automàtic, la implementació de RAID 6, el controlador CPUID i l'ABI x32. Segons Unwin, autor de nombroses macros i codi assemblador del nucli, els llenguatges C i C++ han fet progressos significatius des del 1999, cosa que converteix C++ en un llenguatge millor que C per al desenvolupament del nucli del sistema operatiu.
Les funcions que abans requerien extensions específiques de GCC ara es poden implementar fàcilment en C++ estàndard i, en molts casos, l'ús de C++ millorarà la infraestructura sense canviar completament el codi. El mínim és l'ús de l'especificació C++14, que inclou les eines de metaprogramació necessàries, i el desitjat és l'ús de l'especificació C++20, que va introduir suport per a conceptes que poden eliminar l'aparició de molts errors.
Unwin creu que C++ és més preferible que Rust, ja que aquest últim difereix significativament del llenguatge C en la sintaxi, és inusual per als desenvolupadors actuals del nucli i no permet la reescriptura gradual del codi (en el cas del llenguatge C++, es pot traduir). el codi del llenguatge C en parts, així com es pot compilar el codi C com a C++). Jiri Slaby de SUSE i David Howells de Red Hat també van donar suport a l'ús de C++ al nucli.
Font: opennet.ru
