Discuție despre utilizarea limbajului C++ pentru dezvoltarea nucleului Linux.

Pe lista de discuții a dezvoltatorilor nucleului Linux, a fost reluată discuția începută acum șase ani privind perspectivele utilizării codului modern în C++ în nucleul Linux, pe lângă utilizarea actuală a limbajului C cu inserții de asamblare și promovarea limbajului Rust. Inițial, tema dezvoltării nucleului în C++ a fost ridicată în 2018 de un inginer de la Red Hat, care pe întâi aprilie, ca o glumă, a publicat un set de 45 de patch-uri pentru utilizarea template-urilor, claselor moștenite și suprascrierii funcțiilor C++ în codul nucleului.

Inițiativa de a continua discuția a fost luată de Hans Peter Anvin, unul dintre dezvoltatorii cheie ai nucleului la Intel și creator al proiectelor precum syslinux, klibc și LANANA, care a dezvoltat pentru nucleul Linux un sistem de automontare, implementarea RAID 6, driverul CPUID și x32 ABI. Potrivit lui Anvin, care este autorul numeroaselor macro-uri și inserții de asamblare în nucleu, din 1999, limbajele C și C++ au avansat semnificativ în dezvoltarea lor, iar limbajul C++ a devenit mai potrivit decât C pentru dezvoltarea nucleelor de sisteme de operare.

Capacitățile pentru care cu puțin timp în urmă era necesară utilizarea extensiilor specifice GCC sunt acum ușor de implementat în standardul C++, iar în multe cazuri utilizarea C++ va îmbunătăți infrastructura fără a necesita modificări globale ale codului. Ca minim este menționată utilizarea specificației C++14, care include instrumentele necesare de metaprogramare, iar ca dorință este utilizarea specificației C++20, care a adus suport pentru concepte capabile să elimine multe erori.

Anvin consideră că C++ este mai preferabil decât Rust, deoarece acesta din urmă diferă semnificativ de limbajul C din punct de vedere al sintaxei, este neobișnuit pentru actualii dezvoltatori ai nucleului și nu permite o rescriere treptată a codului (în cazul limbajului C++, codul în C poate fi tradus treptat, deoarece codul C poate fi compilat ca C++). În favoarea utilizării C++ în nucleu s-au pronunțat de asemenea Jiri Slaby de la SUSE și David Howells de la Red Hat.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster