The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Четвёртая редакция патчей для ядра Linux с поддержкой языка ..."
Отправлено JM, 21-Янв-22 07:18 
1. И вот это вот вы называете не извращённым? https://github.com/Amanieu/intrusive-rs/blob/master/src/link...

Это не просто извращённые танцы с бубенчиками, привязанными к яйкам. Это просто абсурд. Называть  безопасным язык, в котором даже простой двусвязный список требует unsafe реализации. В ядрах операционок требуются гораздо более сложные конструкции с уймой перекрёстных ссылок. И что, Rust мне предлагает для каждой такой структуры писать такую нахлобучку из unsafe-кода? И этот код нетривиальный, в нём легко накосячить и сложно косяк найти. И после этого набегает туча зелотов и начинает мне втирать, какой у них безопасный язык? Да ладно!? Вы серьёзно!?

И если бы мне хватало односвязных списков без циклов, я бы писал на чём-нибудь функциональном. Зачем вообще связываться с императивными языками, указателями и ссылками в таком случае?

2. Нет, не получается. Меня заставили писать на Rust текущий проект для микроконтроллера, и я уже этого Rust столько наелся, что спасибо, больше не надо. Больше всего раздражает, что технические решения принимают менеджеры, которые последний раз код писали лет 100 назад, которым к тому же надувают в уши всяких абстрактных культов о том, что мол строгая типизация спасает от ошибок. Да нифига она не спасает, и это научно установленный факт. От ошибок спасают неизменяемые структуры данных. Но, к сожалению, ядра операционок или вот микроконтроллеры они вообще целиком и полностью про изменяемые структуры данных, про взаимодействие с изменяемым миром, в котором куча переменных взаимосвязей.

И в Safe Rust этот изменяемый мир никак не укладывается. Я вообще не понимаю, чего именно обкурились разработчики языка, когда изобретали его ядро. Такое ощущение, что они вообще ни одной структуры данных сложнее массива в жизни не реализовывали, ни разу не программировали взаимодействующие процессы, ни разу не упихивали код в ограниченную память. Иначе, они бы такого отвлечённого от реальности маразма не наворотили бы.

Да и потом? В первый раз что ли такое? Абсолютно такая же история с Haskell. Типа, вот у нас есть мощная система типов и теория категорий, поэтому все перед нами падайте ниц, восхищайтесь, восторгайтесь и практикуйте, и всё будет безопасно. А то, что на Haskell нет ни одного вменяемого приложения, и то, что Haskell не используют даже математики в своей работе, никого не волнует.

Кстати, зелоты Haskell тоже в свой время кричали о том, что вот сейчас они возьмут и напишут операционную систему, безопасную и без утечек памяти. И что? И где? Тоже дошли примерно до уровня Redox и сдулись.

В прошлый раз жертвой такого надувательства стала Microsoft, которая только вот недавно избавилась от этого груза, выпнув Haskell-истов из своих лабораторий в Haskell Foundation и свободное плаванье. Хотя, теперь они умудрились присосаться к Epic Games, и будут сейчас изобретать ей язык Verse.

Впрочем, в эпоху постмодерна и деконструкции, кого интересует реальная наука и практика? Да, ведь? Главное громче всех кричать о том, что даже не сделано (как например в Haskell нет никакой категории Hask, зато про неё громче всех кричат). Про Rust даже не доказана теорема о продвижении, которая просто must have, если вы кричите о навороченной системе типов. И баги и ошибки Rust пропускает, есть много тому примеров, только они очень сложные и нетривиальные, и рождаются в попытках реализовать необходимое через барьеры ограничений, которые Rust ставит.

Для избегания ошибок с памятью у Google есть Go. Если Google не устраивает Linux, они могут просто взять Rust и написать на нём своё ядро (ха-ха-ха, конечно, см. пример Redox), вот будет настоящая конкуренция. Типа, смотрите, мы написали ядро на Rust и оно лучше Linux. Зачем в Linux-то тащить весь этот маразм? Нет, ну реально, в Linux владение ссылками постоянно переходит от одних структур данных к другим, структуры данных постоянно перемещаются для оптимизации, на Rust с этим работать - полная дикость. Так зачем? Ради хайпа, политических и социальных плюшек?

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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