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ообщить модератору

95. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Фнон (?), 30-Май-26, 13:02 
Логических? Может и столько же.
Ошибок памяти? Скорее то столько же - около нуля.
Ответить | Правка | Наверх | Cообщить модератору

111. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от An (??), 30-Май-26, 18:42 
Вот вообще без разницы, какой тип ошибки приведет к уязвимости.
Ответить | Правка | Наверх | Cообщить модератору

67. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Аноним (-), 30-Май-26, 07:25 
> Интересный эксперимент.

Теперь плиз то же самое но на STM32F1xx которе в разы дешевле? Для игры в менее комфортных условиях. А не том переростке, по цене чуть не апликушного проца и с 1 поставщиком в виде STMicro - и более никого на этом глобусе.

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

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

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

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

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

68. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +2 +/
Сообщение от Аноним (-), 30-Май-26, 07:25 
>  Выбираю SPARK.

И много прошивок для МК написал? Захвастайся чтоли для разнообразия, как сие вообше?

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

6. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +2 +/
Сообщение от Аноним (6), 29-Май-26, 21:00 
Быстрее код писать, воюя с чекером боровов? Ах да, для микроконтроллеров же - сплошной @unsafe.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

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

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

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

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

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

31. Скрыто модератором  +1 +/
Сообщение от Аноним (31), 29-Май-26, 23:18 
Ответить | Правка | Наверх | Cообщить модератору

40. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +3 +/
Сообщение от Аноним (40), 30-Май-26, 00:54 
Ну тогда Паскаль лучше обоих)
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

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

Предпочитаю интегральность.

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

66. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +4 +/
Сообщение от MihaNixemail (ok), 30-Май-26, 07:10 
Пишите на том языке, который знаете хорошо. Это поможет добиться лучших результатов!
Для микроконтроллера я обычно трачу больше времени на изучение документации и проверку своего понимания на практике.
Выберу язык Си и буду работать с битовыми последовательностями, чтобы управлять низкоуровневыми функциями контроллера (конфигурирование портов ввода вывода и т.п.).
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

69. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Аноним (-), 30-Май-26, 07:26 
>  Пишите на том языке, который знаете хорошо. Это поможет добиться лучших результатов!

Что-то не очень работает для приблуд с микропитоном.

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

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

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

89. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +1 +/
Сообщение от Аноним (89), 30-Май-26, 12:39 
Как "160 мегагерц" уменьшит потребление оперативной памяти?
Или ты думаешь что на 16 мегагерцах СИшная поделка станет магически образом потреблять меньше?
24640 против 42608 это почти в два раза.
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

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

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

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

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

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

В том что чем больше флехи - тем дороже будет чип стоить. Место на кристалле не бесплатное.

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

94. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  –1 +/
Сообщение от Фнон (?), 30-Май-26, 12:54 
> В том что чем больше флехи - тем дороже будет чип стоить.

Сейчас копеечные чипы имеют столько памяти, что иногда даже избыточно.
Условный STM32C0 за 20 центов имеет 32 KB Flash / 6 KB RAM
По меркам микроконтроллеров это дофига.

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

47. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  –1 +/
Сообщение от anonymous (??), 30-Май-26, 01:52 
Особенно будет весело, когда ваш раст захочет сделать прерывание (для await) в контексте с заблокированными перываниями...
Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

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

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

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

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

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

41. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +1 +/
Сообщение от Аноним (40), 30-Май-26, 01:00 
> На rust можно писать на порядок выразительнее

Тогда вы выбрали не тот язык. На порядок выразительнее писать на языке из 2000ых (а автор раста начал разрабатывать его в начале 2000ых) с синтаксисом из языков 80ых (для сравнение python это начало 90ых) вряд ли получится.

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

53. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Аноним (59), 30-Май-26, 02:07 
А при чём тут синтаксис? Он сейчас вообще во всех языках, и новых, и старых, одинаковый, кроме питона. А выразительность в основном из стандартной библиотеки идёт, например чтобы вместо

```c
bool found = false;
for (size_t i = 0; i < sizeof(haystack); i++) {
    if (strcmp(haystack[i].field, needle) == 0) {
        found = true;
        break;
    }
}
if (found) {}
```

писать

```rust
if haystack.iter().any(|elt| elt.field == needle) {}
``

ну и интересно посмотреть на "современные" языки значимо выразительнее rust.

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

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

115. Скрыто модератором  +/
Сообщение от ferris (?), 30-Май-26, 19:13 
Ответить | Правка | Наверх | Cообщить модератору

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

https://github.com/discord

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

116. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от ferris (?), 30-Май-26, 19:15 
proxmox
Ответить | Правка | Наверх | Cообщить модератору

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

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

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

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

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

72. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +2 +/
Сообщение от Аноним (72), 30-Май-26, 08:13 
В чем проблема?:

int inc(int x) {
    return x + 1;
}

#ifdef TEST
#include <assert.h>
int main() {
    assert(inc(1) == 2);
}
#endif

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

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

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

Тебе про UB не рассказали чтоли? Прямо иллюстрацию подогнал, почему таких как ты на Rust надо, пинками.


int inc(int x) {
    return x + 1;
}

#ifdef TEST
#include <assert.h>
int main() {
    assert(inc(1) == 2);
}
#endif


1) "int" у тебя - это сколько в граммах^W битахх? Ты хоть сам то границы применимости своего кода - назвать сможешь? Даже не чтобы потроллить адептов rust? А вот на Rust это таки вполне конкретное u32 -> u32. И тут этот вопрос не возникает.

2) Ты никогда не задумывался о формате хранения (signed) int и что вообще при wrap случается? Ну или если int = 2^31 (+1 на знак), что случается при пересечении границы 2^31 и переполнении? А, это вообще UB?! У тебя лажа на самом видном месте. И assert не чекает краевые случаи. Как впрочем и у адепров Rust.

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

97. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Аноним83 (?), 30-Май-26, 13:58 
А ты никогда не задумывался что большинство пихает int туда где пофик на результат?
Ну оно примерно от -255 до 255 и ладно, больше программа считать никогда не будет.
Ответить | Правка | Наверх | Cообщить модератору

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

103. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Славик (ok), 30-Май-26, 14:18 
ну что за демагогия, во первых есть uint32_t тип, а во вторых С это системный язык,он не вставляет в код отсебятины и  подразумевает  что человек за клавиатурой знает что он делает. Нужно проверить переполнение - проверь соответствующий флаг процессора.
Ответить | Правка | К родителю #82 | Наверх | Cообщить модератору

106. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Аноним (107), 30-Май-26, 15:04 
>С это системный язык,

Системный. Для PDP-11.

>он не вставляет в код отсебятины

Вставляет, это фича.

>Нужно проверить переполнение - проверь соответствующий флаг процессора.

И что, в сишочке знаковое переполнение вдруг стало не UB? Может и доступ к флагам процессора без ассемблерной вставки есть?

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

110. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Славик (ok), 30-Май-26, 16:55 
ещё раз, м е д л е н н о,  "С" это системный язык. Рассматривай его как высокоуровневый ассемблер, если так будет проще. FYI "С" является системным языком для ВСЕХ операционных систем начиная с UNIX, включая windows and linux, на одной из которых ты строчишь камменты,  а PDP-11 это железо и "С" неможет быть системным языком для PDP-11. На PDP-11 крутилась изначально RSX-11, для которой системным языком был MACROASSEMBLER-11
Ответить | Правка | Наверх | Cообщить модератору

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

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


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

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

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

58. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +3 +/
Сообщение от Аноним (59), 30-Май-26, 02:21 
> Столько буков и ни слова о конечном результате

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

> только какие то бесполезные языковые абстракции.

Выше есть пример кода с сишным циклом против `Iterator::any`. Не, я прекрасно понимаю что вы не программируете и для вас все эти слова это просто буквы, только зачем вы в обсуждение ЯП влезаете?

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

О да, vtable руками, миксины на макросах и обработку ошибок на goto, а также плагины для дров FreeBSD мы действительно не писали.

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

98. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Аноним83 (?), 30-Май-26, 14:00 
> О конечном результате сказано - в 3 раза меньше кода

В вашем посте обсуждение только язковых конструкций, а не результата.

> только зачем вы в обсуждение ЯП влезаете?

Я скорее про применение и девиации адептов :)

> vtable руками, миксины на макросах и обработку ошибок на goto, а также плагины для дров FreeBSD мы действительно не писали.

Оно и видно.

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

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

"Исследование проведено компанией STMicroelectronics при участии нескольких европейских университетов"

Вы про девиации адептов СИшки?
Еще раз для непонтливых.
Фирма, которая разработала и производит микроконтроллеры, провела исследование и пришла к выводу что СИшка не имеет преимуществ.

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

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

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

55. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  –1 +/
Сообщение от Аноним (59), 30-Май-26, 02:08 
Я читал пейпер, нет - не сказано.
Ответить | Правка | Наверх | Cообщить модератору

64. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +1 +/
Сообщение от Nameh (?), 30-Май-26, 03:22 
Сахар и выразительность будет в приоритете обьема байт.
Ответить | Правка | К родителю #23 | Наверх | Cообщить модератору

90. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Аноним (89), 30-Май-26, 12:42 
А кого волнует размер исходников?
Или даже сколько оно компилируется?
Для разработчика (а не какого-то б0мжа) собирается нормальная билд-машина.

Зато в результате:
- разница в размере бинарника 10%
- разница в потреблении оперативки почти 50% в пользу раста
- при одинаковой производительности

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

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

102. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Аноним (101), 30-Май-26, 14:08 
> Если нет - тогда разница ощутима.

Вы что компилируете после добавления каждой новой строки?

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

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

33. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +2 +/
Сообщение от Аноним (33), 29-Май-26, 23:22 
Нашел! Я нашел! https://github.com/FluxSysLang/Flux
Ответить | Правка | Наверх | Cообщить модератору

35. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от localhostadmin (ok), 30-Май-26, 00:06 
Сейчас далеко не под все контроллеры можно сишный код собрать. Поэтому я слабо представляю, как в такую нишу ещё и раст запихнуть можно
Ответить | Правка | Наверх | Cообщить модератору

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

46. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Аноним (59), 30-Май-26, 01:50 
Машкод на Rust весит примерно столько же сколько аналогичный код на C. Можно было бы и под AVR'ки писать, но вроде поддержки в llvm нет. Но в любом случае AVR'ки уже отмерли, микроконтроллеры сейчас поголовно такие что туда и микропитон влезет, но rust и приятнее, и эффективнее.
Ответить | Правка | Наверх | Cообщить модератору

109. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Аноним (107), 30-Май-26, 15:42 
Еще недавно по историческим меркам тру микроконтроллер-деды то же самое про сишочку и ассемблер говорили.
Ответить | Правка | К родителю #37 | Наверх | Cообщить модератору

36. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +5 +/
Сообщение от Аноним (37), 30-Май-26, 00:07 
"Тестирование выполненной работы не выявило заметных преимуществ в использовании языка Rust вместо C"

Поправил

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

73. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Vivaswan (ok), 30-Май-26, 08:15 
Вот именно то же хотел написать...    Как всё хитрО перемешано в тексте!
Ответить | Правка | Наверх | Cообщить модератору

91. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Аноним (89), 30-Май-26, 12:44 
>  "Тестирование выполненной работы не выявило заметных преимуществ в использовании языка Rust вместо C"

А... "черное это белое" от фанатов СИшки?
Логично.

> Поправил

Скорее "Переврал".

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

38. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +4 +/
Сообщение от Аноним (37), 30-Май-26, 00:16 
>В пакетном менеджере Cargo устранена уязвимость

С каждой новой версией Rust всё усложняется, расширяется, а значит программирование на нём становится менее надёжным.
А Cи остаётся таким же простым.

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

52. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  –1 +/
Сообщение от Аноним (1), 30-Май-26, 01:58 
>С каждой новой версией Rust всё усложняется, расширяется

https://www.youtube.com/@RustVideos/videos
https://rust-lang.org/ru/learn/

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

96. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Аноним (96), 30-Май-26, 13:06 
> С каждой новой версией Rust всё усложняется, расширяется, а значит программирование на нём становится менее надёжным.

Интересное мнение.
А можно какое-то подтверждение "программирование на нём становится менее надёжным" ?

> А Cи остаётся таким же простым.

Но ошибки в нем такие-же, как 50 лет назад))
Сколько там Copy Fuсkов уже нашли в ядре?

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

39. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +3 +/
Сообщение от Аноним (39), 30-Май-26, 00:27 
Авторы исследования забыли указать, что сишники в эмбедовке разбираются в шинах данных, iommu, dma и тд. А эти на расте ни в чем не разбираются. Так что все-таки сишка под МК лучше уже хотя бы поэтому.
Ответить | Правка | Наверх | Cообщить модератору

43. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +3 +/
Сообщение от Я (??), 30-Май-26, 01:06 
Плюс на Си куча отлаженного и переносимого кода под любую платформу.
Ответить | Правка | Наверх | Cообщить модератору

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

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

Как раз не забыли, там сказано что была команда C имела большой опыт в C, а команда Rust опыта в Rust имела сильно меньше, и, тем не менее, справилась на отлично.

> сишники в эмбедовке разбираются в шинах данных, iommu, dma

Нет, не сишники, а эмбеддовщики. Знания о том как работает железо от языка не зависят и применяются одинаково в любом языке.

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

57. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  –1 +/
Сообщение от Аноним (107), 30-Май-26, 02:11 
С сишниками в эмбеддовке и везде проблема в том, что они в Си не разбираются. Не могут написать код без UB, а чаще и не хотят.
Ответить | Правка | К родителю #39 | Наверх | Cообщить модератору

104. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Аноним (104), 30-Май-26, 14:44 
>  сишники в эмбедовке разбираются в шинах данных, iommu, dma и тд.

Хахахаха!
Тойопта убившая кучу народу передает привет.
Как тебе функция на 1300 строк кода с цикломатической сложностью в 146?

> А эти на расте ни в чем не разбираются.

Возможно ваше бездоказательное утверждение верно.
Но тем не менее эти "не разбирающиеся" смогли написать код, которые на уровене СИшого по производительности.

> Так что все-таки сишка под МК лучше уже хотя бы поэтому.

Чтобы потом долго и уныло дебажить память попорченную "разбирающимися"?

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

114. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Аноним (114), 30-Май-26, 19:04 
Си - язык практиков. Если практики из Тойоты отказались от Раста и продолжают писать на чистом. Значит чистый Си - торт.
Ответить | Правка | Наверх | Cообщить модератору

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

50. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  –1 +/
Сообщение от Аноним (59), 30-Май-26, 01:56 
Пару месяцев назад я столкнулся с кодом написанным во времена rust 1.0x, он вполне себе собирается. Собственно со стабильностью там всё в порядке.
Ответить | Правка | Наверх | Cообщить модератору

65. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  –1 +/
Сообщение от Сиус (?), 30-Май-26, 05:51 
Этим кодом был Аль^W Hello world.
Ответить | Правка | Наверх | Cообщить модератору

77. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Прохожий (??), 30-Май-26, 10:50 
>У раста до сих пор нет стейбл версии

В каком смысле? Есть, конечно. И эта новость как раз о stable версии. А есть ещё ночные сборки.

> и на обратную совместимость они тоже положили

Почитайте на досуге про editions.

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

92. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Аноним (89), 30-Май-26, 12:47 
> У меня совершенно другой вопрос соберется ли этот же код на расте спустя года 3.

Конечно.

> У раста до сих пор нет стейбл версии

Что значит "стейбл версия" в понимание такого профана как ты?
Когда вышел С23, то поломалось куча проектов, так как true/false добавили.

> и на обратную совместимость они тоже положили, так что такое.

Феерическая чушъня.
Почитай что такое edition
(doc.rust-lang.org/edition-guide/editions/)

В андроиде до сих пор можно писать на edition 2015.

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

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

48. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +2 +/
Сообщение от Аноним (59), 30-Май-26, 01:53 
Чтобы это понять, надо программировать, а если вы не программируете, вам зачем это понимание?

> привинтите к си все те же безопасные указатели да проверки

Да, ещё лайфтаймы, БЧ, нормальную систему типов, экосистему, тулинг. Собственно Rust и получится. Ну или zig, если вам он ближе, правда в нём ничего этого нет и он экспериментальная поделка. В любом случае, без нового языка программирования не обойтись.

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

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

105. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +1 +/
Сообщение от Аноним (104), 30-Май-26, 14:47 
Т.е все сишники от ядра до утилит типа curl "программировать не умееют"?
Ибо уже десятки лет одни и те же ошибки: выходы за пределы буферов, use after free и double free.

Возможно просто инструмент поганый?


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

75. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от warlockemail (??), 30-Май-26, 10:17 
Ровно так и сделали. Получился Rust.
Ответить | Правка | К родителю #45 | Наверх | Cообщить модератору

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

Они сделали - брейнфак какой-то. Где, простите, типажи выражовываются, так что вот тут итератор не итерирует оказывается и надо - сильно отдельный сеанс брейнфака, с чуть ли не патчем тулчейна чтобы это заработало.

Жалкая пародия на то что может C++ как расширяемый синтаксис. Убого и гиморно.

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

83. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  –1 +/
Сообщение от Аноним (83), 30-Май-26, 11:14 
У раста синтаксис функциональных языков, при чем тут си?
Ответить | Правка | К родителю #75 | Наверх | Cообщить модератору

88. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от warlockemail (??), 30-Май-26, 12:32 
> У раста синтаксис функциональных языков, при чем тут си?

Нет, у Раста синтаксис именно Си, только слегка изменённый в соответствии с нашим сегодняшним пониманием, как должен был выглядеть Си, чтобы не иметь ряда болезненных проблем. Естественно, что он в чём-то похож на функциональные языки, так как такой правильно спроектированный (перепроектированный) Си и должен был быть похож на функциональные языки.

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

113. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Аноним (113), 30-Май-26, 18:51 
> У раста синтаксис функциональных языков, при чем тут си?

Где ты там увидел синтаксис функциональных языков?

То есть, первый вопрос: что такое синтаксис функциональных языков? У кого синтаксис более функциональный, у haskell или у lisp? Или Rust для тебя является определением понятия "синтаксис функциональных языков"?

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

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

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

84. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +3 +/
Сообщение от Аноним (85), 30-Май-26, 12:05 
Снова не включили интерфейс для работы с указателям каждый второй четверг, кроме случаев, когда четверг выходной или 3е число. Жду.
Ответить | Правка | Наверх | Cообщить модератору

93. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Фнон (?), 30-Май-26, 12:50 
Тут на форуме был человек, который учавствовал в разработке HAL (вроде бы) библиотек на расте.

Было бы интересно услышать его мнение, как наверное самого разбирающегося.

Друг, если тебя не затруднит, оставь свой комментарий.

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

112. "Выпуск Rust 1.96. Оценка пригодности Rust для создания проши..."  +/
Сообщение от Аноним (9), 30-Май-26, 18:44 
> был человек, который учавствовал в разработке HAL (вроде бы) библиотек на расте.

Помянул его сегодня блинами.

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

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

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

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




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

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