The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Дискуссия об использовании языка C++ для разработки ядра Linux, opennews (??), 14-Янв-24, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


128. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +1 +/
Сообщение от Вы забыли заполнить поле Name (?), 15-Янв-24, 02:57 
> Анвин считает, что C++ более предпочтителен, чем Rust, так как последний существенно отличается от языка С по синтаксису, непривычен для текущих разработчиков ядра и не позволяет постепенно переписывать код (в случае языка С++ можно по частям переводить код с языка C, так как С-код можно компилировать как C++). В поддержку использования С++ в ядре также выступили Иржи Слаби (Jiri Slaby) из компании SUSE и Дэвид Хауэллс (David Howells) из Red Hat.

Round 2... Fight!

Как бы в отчасти правда, но и ложь тоже. Пустив С++ в ядро им надо будет рядом гайдлайнов накатать какие фичи использовать, а какие нет. Хотя вон гугл в хромиуме вроде смог. Но оно вам надо?

Ответить | Правка | Наверх | Cообщить модератору

153. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +1 +/
Сообщение от Аноним (115), 15-Янв-24, 05:07 
Гайдлайны, внезапно, в ядре и для Си есть. Уровень обсуждений далёких от разработки людей.
Ответить | Правка | Наверх | Cообщить модератору

306. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +1 +/
Сообщение от Вы забыли заполнить поле Name (?), 15-Янв-24, 14:36 
Для с++ они увеличатся на порядок из-за возможных фич языка
Ответить | Правка | Наверх | Cообщить модератору

328. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +1 +/
Сообщение от Аноним (293), 15-Янв-24, 15:35 
Пусть определятся, какие фичи в ядре допустимы. По тем и пишут.
Ответить | Правка | Наверх | Cообщить модератору

356. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  –2 +/
Сообщение от Аноним (115), 15-Янв-24, 17:56 
Если на десятичный порядок, то конечно же нет, добавятся пару новых страничек
Ответить | Правка | К родителю #306 | Наверх | Cообщить модератору

425. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +4 +/
Сообщение от Вы забыли заполнить поле Name (?), 15-Янв-24, 22:35 
> Если на десятичный порядок, то конечно же нет, добавятся пару новых страничек

Вот дока по стилю С в ядре https://www.kernel.org/doc/html/v4.10/process/coding-style.html - в печати 21 страница А4

Вот для примера С++ https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines - в печати 679 страниц!

С++ гугла https://google.github.io/styleguide/cppguide.html - 89 страниц.

Chromium
https://chromium.googlesource.com/chromium/src/+/refs/heads/...
https://chromium.googlesource.com/chromium/src/+/refs/heads/...
https://chromium.googlesource.com/chromium/src/+/refs/heads/... - вот тут 50 страниц

Qt
https://wiki.qt.io/Coding_Conventions
https://wiki.qt.io/Qt_Coding_Style
https://doc.qt.io/qt-6/best-practices.html

Лень все расписывать, но видно невооруженным взглядом, что там явно не "пару новых страничек"

Ответить | Правка | Наверх | Cообщить модератору

436. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  –2 +/
Сообщение от Аноним (341), 15-Янв-24, 23:29 
> Вот дока по стилю С в ядре

"Табы это 8 пробелов..."

> Вот для примера С++

"Нас не волнует низкоуровневые вещи вроде отступов, а ещё мы предлагаем вам библиотеку."

> Qt

*Что-то не тянущее на 21 страницу*

Ответить | Правка | Наверх | Cообщить модератору

443. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +1 +/
Сообщение от Вы забыли заполнить поле Name (?), 15-Янв-24, 23:50 
>> Вот дока по стилю С в ядре
> "Табы это 8 пробелов..."
>> Вот для примера С++
> "Нас не волнует низкоуровневые вещи вроде отступов, а ещё мы предлагаем вам
> библиотеку."

Мой оригинальный комментарий https://www.opennet.ru/openforum/vsluhforumID3/132575.html#128 содержит слово guideline. Если https://www.kernel.org/doc/html/v4.10/process/coding-style.html мешает понятия code style и guideline, то я не виноват. Для примера гугл также делает. Смотри тогда с ним.

Но я говорил именно про гайдлайн и для плюсов там сильно больше надо будет писать. Хотя бы имея ввиду сколько всего добавляется в новых стандартах. Для примера можешь посмотреть доку хромиумуа по ссылке выше.  


Ответить | Правка | Наверх | Cообщить модератору

437. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +1 +/
Сообщение от Аноним (115), 15-Янв-24, 23:32 
Мозг вообще пробовал хоть немного подключать, когда писал всю эту чушь?

Дока в ядре касается практически только оформления кода (CS), когда как документ от Страуструпа на кучу страниц небольшой учебник по c++ для двигающихся горизонтально. И если даже его нормально распечатаешь, а не как ты через бразуер с гигантским шрифтом, то не будет 700 страниц. 21 страница ядерного CS читается за пару минут потому что там на самом деле не 21 страница, по такой же причине.

В гугловом CS много филовского п-жа с рационализайией, его не обязательно читать чтобы понять что от тебя нужно. CS в хроиуме и Qt как раз несколько страничные и, как в случае с ядерным CS, читаются за пару минут. Могу ещё подкинуть данные, например, по Яндексовому CS - тоже 2-3 страницы на 2-3 минуты чтения. Итого, какие выводы...

1. Типичные плюсовые CS на несколько страниц и на максимум 5 минут чтения

2. Объём CS выбирает проект и если тебе удалось найти неадекватов вроде гугла, то из этого не следует, что все CS по плюсам будут такими. Пытаешься натягивать единичный пример на все, когда даже твоя подборка показывает обратное.

Ответить | Правка | К родителю #425 | Наверх | Cообщить модератору

438. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +/
Сообщение от Аноним (115), 15-Янв-24, 23:33 
^  Так и не понял куда приклеился ответ, он был анониму с ссылками
Ответить | Правка | Наверх | Cообщить модератору

441. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +/
Сообщение от Вы забыли заполнить поле Name (?), 15-Янв-24, 23:45 
>[оверквотинг удален]
> горизонтально. И если даже его нормально распечатаешь, а не как ты
> через бразуер с гигантским шрифтом, то не будет 700 страниц. 21
> страница ядерного CS читается за пару минут потому что там на
> самом деле не 21 страница, по такой же причине.
> В гугловом CS много филовского п-жа с рационализайией, его не обязательно читать
> чтобы понять что от тебя нужно. CS в хроиуме и Qt
> как раз несколько страничные и, как в случае с ядерным CS,
> читаются за пару минут. Могу ещё подкинуть данные, например, по Яндексовому
> CS - тоже 2-3 страницы на 2-3 минуты чтения. Итого, какие
> выводы...

Ну ты к Яндексовому стилю не забудь прикрепить гайдлайн по использованию кода из аркадии взамену стд, если он, конечно, есть.

> 1. Типичные плюсовые CS на несколько страниц и на максимум 5 минут
> чтения

Помимо CS есть guideline. Я писал именно про guideline, а не про правила расстановки пробелов и скобок.

> 2. Объём CS выбирает проект и если тебе удалось найти неадекватов вроде
> гугла, то из этого не следует, что все CS по плюсам
> будут такими. Пытаешься натягивать единичный пример на все, когда даже твоя
> подборка показывает обратное.

У гугла как раз норм описано. Просто другие это не описывают, а потом вынужден на кодревью править "вот это мы не используем", "так мы не делаем". Конкретно, в хромиуме, одну и ту же вещь можно сделать по разному, используя как std так и тамошний base. Можно, конечно, жить с херовой вики (как в Я) и пинать всех на ревью, а можно нормально описать.

Ответить | Правка | К родителю #437 | Наверх | Cообщить модератору

466. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +/
Сообщение от Аноним (115), 16-Янв-24, 02:03 
> Ну ты к Яндексовому стилю не забудь прикрепить гайдлайн по использованию кода из аркадии взамену стд, если он, конечно, есть.

Нет гайдлайна, раньше туда тупых не брали. Сейчас пытаешься приклеить документацию по внутреннему устройству проектов к CS по плюсам. Всё же давай начнёшь включать мозг, а?

> Помимо CS есть guideline. Я писал именно про guideline, а не про правила расстановки пробелов и скобок.

У Страуструпа на кучу страниц развёрнутый guideline, а всё остальное это в основном CS. Ну да, к Qt ещё приклеил документацию до внутреннему дизайну либ, вроде как у них устроены координатные сетки - вот это прямо таки самые настоящие СS и guideline-ы по С++ для Qt. Начни всё же включать мозг, если, конечно, он есть.

> У гугла как раз норм описано. Просто другие это не описывают, а потом вынужден на кодревью править "вот это мы не используем", "так мы не делаем"...

Чтобы рассказать как "мы (не) делаем" нужно просто рассказать "мы (не) делаем", а не тратить 80% от CS на трёп с размышлениями каким образом гугл докатился до такого CS-а. Ты же на ревью хочешь чтобы клиент просто затнулся и сделал как принято, а не рассуждал на тему верно это или нет? Потому у гугла CS построен неверно, его только спасает выделение рассуждений в визуально отдельный блок и опытный читатель может его пропускать. Тем более рационализация гугла во многих местах смехотворна, лучше бы просто написали ~ заткись и делай как тут показано.

> Можно, конечно, жить с херовой вики (как в Я) и пинать всех на ревью, а можно нормально описать.

Рассказываешь сказки с несуществующими проблемами. Таких проблем нет даже в проектах, где исторически в разных местах появились разные CSы. Типичному разработчику всё же хватает интеллекта посмотреть как было до и сделать аналогично.

Ответить | Правка | Наверх | Cообщить модератору

472. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +/
Сообщение от Вы забыли заполнить поле Name (?), 16-Янв-24, 02:32 
>> Ну ты к Яндексовому стилю не забудь прикрепить гайдлайн по использованию кода из аркадии взамену стд, если он, конечно, есть.
> Нет гайдлайна, раньше туда тупых не брали.

Просто в конторе не любят писать доку - признай это. Поэтому кичиться cs на 1 страницу не нужно. На самом много где не любят. Спорить на тему ее нужности и самодокументированного кода я не собираюсь:)

>  Сейчас пытаешься приклеить документацию по
> внутреннему устройству проектов к CS по плюсам.

Совсем нет. Я вроде ясно выразился, что для C++ гайдлайны (не кодстайл) придется наисать гораздо больше чем для С. Вот это и нужно обсуждать. В качестве примеров я привел существующие документы проектов.  

>> Помимо CS есть guideline. Я писал именно про guideline, а не про правила расстановки пробелов и скобок.
> У Страуструпа на кучу страниц развёрнутый guideline, а всё остальное это в
> основном CS. Ну да, к Qt ещё приклеил документацию до внутреннему
> дизайну либ, вроде как у них устроены координатные сетки - вот
> это прямо таки самые настоящие СS и guideline-ы по С++ для
> Qt. Начни всё же включать мозг, если, конечно, он есть.

Ты начинаешь порядком надоедать своей глупостью. По поводу qt есть страница про исключения https://doc.qt.io/qt-6/exceptionsafety.html Но ведь ты даже не удосужился прочитать. Если тебе это не нравится, то сравнивай с гугловским документом.  

>> У гугла как раз норм описано. Просто другие это не описывают, а потом вынужден на кодревью править "вот это мы не используем", "так мы не делаем"...
> Чтобы рассказать как "мы (не) делаем" нужно просто рассказать "мы (не) делаем",
> а не тратить 80% от CS на трёп с размышлениями каким
> образом гугл докатился до такого CS-а. Ты же на ревью хочешь
> чтобы клиент просто затнулся и сделал как принято, а не рассуждал
> на тему верно это или нет? Потому у гугла CS построен
> неверно, его только спасает выделение рассуждений в визуально отдельный блок и
> опытный читатель может его пропускать. Тем более рационализация гугла во многих
> местах смехотворна, лучше бы просто написали ~ заткись и делай как
> тут показано.

Ну может у тебя есть ссылка на твой замечательный документ, который описывает как надо делать. Покажи его нам.

>> Можно, конечно, жить с херовой вики (как в Я) и пинать всех на ревью, а можно нормально описать.
> Рассказываешь сказки с несуществующими проблемами. Таких проблем нет даже в проектах, где
> исторически в разных местах появились разные CSы. Типичному разработчику всё же
> хватает интеллекта посмотреть как было до и сделать аналогично.

Выше уже ответил по теме доке. Вижу, что проблема осталась.

Ответить | Правка | Наверх | Cообщить модератору

473. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +/
Сообщение от Вы забыли заполнить поле Name (?), 16-Янв-24, 02:41 
>> Ну ты к Яндексовому стилю не забудь прикрепить гайдлайн по использованию кода из аркадии взамену стд, если он, конечно, есть.
> Нет гайдлайна, раньше туда тупых не брали.

А в гугл берут тупых по твоей логике раз у них есть гайдлайн? Чтож тогда яндексоиды пулей летят в гугл к тупым как только получают офер?

Ответить | Правка | К родителю #466 | Наверх | Cообщить модератору

653. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +/
Сообщение от Аноним (-), 19-Янв-24, 20:02 
> А в гугл берут тупых по твоей логике раз у них есть
> гайдлайн? Чтож тогда яндексоиды пулей летят в гугл к тупым как
> только получают офер?

Судя по ряду проектов гугли - и их участи - типа, вот, фуксии - похоже что берут.

Ответить | Правка | Наверх | Cообщить модератору

448. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +/
Сообщение от Вы забыли заполнить поле Name (?), 16-Янв-24, 00:00 
> Дока в ядре касается практически только оформления кода (CS), когда как документ от Страуструпа на кучу страниц небольшой учебник по c++ для двигающихся горизонтально.

Оригинально я писал про гайдлайн, а не cs. Если ядро смешивает их, то ко мне какие вопросы. Вон гугл тоже смешивает, сравнивай с ним.

> И если даже его нормально распечатаешь, а не как ты через бразуер с гигантским шрифтом, то не будет 700 страниц. 21 страница ядерного CS читается за пару минут потому что там на самом деле не 21 страница, по такой же причине.

Ну выстави нужный шрифт и пришли результат. Мне влом этим заниматься. Но там явно не "на пару страничек больше". Можно хотя бы просто сравгить, что добавляет каждый новый стандарт С++ и С, и сделать из этого вывод о размере гайдлайна.

Ответить | Правка | К родителю #437 | Наверх | Cообщить модератору

468. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  –2 +/
Сообщение от Аноним (115), 16-Янв-24, 02:13 
Выше рассуждаешь про вполне конкретную штуку - линуксовое ядро и c++ в нём. А значит и рассматривать должен ровно то, что там есть. Логично же, не так ли?

> Можно хотя бы просто сравгить, что добавляет каждый новый стандарт С++ и С, и сделать из этого вывод о размере гайдлайна.

Можно, но придётся опять включать мозг: большая часть изменений касается STL, которого в ядре не будет если туда завезут плюсы.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру