The OpenNET Project / Index page

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



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

Оглавление

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

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


268. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +/
Сообщение от freehckemail (ok), 15-Янв-24, 12:57 
> Я так подозреваю, что ядро на голой сишке писали, чтобы не было никакого неявного кода.

Никакого -- утверждение слишком сильное для сишки. Как минимум из-за неявного преобразования типов.
Впрочем, по сравнению с крестами, я склонен согласиться: с крестами неявного кода было бы на порядки больше.

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

Я кстати пробовал так писать на сях. В силу их синтаксиса, к сожалению, получается весьма многословно, и работать с этим не так удобно, как хотелось бы. Впрочем, я склонен считать, что это проблема не собственно Си, а самой концепции ООП в целом.

А так, как описываете Вы, ООП успешно добавляется в более высокоуровневые языки: Lisp-ы, ML-и, тот же Perl вон... То есть поинт тут в том, что так делать удобно только в случае использования языков более высокого уровня: причём крайне желательно, чтобы они обладали встроенными инструментами изменения своего синтаксиса.

> Так возможно получится быстрее. Немного. Ну самый простой пример это managed строковые типы. Они безопаснее. Но они требуют динамического выделения памяти буквально на каждом шагу. А это на самом деле лишние тормоза.

О том и речь: высокоуровневым языкам -- высокоуровневые задачи, и наоборот.

> Вы же знаете, что сегодняшних программистов учат в школе прогать на Питоне как обезьянок? Если им позволить юзать в ядре плюсы и stdlib - они ведь будут юзать самые тормозные конструкции, какие только можно.

Вот-вот. Тут та же логика, как когда тебя приглашает зайти на чай красивая девушка, но ты не идёшь, потому что она работает в стриптиз-клубе. В том смысле, что выбор инструмента -- это в частности вопрос социальный: архитектор смотрит не только на сам инструмент, но и на сообщество, которое вокруг инструмента сформировалось. И если сообщество ему не нравится -- то и инструмент выбран не будет.

По части самого вопроса, тут на самом деле ни черта не ясно, зачем это нужно. Как бы, крестовики спокойно могут и на голом си написать модуль, если им потребуется, ибо всё-таки в некотором смысле одно является субсетом другого. Так и зачем тогда напрягаться, поддерживать какой-то дополнительный интерфейс? Статус-кво вполне удовлетворяет нуждам проекта.

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

444. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +1 +/
Сообщение от fuggy (ok), 15-Янв-24, 23:50 
Rust тоже не ООП язык. Вполне себе можно писать крупные проекты и в процедурном стиле, и в ООП, и в функциональном стиле. ООП переоценён, это не золотой молоток. А уж взглянув на Java Enterprise FizzBuzz страшно смотреть.
Ответить | Правка | Наверх | Cообщить модератору

470. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +/
Сообщение от Аноним (115), 16-Янв-24, 02:27 
В ООП стиле на расте писать нельзя т.к. нет наследования. ООП в самом деле не киллер фича, но на задачах, где оно нужно, без поддержки ООП тяжко
Ответить | Правка | Наверх | Cообщить модератору

478. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +/
Сообщение от Вы забыли заполнить поле Name (?), 16-Янв-24, 02:58 
> В ООП стиле на расте писать нельзя т.к. нет наследования. ООП в
> самом деле не киллер фича, но на задачах, где оно нужно,
> без поддержки ООП тяжко

В каких задачах нужно ООП?

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

497. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +1 +/
Сообщение от Аноним (499), 16-Янв-24, 10:45 
Тот же бизнес с иерархией документов, где каждый с небольшими отличиями, ролями. Медицина, эконометрика, области математики со сложным поведением объектов. Тысячи их.
Ответить | Правка | Наверх | Cообщить модератору

511. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  –1 +/
Сообщение от freehckemail (ok), 16-Янв-24, 13:05 
> Тот же бизнес с иерархией документов, где каждый с небольшими отличиями, ролями.
> Медицина, эконометрика, области математики со сложным поведением объектов. Тысячи их.

На самом деле ООП там нужен только потому, что ООП является отдельной индустрией-в-себе: это своя особая экосистема, свой собственный мир, у него свои разработчики, свои проблемы и своя головная боль. По существу, он нужен только там, где разработка уже в этой экосистеме живёт. Поскольку в высокоуровневых языках объекты первого порядка давно являются само собой разумеющимися вещами, то кроме выше названной социальной -- потребности в ООП-е как таковой нет: код на фанкторах пишется и понимается куда проще.

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

594. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +/
Сообщение от Аноним (589), 16-Янв-24, 23:45 
> код на фанкторах пишется и понимается куда проще.

Если объекты (в плане понятий из предметной области) однотипные. Любая, даже минимальная, иерархия приводит к росту гемороя в геометрической прогрессии. Люди думают понятиями а не раздельно существующими матрицами свойств.

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

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

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




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

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