C++ в ядре Linux?

Для многих новичков это может стать сюрпризом, но ядро Linux написано на C, и это не просто пассивное предпочтение - Linux активно выступает за C и против C++. И так было всегда.

Си был лучшим выбором для системного языка программирования еще тогда, когда Линус Торвальдс начал работу над Linux. С тех пор было высказано предположение, что позволить C эволюционировать в C++ - это очевидный путь. Энтузиазм к C++ в то время рос, и он до сих пор достаточно велик, несмотря на опасения некоторых программистов. Один программист, в частности, всегда был очень высокого мнения о C++, и этот программист очень важен - Линус. Цитируя самого человека:

C++ - ужасный язык. Он становится еще ужаснее от того, что его использует множество некачественных программистов, так что с его помощью гораздо проще создавать полное и абсолютное дерьмо. Честно говоря, даже если бы выбор языка C не приводил ни к чему, кроме как к тому, что программисты на C++ не будут работать, это само по себе было бы огромной причиной использовать C.

Это было в 2007 году, но я сомневаюсь, что он изменил свое мнение.

Если вы используете C++ и с энтузиазмом относитесь к нему, то вы, вероятно, все еще чувствуете себя оскорбленным его замечаниями, но в наше время Rust и других более безопасных языков они еще более реалистичны.

Все это осталось бы в прошлом, если бы не сообщение в списке рассылки, которое вновь открыло банку с червями. Новый аргумент, похоже, заключается в том, что C++ в 2024 году - это не тот ужас, на который жалуется Линус:

И C, и C++ получили большое развитие с 1999 года, и C++, по моему личному мнению, наконец-то "повзрослел" и стал лучшим C для встраиваемого программирования, которое олицетворяет ядро ОС. Я говорю это как автор очень большого количества макросов и встроенных ассемблерных хаков в ядре.

Лично я с этим не согласен. С++ - это еще худший бардак, чем когда-либо был. C - не самый безопасный язык, но его ошибки обычно легко заметить. В целом ошибки в C не глубоки. С другой стороны, C++ можно использовать так, что это не поддается осмыслению. На мой взгляд, C++ не столько "вырос", сколько оброс усилиями по расширению и исправлению его проблем.

Именно поэтому нам нужен Rust или что-то очень похожее на него. Конечно, есть попытки разрешить использование Rust в ядре, и это вполне может быть причиной того, что C++ снова поднял голову - если вы собираетесь пустить Rust, то пустите и C++. Это очень разные предложения.

C++ в ядре Linux?
Понравилась новость? Тогда не забудь оставить свой комментарий.
А так же, добавь наш сайт в закладки (нажми Ctrl+D), не теряй нас.
15 января 2024 г.
137
Теги: Linux , C++

Комментарии

Оставить комментарий:
* отправляя форму, я даю согласие на обработку персональных данных

Читайте еще

Продолжаем добавлять языки программирования для Вас.
Впереди много интересного!

Только свежие новости программирования и технологий каждый день.