{"id":112909,"date":"2024-01-14T23:28:06","date_gmt":"2024-01-14T21:28:06","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/diskussiya-ob-ispolzovanii-yazyka-c-dlya-razrabotki-yadra-linux"},"modified":"2024-01-14T23:28:06","modified_gmt":"2024-01-14T21:28:06","slug":"diskussiya-ob-ispolzovanii-yazyka-c-dlya-razrabotki-yadra-linux","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/news\/diskussiya-ob-ispolzovanii-yazyka-c-dlya-razrabotki-yadra-linux","title":{"rendered":"Discussione sull'uso del linguaggio C++ per lo sviluppo del kernel Linux","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Nella mailing list degli sviluppatori del kernel Linux \u00e8 ripresa la discussione iniziata sei anni fa sulle prospettive dell'uso del codice moderno in C++ nel kernel Linux, oltre all'attuale utilizzo del linguaggio C con inserimenti in assembler e alla promozione del linguaggio Rust. Inizialmente, il tema dello sviluppo del kernel in C++ \u00e8 stato sollevato nel 2018 da un ingegnere di Red Hat, che per il primo aprile ha pubblicato per scherzo un insieme di 45 patch per l'uso di modelli, classi ereditate e sovraccarico di funzioni C++ nel codice del kernel.      <\/p>\n<p>L'iniziativa di proseguire la discussione \u00e8 stata avanzata da Hans Peter Anvin, uno dei principali sviluppatori del kernel presso Intel e creatore di progetti come syslinux, klibc e LANANA, che ha sviluppato per il kernel Linux un sistema di automontaggio, l'implementazione di RAID 6, il driver CPUID e x32 ABI. Secondo Anvin, autore di numerosi macro e inserimenti in assembler nel kernel, dall'1999 i linguaggi C e C++ hanno fatto notevoli progressi nel loro sviluppo e il linguaggio C++ \u00e8 diventato pi\u00f9 adatto del C allo sviluppo di kernel di sistemi operativi.     <\/p>\n<p>Le funzionalit\u00e0 che in passato richiedevano estensioni GCC specifiche possono ora essere realizzate facilmente con il C++ standard, e in molti casi l'uso del C++ migliorer\u00e0 l'infrastruttura senza modifiche globali al codice. Come minimo si menziona l'uso della specifica C++14, che include gli strumenti necessari per la metaprogrammazione, e come desiderato si fa riferimento all'uso della specifica C++20, che ha introdotto il supporto per i concetti, capaci di eliminare molti errori.     <\/p>\n<p>Anvin ritiene che il C++ sia pi\u00f9 preferibile del Rust, poich\u00e9 quest'ultimo differisce notevolmente dal linguaggio C per sintassi, \u00e8 poco familiare agli attuali sviluppatori del kernel e non consente di riscrivere gradualmente il codice (nel caso del linguaggio C++, il codice C pu\u00f2 essere tradotto parzialmente in C++ poich\u00e9 il codice C pu\u00f2 essere compilato come C++). A sostegno dell'uso del C++ nel kernel si sono espressi anche Jiri Slaby di SUSE e David Howells di Red Hat.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=60436\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u0441\u043f\u0438\u0441\u043a\u0435 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u044f\u0434\u0440\u0430 Linux \u0432\u043e\u0437\u043e\u0431\u043d\u043e\u0432\u0438\u043b\u043e\u0441\u044c \u043d\u0430\u0447\u0430\u0442\u043e\u0435 \u0448\u0435\u0441\u0442\u044c \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434 \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0441\u043f\u0435\u043a\u0442\u0438\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0430 C++ \u0432 \u044f\u0434\u0440\u0435 Linux, \u043f\u043e\u043c\u0438\u043c\u043e \u043d\u044b\u043d\u0435\u0448\u043d\u0435\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u044f\u0437\u044b\u043a\u0430 \u0421\u0438 \u0441 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u043d\u044b\u043c\u0438 \u0432\u0441\u0442\u0430\u0432\u043a\u0430\u043c\u0438 \u0438 \u043f\u0440\u043e\u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f \u044f\u0437\u044b\u043a\u0430 Rust. \u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0442\u0435\u043c\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u044f\u0434\u0440\u0430 \u043d\u0430 C++ \u0431\u044b\u043b\u0430 \u043f\u043e\u0434\u043d\u044f\u0442\u0430 \u0432 2018 \u0433\u043e\u0434\u0443 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u043c \u0438\u0437 Red Hat, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0430\u043f\u0440\u0435\u043b\u044f \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0448\u0443\u0442\u043a\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-112909","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u0441\u043f\u0438\u0441\u043a\u0435 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u044f\u0434\u0440\u0430 Linux \u0432\u043e\u0437\u043e\u0431\u043d\u043e\u0432\u0438\u043b\u043e\u0441\u044c \u043d\u0430\u0447\u0430\u0442\u043e\u0435 \u0448\u0435\u0441\u0442\u044c \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434 \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0441\u043f\u0435\u043a\u0442\u0438\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0430 C++ \u0432 \u044f\u0434\u0440\u0435 Linux, \u043f\u043e\u043c\u0438\u043c\u043e \u043d\u044b\u043d\u0435\u0448\u043d\u0435\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u044f\u0437\u044b\u043a\u0430 \u0421\u0438 \u0441 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u043d\u044b\u043c\u0438.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/news\/diskussiya-ob-ispolzovanii-yazyka-c-dlya-razrabotki-yadra-linux\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0414\u0438\u0441\u043a\u0443\u0441\u0441\u0438\u044f \u043e\u0431 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u044f\u0437\u044b\u043a\u0430 C++ \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u044f\u0434\u0440\u0430 Linux | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u0441\u043f\u0438\u0441\u043a\u0435 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u044f\u0434\u0440\u0430 Linux \u0432\u043e\u0437\u043e\u0431\u043d\u043e\u0432\u0438\u043b\u043e\u0441\u044c \u043d\u0430\u0447\u0430\u0442\u043e\u0435 \u0448\u0435\u0441\u0442\u044c \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434 \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0441\u043f\u0435\u043a\u0442\u0438\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0430 C++ \u0432 \u044f\u0434\u0440\u0435 Linux, \u043f\u043e\u043c\u0438\u043c\u043e \u043d\u044b\u043d\u0435\u0448\u043d\u0435\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u044f\u0437\u044b\u043a\u0430 \u0421\u0438 \u0441 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u043d\u044b\u043c\u0438.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/news\/diskussiya-ob-ispolzovanii-yazyka-c-dlya-razrabotki-yadra-linux\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2024-01-14T21:28:06+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-01-14T21:28:06+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Discussione sull'uso del linguaggio C++ per lo sviluppo del kernel Linux | ProHoster","description":"Nella mailing list degli sviluppatori del kernel Linux \u00e8 ripresa la discussione iniziata sei anni fa sulle prospettive dell'uso del codice moderno in C++ nel kernel Linux, oltre all'attuale utilizzo del linguaggio C con inserimenti in assembler.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/diskussiya-ob-ispolzovanii-yazyka-c-dlya-razrabotki-yadra-linux","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0414\u0438\u0441\u043a\u0443\u0441\u0441\u0438\u044f \u043e\u0431 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u044f\u0437\u044b\u043a\u0430 C++ \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u044f\u0434\u0440\u0430 Linux | ProHoster","og:description":"\u0412 \u0441\u043f\u0438\u0441\u043a\u0435 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u044f\u0434\u0440\u0430 Linux \u0432\u043e\u0437\u043e\u0431\u043d\u043e\u0432\u0438\u043b\u043e\u0441\u044c \u043d\u0430\u0447\u0430\u0442\u043e\u0435 \u0448\u0435\u0441\u0442\u044c \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434 \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0441\u043f\u0435\u043a\u0442\u0438\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0430 C++ \u0432 \u044f\u0434\u0440\u0435 Linux, \u043f\u043e\u043c\u0438\u043c\u043e \u043d\u044b\u043d\u0435\u0448\u043d\u0435\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u044f\u0437\u044b\u043a\u0430 \u0421\u0438 \u0441 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u043d\u044b\u043c\u0438.","og:url":"https:\/\/prohoster.info\/it\/blog\/news\/diskussiya-ob-ispolzovanii-yazyka-c-dlya-razrabotki-yadra-linux","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2024-01-14T21:28:06+00:00","article:modified_time":"2024-01-14T21:28:06+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/112909","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=112909"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/112909\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=112909"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=112909"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=112909"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}