The OpenNET Project / Index page

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



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

"Выпуск Rust 1.96. Оценка пригодности Rust для создания прошивок к микроконтроллерам"  +/
Сообщение от opennews (??), 29-Май-26, 20:23 
Опубликован релиз языка программирования  Rust 1.96, основанного проектом Mozilla, но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation. Язык сфокусирован на безопасной работе с памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки)...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=65574

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

Оглавление

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


1. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Аноним (1), 29-Май-26, 20:23 
>для микроконтроллеров STM32U585AI

https://www.st.com/en/microcontrollers-microprocessors/stm32...
Интересный эксперимент.

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

9. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Аноним (9), 29-Май-26, 21:06 
Интересно, во сколько раз при этом будет больше ошибок, чем в uutils?
Ответить | Правка | Наверх | Cообщить модератору

2. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  –3 +/
Сообщение от Аноним (2), 29-Май-26, 20:33 
Лучше производность, быстрее код писать, меньше оперативной памяти нужно и чуть больше места занимает.

Выбор очевиден.

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

4. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +3 +/
Сообщение от Аноним (4), 29-Май-26, 20:49 
Выбираю SPARK.
Ответить | Правка | Наверх | Cообщить модератору

6. Скрыто модератором  –1 +/
Сообщение от Аноним (6), 29-Май-26, 21:00 
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

15. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +1 +/
Сообщение от Аноним (15), 29-Май-26, 21:24 
> Быстрее код писать, воюя с чекером боровов?

Завязывайте позориться. Если у вас проблемы с БЧ при написании кода, значит вы не понимаете сколько у вас живут объекты и плодите UB, на сях с такой квалификацией вы будете вместо "войны с БЧ" который вас тыкает в проблему ещё до того как вы даже код собрали, сидеть неделями в отладчике.

> Ах да, для микроконтроллеров же - сплошной @unsafe

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

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

3. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +2 +/
Сообщение от НяшМяш (ok), 29-Май-26, 20:33 
Под микроконтроллер в 160 мегагерц можно было хоть на бидоне писать, в чём смысл делать какие-то сравнения под эту лошадь. Сообщество на тот же 16-мегагерцовый nRF51 на embassy фигачит со свистом уже много лет, открыли они Америку.
Ответить | Правка | Наверх | Cообщить модератору

5. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +1 +/
Сообщение от Аноним (5), 29-Май-26, 20:54 
Во, точняк! Раст -- низкоуровневый питон!
Ответить | Правка | Наверх | Cообщить модератору

14. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  –2 +/
Сообщение от Аноним (14), 29-Май-26, 21:19 
Низкоуровневый питон называется forth. Это низкоуровневый сишарп.
Ответить | Правка | Наверх | Cообщить модератору

7. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Аноним (1), 29-Май-26, 21:05 
Ну они для себя же делали опыт, что и описано в посте, значит им нужнее.
Да и остальные языки никуда не деваются:
https://opennet.ru/64135-github
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

8. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +2 +/
Сообщение от Аноним (6), 29-Май-26, 21:05 
Что-то мне кажется, что если для микроконтроллеров писать на Algol68 с POSIX-расширениями (ga68), то тоже производительность будет не сильно отличаться.
Ответить | Правка | Наверх | Cообщить модератору

20. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Аноним (15), 29-Май-26, 21:44 
Это скорее правда. Под железо без изысков (типа всяких SIMD) компилировать чистую математику (а что ещё в эмбеддовке может быть CPU-bound) компиляторы давно уже научились, и язык тут можно вообще любой взять. Если у него конечно бэкенд gcc/llvm, а не самодельное музейное гoвнo из прошлого века.

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

```rust
task::spawn(async ||
    loop {
        button.await;
        i2c.send(0x12, b"button pressed").await.unwrap();
    }
);
```

и чтобы он скомпилился в те же 276 байт которые я напишу на ассемблере с ручным диспатчем прерываний и конечным автоматом для состояний. Хотя даже тут интерес уже даже не практический, а фановый, поскольку нет давно железа где было бы принципиально скомпилится это в 276 или 27600 байт.

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

27. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Аноним (9), 29-Май-26, 22:38 
> скомпилится это в 276 или 27600 байт

Вся суть растерманов.

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

10. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Аноним (15), 29-Май-26, 21:07 
В эмбедном байтодрочестве rust равных нет уже за счёт упаковки структур и нишевой оптимизации. А так-то без экспериментов было понятно что как минимум если писать на нём в C/плюсовом стиле, то и результаты будут примерно такими же. Вот было бы гораздо интереснее сравнить rust с C/плюсовым стилем и идиоматический rust с Option, Result, итераторами, монадическими конструкциями, лямбдами и трейтами, а желательно с ещё более высокоуровневыми штуками типа разбора протоколов через serde или хотя бы nom.

Пока мой опыт в портировании сишного кода, правда не для эмбеддовки, но как раз разбор строк и протоколов и прочее битодрочество показывает что получается в 3 раза меньше (исходного) кода и он намного понятнее, и работает это быстрее (и юнит тесты рядом с кодом очень удобная штука), но на размер машинного кода я не смотрел. А давний опыт в эмбеддовке (AVR) показал что на полноценном C++ со всякими `unique_ptr`, `<algorithm>` и повсеместными шаблонами (когда разные реализации таймеров и экранчиков прокидываются как шаблонные аргументы, реализация I2C мокается для тестов и т.д.) получает прошивки компактнее дубового сишного кода, после чего про C в нашеё команде вообще забыли.

Вот на rust такое будет ещё проще и там где в плюсах ещё был возможен какой-то оверхед, то гарантированно без него, но хочется чтобы это красиво показали. Потому что кто-то, как даже в новости написано, до сих пор пишет эмбеддовку на C!

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

12. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +1 +/
Сообщение от Аноним (12), 29-Май-26, 21:14 
Ничего интересного в этом нет. Вопрос применения раста в плоскости практического применения вообще не лежит.
Ответить | Правка | Наверх | Cообщить модератору

16. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  –1 +/
Сообщение от Аноним (15), 29-Май-26, 21:25 
Какой интересный тейк. Даже интересно в какой плоскости лежит вопрос применения если не в плоскости применения.
Ответить | Правка | Наверх | Cообщить модератору

19. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от анонимс (?), 29-Май-26, 21:36 
Идеологическом. Rust компилируется LLVM написанным на C++ бэкэндом rustc так что машинный код совершенно одинаков
Ответить | Правка | Наверх | Cообщить модератору

21. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Аноним (15), 29-Май-26, 21:48 
Машинный код одинаков только если писать на общем подмножестве двух языков, на нахрена это кому-то нужно? На rust можно писать на порядок выразительнее, и ответ на вопрос будет ли полученный код компактнее и быстрее не для всех очевиден, а даже без учёта этого, вопросы компайл-тайм проверок и более качественного тулинга - сугубо практические.
Ответить | Правка | Наверх | Cообщить модератору

29. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Аноним (1), 29-Май-26, 23:10 
>практического применения

https://github.com/discord

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

18. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +1 +/
Сообщение от Сладкая булочка (?), 29-Май-26, 21:32 
> (и юнит тесты рядом с кодом очень удобная штука)

В си никто не мешает положить тесты рядом с кодом.

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

22. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Аноним (15), 29-Май-26, 21:53 
Тесты рядом с кодом это, если что так и ни строчкой больше, даже если это первый тест в проекте:

```
fn inc(a: u32) -> u32 {
     a + 1
}

+#[test]
+fn test_inc() {
+    assert_eq!(inc(1), 2);
+}
```

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

26. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Аноним (9), 29-Май-26, 22:34 
И что тут такого особенного, чего не было нигде в других языках?
Ответить | Правка | Наверх | Cообщить модератору

28. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Аноним83 (?), 29-Май-26, 22:44 
> писать на нём в C/плюсовом стиле, то и результаты будут примерно такими же. Вот было бы гораздо интереснее сравнить rust с C/плюсовым стилем и идиоматический rust с Option, Result, итераторами, монадическими конструкциями, лямбдами и трейтами, а желательно с ещё более высокоуровневыми штуками типа разбора протоколов через serde или хотя бы nom.

Столько буков и ни слова о конечном результате, только какие то бесполезные языковые абстракции.


> А давний опыт в эмбеддовке (AVR) показал что на полноценном C++ со всякими `unique_ptr`, `<algorithm>` и повсеместными шаблонами (когда разные реализации таймеров и экранчиков прокидываются как шаблонные аргументы, реализация I2C мокается для тестов и т.д.) получает прошивки компактнее дубового сишного кода, после чего про C в нашеё команде вообще забыли.

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

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

23. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Аноним (15), 29-Май-26, 21:57 
Жаль про размер исходников ничего не сказано.
Ответить | Правка | Наверх | Cообщить модератору

25. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Аноним (25), 29-Май-26, 22:07 
А может и сказано...
Ответить | Правка | Наверх | Cообщить модератору

24. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  –2 +/
Сообщение от Аноним (24), 29-Май-26, 22:05 
Я на Go пишу божественные быстрые программы без ошибок впринципе, опыт так сказать большой, учил один язык программирования за жизнь. А Rust это для тех кому время потратить надо впустую на корявый синтаксис, где ничего дельного и шустрого не напишешь без unsafe.
Ответить | Правка | Наверх | Cообщить модератору

30. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Аноним (1), 29-Май-26, 23:14 
https://rust-lang.org/ru/learn/
Ответить | Правка | Наверх | Cообщить модератору

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

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




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

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