LINUX.ORG.RU

Дискуссия об использовании языка C++ для разработки ядра Linux

 ,


1

5

В списке рассылки разработчиков ядра Linux возобновилось начатое шесть лет назад обсуждение перспектив использования современного кода на C++ в ядре Linux, помимо нынешнего применения языка Си с ассемблерными вставками и продвижения языка Rust. Изначально тема разработки ядра на C++ была поднята в 2018 году инженером из Red Hat, который первого апреля в качестве шутки опубликовал набор из 45 патчей для использования шаблонов, наследуемых классов и перегрузки функций C++ в коде ядра.

С инициативой продолжения обсуждения выступил Ганс Питер Анвин (Hans Peter Anvin), один из ключевых разработчиков ядра в компании Intel и создатель таких проектов как syslinux, klibc и LANANA, разработавший для ядра Linux систему автомонтирования, реализацию RAID 6, драйвер CPUID и x32 ABI. По мнению Анвина, который является автором многочисленных макросов и ассемблерных вставок в ядре, с 1999 года языки C и C++ значительно продвинулись вперёд в своём развитии и язык C++ стал лучше, чем С, подходить для разработки ядра операционных систем.

Возможности, для которых ещё недавно приходилось привлекать специфичные GCC-расширения, теперь легко реализовать на стандартном C++, и во многих случаях использование C++ позволит улучшить инфраструктуру без глобального изменения кода. В качестве минимальной упоминается использование спецификации C++14, которая включает необходимые средства метапрограммирования, а в качестве желаемой - использование спецификации C++20, в которой появилась поддержка концепций, способных исключить появление многих ошибок.

Анвин считает, что C++ более предпочтителен, чем Rust, так как последний существенно отличается от языка С по синтаксису, непривычен для текущих разработчиков ядра и не позволяет постепенно переписывать код (в случае языка С++ можно по частям переводить код с языка C, так как С-код можно компилировать как C++). В поддержку использования С++ в ядре также выступили Иржи Слаби (Jiri Slaby) из компании SUSE и Дэвид Хауэллс (David Howells) из Red Hat.

>>> Подробности

★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от Forum0888

Что в этом плохого?

в run-time

this. Тут тема о плюсах. Метаданные в рантайме в плюсах кто только не изобретал. Но они тут не нужны, т.к. это накладные расходы. Сделай метаданные в compile time, и сообщество это как минимум рассмотрит, а возможно и спасибо скажет. Метаданные в рантайме не пользуются популярностью.

Вместо того, чтобы вести обсуждение, его дурачком называют.

Ну лично я тебя дурачком не называл (хотя местами можно), а только указывал на бессмысленность твоих постов. И я действительно не понимаю их смысла. Как из-за стиля изложения, так и из-за содержимого. Будет адекватная тема - можно что-то обсудить, а по 1С и подобному мне просто нечего сказать.

Ivan_qrt ★★★★★
()
Ответ на: комментарий от Ivan_qrt

Будет адекватная тема - можно что-то обсудить, а по 1С и подобному мне просто нечего сказать.

Всё понятно с вами.
Просьба мои посты не комментировать.

Без обид, из ваших постов очевидно, что вы «не в теме», но «мнение имеете».

Скромнише нужно быть, скромнише.

ЧСВ вреден для разработчиков и весьма!

Forum0888
()
Последнее исправление: Forum0888 (всего исправлений: 2)
Ответ на: комментарий от Forum0888

Просьба мои посты не комментировать.

Отказано (я не имею желания запоминать хотелки анонимов на лоре).

что вы «не в теме», но «мнение имеете».

Это да.

Ivan_qrt ★★★★★
()
Ответ на: комментарий от Ivan_qrt

И я действительно не понимаю их смысла. Как из-за стиля изложения, так и из-за содержимого.

Ты не один такой)

alex1101
()
Ответ на: комментарий от Forum0888

Скромнише нужно быть, скромнише. ЧСВ вреден для разработчиков и весьма!

Лол, ты сам последуй своему совету для начала.

alex1101
()
Ответ на: комментарий от Ivan_qrt

Отказано (я не имею желания запоминать хотелки анонимов на лоре).

Да, аноним.

Это да.

А вот за это РЕСПЕКТ!

Сам то обычно не фанатичен в суждениях и полезную критику, а не переходы на личности приветствую.

Не утверждаю, что разрабатываемое панацея, но форум то для чего?
Обычно не публикую посты по тем вопросам в которых не в теме.

Forum0888
()
Последнее исправление: Forum0888 (всего исправлений: 1)
Ответ на: комментарий от Forum0888

Чуть менее чем ВСЕ твои комменты это какая-то херня не по делу: то «а я вот пишу идеальный код, но вам его не покажу, просто похлопайте какой я классный», то «бог есть, я вам повторяю, бог есть!», то «ой это всё высокоумие», то ещё какой-нибудь ЧСВшный тупизм.

Стоит ли удивляться, что из-за таких вот персонажей всех верующих считают придурками.

Upd: а да, ещё забыл искромётный юмор, предваряемый словом «шутка».

alex1101
()
Последнее исправление: alex1101 (всего исправлений: 1)
Ответ на: комментарий от Forum0888

То что вы частенько поучаете всех

Ну он не всех поучает, а только избранных, тех кто доказал что достоин.

и ярлыки вешаете, это как?

Это нормально. Категоризация - стандартная человеческая практика и единственный доступный людям способ осмысления мира. Проблемы с этим возникают только у тех, для кого ярлыки становятся догмами и кто не может их пересмотреть в случае необходимости.

Ivan_qrt ★★★★★
()
Ответ на: комментарий от Ivan_qrt

Ну он не всех поучает, а только избранных, тех кто доказал что достоин.

Понятно.
Великий УЧИТЕЛЬ!

Скажу вам по секрету.
ЛОР, это пристанище ИЗБРАННЫХ.

Forum0888
()
Последнее исправление: Forum0888 (всего исправлений: 1)
Ответ на: комментарий от Ivan_qrt

Вот, поэтому лучше нам не быть «УЧИТЕЛЯМИ» и вести дружеский диалог.
Профита больше будет.
А кидаться постоянно какашками это - ЧСВ.

Forum0888
()
Ответ на: комментарий от Forum0888

Категоризация - единственный доступный людям способ осмысления, т.к. ресурсы мозга конечны.

Это не просто нормально, так делают буквально все и со всеми. А вот самообман - это так себе занятие.

Ivan_qrt ★★★★★
()
Ответ на: комментарий от alex1101

«а я вот пишу идеальный код, но вам его не покажу, просто похлопайте какой я классный»

Вообщем-то акцент постов больше к обсуждению, но если в посте не
говорить о разработках, то тогда больше похоже на «диванного теоретика».

Соглашусь лишь с тем, что на ЛОР эта тема никому не интересна.
Это очевидно и пожалуй профита от этих постов НИКАКОГО.

В приоритете обсуждение стандартов C++ и всё вокруг них.

Что касаемо исходников, то в ЛОР все дураки: Линус, Вирт, ...
Это не правило, а АКСИОМА!

Forum0888
()
Последнее исправление: Forum0888 (всего исправлений: 4)
Ответ на: комментарий от Ivan_qrt

А вот самообман - это так себе занятие.

Здесь с вами согласен, но ведь разрабатываемое API весьма эффективно.
Так что самообмана, нет.
Самообман это, когда реальной разработки нет и лишь фантазии «диванного теоретика».
Ничего не знаю о ваших разработках и не сужу о них ...

Шутка

ВЕЛИКИЙ УЧИТЕЛЬ, то и дело «избранного» уму разуму учит.
Никак не уймётся.

Forum0888
()
Последнее исправление: Forum0888 (всего исправлений: 1)
Ответ на: комментарий от Forum0888

ВЕЛИКИЙ УЧИТЕЛЬ, то и дело «избранного» уму разуму учит. Никак не уймётся.

Думаешь зря? Ученик безнадёжно необучаем, да?

Ivan_qrt ★★★★★
()
Ответ на: комментарий от Ivan_qrt

Думаешь зря? Ученик безнадёжно необучаем, да?

Вообщем то по хорошему нужно благодарить его за посты.
Проблема в том, что многие часто переходят на личности и в добавок «пофилософствовать» о ЧСВ.

А всё ведь просто.
Адекватный не будет в диалогах переходить на личности.

Проблема здесь вовсе не в «обучаемости» и люди часто через какое-то время меняют свой характер к лучшему.
Как-то так.

Что касаемо постов о C++, то посты скорее о разработке.
В целом C+++ РЕСПЕКТ!

Forum0888
()
Последнее исправление: Forum0888 (всего исправлений: 1)
Ответ на: комментарий от Ivan_qrt

Sorry, но на это суждение обязан ответить.

Так да. В великой нужде появляются Великие Учителя.

ПО ВЕЛИКОЙ НУЖДЕ!

Forum0888
()
Последнее исправление: Forum0888 (всего исправлений: 1)
Ответ на: комментарий от arkhnchul

Даже если предупреждаешь, всё равно потом лет пять «вспоминают».
Ты ж говорил, ...

Sorry, настроение хорошее.

Обязательно в этому году начну разработку API для использования баз знаний.
Неплохое core для этого уже есть!

Forum0888
()
Последнее исправление: Forum0888 (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.