The OpenNET Project / Index page

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



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

Оглавление

Пятая редакция патчей для ядра Linux с поддержкой языка Rust , opennews (??), 13-Фев-22, (0) [смотреть все]

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


265. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  –3 +/
Сообщение от Аноним (261), 14-Фев-22, 00:03 
Все три столпа ООП.
Ответить | Правка | Наверх | Cообщить модератору

331. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +/
Сообщение от Аноним (331), 14-Фев-22, 12:48 
Ну и зачем?
Ответить | Правка | Наверх | Cообщить модератору

350. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +1 +/
Сообщение от Аноним (350), 14-Фев-22, 13:45 
Анон_из_Восточной_Европы, похоже, имел ввиду юзерспейсные приложения, а не ядро.
Ответить | Правка | Наверх | Cообщить модератору

404. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +1 +/
Сообщение от freecoderemail (ok), 15-Фев-22, 12:29 
> Анон_из_Восточной_Европы, похоже, имел ввиду юзерспейсные приложения, а не ядро.

Да даже для прикладных программ непонятно, нужно ли оно. В Rust из привычного понимания ООП нет только наследования реализации для типов (но не для трейтов) и полиморфизма подтипов (но есть параметрический полиморфизм). То есть, имеются другие способы добиться того же. А когда говорят "нет ООП" имеют ввиду обычно что-то уж совсем лишенное высокоуровневых абстракций, но это далеко не всегда так. По хорошему нужно рассматривать не совокупно "ООП", а конкретные концепции, из которых складывается язык.

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

438. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +/
Сообщение от Аноним (438), 16-Фев-22, 10:28 
полиморфизма подтипов (но есть параметрический полиморфизм)

О. Хочу оценить насколько пригоден rust.

Проблема отсутсвия стабитльного ABI, думаю с возрастом (моего или rust'а) пройдет.

Не могу пока оценить стоит ли за него браться.

Основная проблема, нужен полиморфизм. Где бы посмотреть примеры?

Желательно что-нибудь в виде двух иерархий типов. Каждая из которых использует другую (во все поля) полиморфно :)

Может кто видел проект с такой реализацией?

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

451. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +/
Сообщение от Аноним (438), 17-Фев-22, 13:15 
Сам себе отвечу. Может быть пригодится, кому-нибудь. Или все же у какого-либо растомана выступит ржавая слеза и он расщедрится на примеры.

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

В плюсах мне не хватает только возможности взаимно возвращать указатели на объекты одной иерархии из соответсвующих им объектов другой иерархии.

Что то типа:

virtual B* A::create();

BC* AC::create();

BD* AD::create();

virtual A* B::create();

AC* BC::create();

AD* BD::create();

где AC и AD - классы производные от класса A

где BC и BD - классы производные от класса B.

Надеялся на появление модулей, в которой данную проблему можно решить, но зря

За модули взялись отмороженные уроды, которые сказали, что перекрестные ссылки это сложно и модули их разрешать не будут. Зачем тогда брались - не понятно.

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

405. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +1 +/
Сообщение от Аноним (4), 15-Фев-22, 12:35 
В Rust есть 2,5 столпа (нет наследования состояния, но есть наследование поведения) так что замечательно все стоит. Хоть и доучивать новое все равно придется. Несмотря на то что язык писался с расчетом на крестовиков, в нем чаще используются другие парадигмы, некоторые вещи реализуются по-другому.
* Используется композиция вместо наследования https://en.wikipedia.org/wiki/Composition_over_inheritance
* Data-Oriented Design там где требуется работать с большим числом объектов https://scholar.afit.edu/cgi/viewcontent.cgi?article=4192&co...
* Другие дизайн паттерны https://rust-unofficial.github.io/patterns/intro.html

Некоторые сложные проекты на Rust которые можно посмотреть (по строкам кода; данные взяты год назад):
rust-lang 1.78 млн.
redox 1.33 млн.
diem 300 тыс.
tikv 300 тыс.
Veloren 200 тыс.
есть еще интересный проект Servo, но там не считал.

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

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

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




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

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