| |
| 2.9, Аноним (9), 21:06, 29/05/2026 [^] [^^] [^^^] [ответить]
| +/– |
Интересно, во сколько раз при этом будет больше ошибок, чем в uutils?
| | |
| |
| 3.95, Фнон (?), 13:02, 30/05/2026 [^] [^^] [^^^] [ответить]
| +2 +/– |
Логических? Может и столько же.
Ошибок памяти? Скорее то столько же - около нуля.
| | |
| |
| 4.111, An (??), 18:42, 30/05/2026 [^] [^^] [^^^] [ответить]
| –3 +/– |
Вот вообще без разницы, какой тип ошибки приведет к уязвимости.
| | |
| |
| 5.183, Аноним (183), 10:33, 01/06/2026 [^] [^^] [^^^] [ответить] | +1 +/– | Есть огромная разница Во-первых, это два независимых класса ошибок Устранение ... большой текст свёрнут, показать | | |
|
|
|
| 2.67, Аноним (-), 07:25, 30/05/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Интересный эксперимент.
Теперь плиз то же самое но на STM32F1xx которе в разы дешевле? Для игры в менее комфортных условиях. А не том переростке, по цене чуть не апликушного проца и с 1 поставщиком в виде STMicro - и более никого на этом глобусе.
| | |
|
| 1.2, Аноним (2), 20:33, 29/05/2026 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– | |
Лучше производность, быстрее код писать, меньше оперативной памяти нужно и чуть больше места занимает.
Выбор очевиден.
| | |
| |
| |
| 3.68, Аноним (-), 07:25, 30/05/2026 [^] [^^] [^^^] [ответить]
| +2 +/– | |
> Выбираю SPARK.
И много прошивок для МК написал? Захвастайся чтоли для разнообразия, как сие вообше?
| | |
| 3.140, Пыщь (?), 10:20, 31/05/2026 [^] [^^] [^^^] [ответить]
| +/– |
Просто на ADA, совсем без контрактов (чтобы даже запаха SPARK не было), на каком-нибудь light профиле, столька букафф будет! Если про perl можно шутить, что это язык для написания, а не для чтения, то про ada - это для чтения, а не написания. Ну а если профиль пожирнее, то готовь ОЗУ и свободные такты для RTL. Правильная оптимизация потребует погружения в особенности ада :) А уж ежели контрактами в SPARK погонять, то ещё больше букаф придётся докидать. Правильные полные спецификациии и жирные контракты - залог удачи в SPARK (так думаю). С неполной спецификацией, допускающией широкие возможности трактовки, конопляторная оптимизация обязательно испоганит твой даже полностью верный код в самом скромном уголке прошивки.
Совсем без асма и це на голом железе тяжко будет, почти невозможно. Даже полуофициальный startup-gen от adacore выдаёт асмовую заготовку для начальной инициализации. На затравочку ещё нужно помнить, что общедоступных binding микросхем, аналогичных це-шным CMSIS, можно по пальцам перечесть.
Может это только я так бултыхаюсь доступными (без регистраций и смс) инструментами, а у серьёзных адовых погроммистов всё в ажуре.
| | |
|
| 2.6, Аноним (6), 21:00, 29/05/2026 [^] [^^] [^^^] [ответить]
| +/– |
Быстрее код писать, воюя с чекером боровов? Ах да, для микроконтроллеров же - сплошной @unsafe.
| | |
| 2.15, Аноним (15), 21:24, 29/05/2026 [^] [^^] [^^^] [ответить]
| +13 +/– | |
> Быстрее код писать, воюя с чекером боровов?
Завязывайте позориться. Если у вас проблемы с БЧ при написании кода, значит вы не понимаете сколько у вас живут объекты и плодите UB, на сях с такой квалификацией вы будете вместо "войны с БЧ" который вас тыкает в проблему ещё до того как вы даже код собрали, сидеть неделями в отладчике.
> Ах да, для микроконтроллеров же - сплошной @unsafe
Ни на йоту не больше чем в программировании под большие машины - там у вас в unsafe обёрнуты обращения к системным вызовам, а тут к портам. В остальном разницы нет, поверх этого можете писать только safe логику, можете пользоваться штуками использующими unsafe под капотом для эффективности, но эти штуки опциональны и одинаковы на любых платформах.
| | |
| 2.66, MihaNix (ok), 07:10, 30/05/2026 [^] [^^] [^^^] [ответить]
| +4 +/– |
Пишите на том языке, который знаете хорошо. Это поможет добиться лучших результатов!
Для микроконтроллера я обычно трачу больше времени на изучение документации и проверку своего понимания на практике.
Выберу язык Си и буду работать с битовыми последовательностями, чтобы управлять низкоуровневыми функциями контроллера (конфигурирование портов ввода вывода и т.п.).
| | |
| |
| 3.69, Аноним (-), 07:26, 30/05/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Пишите на том языке, который знаете хорошо. Это поможет добиться лучших результатов!
Что-то не очень работает для приблуд с микропитоном.
| | |
| 3.168, Проходил мимо (?), 07:37, 01/06/2026 [^] [^^] [^^^] [ответить]
| +/– |
Битовые операции в Си и в Rust очень похожи, если что. Например проверка битового флага на Си у вас будет примерно так:
#define FLAG 0x01
// Определение переменной val размером 1 байт, старшая половина которой
// используется для хранения флагов а в младшей хранится какое-то значение от 0 до 15
unsigned char val = 0;
// Тут что-то происходит
// Выделяем значение и проверяем флаг
num = val & 0x0F;
val = (val & 0xF0) >> 4;
if( val & FLAG )
{
// Делаем что-то полезное
}
А на Rust так:
const FLAG: u8 = 0x01;
// Определение переменной val размером 1 байт, старшая половина которой
// используется для хранения флагов а в младшей хранится какое-то значение от 0 до 15
let mut val: u8 = 0;
// Тут что-то происходит
// Выделяем значение и проверяем флаг
num = val & 0x0F;
val = (val & 0xF0) >> 4;
if (val & FLAG) > 0
{
// Делаем что-то полезное
}
А еще в Rust есть куча вариантов битовых операций (например сдвига), отличающихся наличием или отсутствием проверки переполнения и самого подхода к сдвигу. Практика показывает, что это очень удобный и правильный подход.
| | |
| |
| 4.186, Аноним (186), 11:14, 01/06/2026 [^] [^^] [^^^] [ответить]
| +/– |
практика показывает, что это жутко нечитабельный и тормозной оверхед.
и ты забыл указать тонну бла-бла-бла поверх процитированного кода, чтобы оно вообще начало собираться.
| | |
| |
| 5.198, Проходил мимо (?), 12:34, 01/06/2026 [^] [^^] [^^^] [ответить]
| +/– |
> практика показывает, что это жутко нечитабельный и тормозной оверхед.
> и ты забыл указать тонну бла-бла-бла поверх процитированного кода, чтобы оно вообще
> начало собираться.
Не будет ли любезен многоуважаемый Аноним сообщить, какая именно строка из приведенного кода является "жутко нечитабельной" и "тормозным оверхедом"? Ткните пальцем пожалуйста, что именно в приведенном коде вы ниасилили? Так-то приведенный код лишь иллюстрирует минимальную разницу между синтаксисом битовых операций в Си и Rust, но мне прям стало очень интересно, где же вы тут нашли жутко нечитабельные тормоза.
А еще я бы очень хотел узнать, о каких таких тоннах бла-бла-бла там идет речь? Вот знаете, прям удивили меня вот этим вот утверждением - сколько лет пишу и на Сях, и на плюсях, и на Rust - а ни разу никаких таких "тонн бла-бла-бла" чтобы скомпилировать программу мне не требовалось.
| | |
|
|
|
|
| 1.3, НяшМяш (ok), 20:33, 29/05/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +4 +/– |
Под микроконтроллер в 160 мегагерц можно было хоть на бидоне писать, в чём смысл делать какие-то сравнения под эту лошадь. Сообщество на тот же 16-мегагерцовый nRF51 на embassy фигачит со свистом уже много лет, открыли они Америку.
| | |
| |
| |
| 3.14, Аноним (14), 21:19, 29/05/2026 [^] [^^] [^^^] [ответить]
| –4 +/– |
Низкоуровневый питон называется forth. Это низкоуровневый сишарп.
| | |
|
| 2.89, Аноним (89), 12:39, 30/05/2026 [^] [^^] [^^^] [ответить]
| –1 +/– |
Как "160 мегагерц" уменьшит потребление оперативной памяти?
Или ты думаешь что на 16 мегагерцах СИшная поделка станет магически образом потреблять меньше?
24640 против 42608 это почти в два раза.
| | |
| |
| 3.187, Аноним (186), 11:15, 01/06/2026 [^] [^^] [^^^] [ответить]
| +/– |
ну я тоже могу сишный рантайм обрезать в 15 раз, станет 4200. это что-то для тебя изменит, или ты и бальше будешь рекламировать свой недоязык, но уже другими аргументами?
| | |
|
|
| 1.8, Аноним (6), 21:05, 29/05/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +8 +/– |
Что-то мне кажется, что если для микроконтроллеров писать на Algol68 с POSIX-расширениями (ga68), то тоже производительность будет не сильно отличаться.
| | |
| |
| 2.20, Аноним (15), 21:44, 29/05/2026 [^] [^^] [^^^] [ответить] | +/– | Это скорее правда Под железо без изысков типа всяких SIMD компилировать чисту... большой текст свёрнут, показать | | |
| |
| |
| |
| 5.79, Аноним (-), 10:53, 30/05/2026 [^] [^^] [^^^] [ответить]
| +1 +/– | |
> А в чем суть? Или пока сам не понял?
В том что чем больше флехи - тем дороже будет чип стоить. Место на кристалле не бесплатное.
| | |
| |
| 6.94, Фнон (?), 12:54, 30/05/2026 [^] [^^] [^^^] [ответить]
| –1 +/– | |
> В том что чем больше флехи - тем дороже будет чип стоить.
Сейчас копеечные чипы имеют столько памяти, что иногда даже избыточно.
Условный STM32C0 за 20 центов имеет 32 KB Flash / 6 KB RAM
По меркам микроконтроллеров это дофига.
| | |
| |
| 7.123, Аноним (123), 00:43, 31/05/2026 [^] [^^] [^^^] [ответить] | +/– | Зато вон там есть RISCV за 10-20 центов, 2 кило RAM и 16 кило флеша на все Но э... большой текст свёрнут, показать | | |
| |
| 8.138, Аноним (-), 09:39, 31/05/2026 [^] [^^] [^^^] [ответить] | –2 +/– | Пф, система которая работает в миллионах девайсах критикуется горлопаном с форум... текст свёрнут, показать | | |
| |
| 9.164, Аноним (-), 06:37, 01/06/2026 [^] [^^] [^^^] [ответить] | +1 +/– | Пф, вон то - за 1 год продается большим тиражом, чем все вы вместе взятые, вероя... большой текст свёрнут, показать | | |
|
|
|
|
|
|
| 3.47, anonymous (??), 01:52, 30/05/2026 [^] [^^] [^^^] [ответить]
| –2 +/– |
Особенно будет весело, когда ваш раст захочет сделать прерывание (для await) в контексте с заблокированными перываниями...
| | |
| |
| 4.59, Аноним (59), 02:26, 30/05/2026 [^] [^^] [^^^] [ответить]
| +/– |
Лол, для await не нужны прерывания, это просто сахар для построения конечного автомата из понятного линейного кода. Никакой магии там нет, равно как и никаких "rust захочет", можно всё то же что и в C, только это делается одной строкой, а не kloc'ами лапшеобразного бойлерплейта.
| | |
|
| 3.169, Проходил мимо (?), 07:46, 01/06/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
Для поддержки асинхронности используется специальный кусок кода (специальный движок), поэтому, ИМХО, мечты про 276 байт не осуществимы в принципе.
ЗЫ Слово unwrap в предполагаемом коде для микроконтроллера лично у меня вызывает удивление, только выраженное ненормативной лексикой.
| | |
|
|
| 1.10, Аноним (15), 21:07, 29/05/2026 [ответить] [﹢﹢﹢] [ · · · ] | +3 +/– | В эмбедном байтодрочестве rust равных нет уже за счёт упаковки структур и нишево... большой текст свёрнут, показать | | |
| |
| 2.12, Аноним (12), 21:14, 29/05/2026 [^] [^^] [^^^] [ответить]
| +/– |
Ничего интересного в этом нет. Вопрос применения раста в плоскости практического применения вообще не лежит.
| | |
| |
| 3.16, Аноним (15), 21:25, 29/05/2026 [^] [^^] [^^^] [ответить]
| –2 +/– |
Какой интересный тейк. Даже интересно в какой плоскости лежит вопрос применения если не в плоскости применения.
| | |
| |
| 4.19, анонимс (?), 21:36, 29/05/2026 [^] [^^] [^^^] [ответить]
| –1 +/– |
Идеологическом. Rust компилируется LLVM написанным на C++ бэкэндом rustc так что машинный код совершенно одинаков
| | |
| |
| 5.21, Аноним (15), 21:48, 29/05/2026 [^] [^^] [^^^] [ответить]
| –1 +/– |
Машинный код одинаков только если писать на общем подмножестве двух языков, на нахрена это кому-то нужно? На rust можно писать на порядок выразительнее, и ответ на вопрос будет ли полученный код компактнее и быстрее не для всех очевиден, а даже без учёта этого, вопросы компайл-тайм проверок и более качественного тулинга - сугубо практические.
| | |
| |
| 6.41, Аноним (40), 01:00, 30/05/2026 [^] [^^] [^^^] [ответить]
| +1 +/– | |
> На rust можно писать на порядок выразительнее
Тогда вы выбрали не тот язык. На порядок выразительнее писать на языке из 2000ых (а автор раста начал разрабатывать его в начале 2000ых) с синтаксисом из языков 80ых (для сравнение python это начало 90ых) вряд ли получится.
| | |
| |
| 7.53, Аноним (59), 02:07, 30/05/2026 [^] [^^] [^^^] [ответить]
| +/– | |
А при чём тут синтаксис? Он сейчас вообще во всех языках, и новых, и старых, одинаковый, кроме питона. А выразительность в основном из стандартной библиотеки идёт, например чтобы вместо
'''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.
| | |
| |
| 8.99, Славик (ok), 14:00, 30/05/2026 [^] [^^] [^^^] [ответить] | +1 +/– |  На С тоже можно упаковать в одну строчку Но, глядя на С код, можно представить ... текст свёрнут, показать | | |
|
|
|
|
|
|
| 2.18, Сладкая булочка (?), 21:32, 29/05/2026 [^] [^^] [^^^] [ответить]
| +5 +/– | |
> (и юнит тесты рядом с кодом очень удобная штука)
В си никто не мешает положить тесты рядом с кодом.
| | |
| |
| 3.22, Аноним (15), 21:53, 29/05/2026 [^] [^^] [^^^] [ответить]
| –3 +/– | |
Тесты рядом с кодом это, если что так и ни строчкой больше, даже если это первый тест в проекте:
'''
fn inc(a: u32) -> u32 {
a + 1
}
+#[test]
+fn test_inc() {
+ assert_eq!(inc(1), 2);
+}
'''
| | |
| |
| 4.26, Аноним (9), 22:34, 29/05/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
И что тут такого особенного, чего не было нигде в других языках?
| | |
| |
| |
| 6.72, Аноним (72), 08:13, 30/05/2026 [^] [^^] [^^^] [ответить]
| +2 +/– | |
В чем проблема?:
int inc(int x) {
return x + 1;
}
#ifdef TEST
#include <assert.h>
int main() {
assert(inc(1) == 2);
}
#endif
| | |
| |
| 7.76, Прохожий (??), 10:34, 30/05/2026 [^] [^^] [^^^] [ответить]
| +/– |
Громоздко и чревато ошибками (если вместо TEST написать что-то другое, уже тест не запустится потом).
| | |
| 7.82, Аноним (-), 11:04, 30/05/2026 [^] [^^] [^^^] [ответить] | –2 +/– | Тебе про UB не рассказали чтоли Прямо иллюстрацию подогнал, почему таких как ты... большой текст свёрнут, показать | | |
| |
| |
| 9.124, Аноним (-), 01:36, 31/05/2026 [^] [^^] [^^^] [ответить] | +/– | Угу, блин, и я потом такой - затыкаю в дидовом копролите - integer underflow, ко... большой текст свёрнут, показать | | |
|
| 8.103, Славик (ok), 14:18, 30/05/2026 [^] [^^] [^^^] [ответить] | +1 +/– |  ну что за демагогия, во первых есть uint32_t тип, а во вторых С это системный яз... текст свёрнут, показать | | |
| |
| 9.125, Аноним (-), 01:54, 31/05/2026 [^] [^^] [^^^] [ответить] | +1 +/– | Тот то хмырь с примером его не поюзал, вместо этого влепив классический UB Для ... большой текст свёрнут, показать | | |
| |
| |
| 11.166, Аноним (-), 07:05, 01/06/2026 [^] [^^] [^^^] [ответить] | +/– | Нет, у меня - freestanding фирмвара МК без builtids, stdlib - freestanding режим... большой текст свёрнут, показать | | |
|
|
|
|
|
|
|
|
| 3.155, Аноним (155), 17:08, 31/05/2026 [^] [^^] [^^^] [ответить]
| +1 +/– | |
> В си никто не мешает положить тесты рядом с кодом.
Да? А чего ж не кладут тогда? Вредители что ли?
| | |
| |
| 4.159, Сладкая булочка (?), 21:12, 31/05/2026 [^] [^^] [^^^] [ответить]
| –1 +/– |
>> В си никто не мешает положить тесты рядом с кодом.
> Да? А чего ж не кладут тогда? Вредители что ли?
Можно, а зачем? (с)
| | |
|
|
| 2.28, Аноним83 (?), 22:44, 29/05/2026 [^] [^^] [^^^] [ответить] | +1 +/– | Столько буков и ни слова о конечном результате, только какие то бесполезные язык... большой текст свёрнут, показать | | |
| |
| 3.58, Аноним (59), 02:21, 30/05/2026 [^] [^^] [^^^] [ответить]
| +3 +/– | |
> Столько буков и ни слова о конечном результате
О конечном результате сказано - в 3 раза меньше кода, он гораздо более понятен и застрахован от нескольких классов распространённых ошибок.
> только какие то бесполезные языковые абстракции.
Выше есть пример кода с сишным циклом против 'Iterator::any'. Не, я прекрасно понимаю что вы не программируете и для вас все эти слова это просто буквы, только зачем вы в обсуждение ЯП влезаете?
> Потому что видимо на С не пробовали даже делать плагины и абстракции, как оно сделано в том же линухе/бсд в дровах для всего того же самого.
О да, vtable руками, миксины на макросах и обработку ошибок на goto, а также плагины для дров FreeBSD мы действительно не писали.
| | |
| |
| 4.98, Аноним83 (?), 14:00, 30/05/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> О конечном результате сказано - в 3 раза меньше кода
В вашем посте обсуждение только язковых конструкций, а не результата.
> только зачем вы в обсуждение ЯП влезаете?
Я скорее про применение и девиации адептов :)
> vtable руками, миксины на макросах и обработку ошибок на goto, а также плагины для дров FreeBSD мы действительно не писали.
Оно и видно.
| | |
| |
| 5.101, Аноним (101), 14:07, 30/05/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Я скорее про применение и девиации адептов :)
"Исследование проведено компанией STMicroelectronics при участии нескольких европейских университетов"
Вы про девиации адептов СИшки?
Еще раз для непонтливых.
Фирма, которая разработала и производит микроконтроллеры, провела исследование и пришла к выводу что СИшка не имеет преимуществ.
| | |
| |
| 6.121, Аноним83 (?), 00:04, 31/05/2026 [^] [^^] [^^^] [ответить]
| +/– |
И что?
Пресвятые европецы на гранты написали нужные отчёты, и теперь это святая истина?
Эти же люди писали что полов больше двух и прочую ерунду про глобальное потепление и что надо жрать не мясо а жуков.
Завтра им проплатят и они напишут о пользе питания гумусом, мол замкнутый безотходный цикл, так и надо.
| | |
| |
| 7.131, Прохожий (??), 07:01, 31/05/2026 [^] [^^] [^^^] [ответить]
| +/– |
Ещё раз, может со второго раза дойдёт (хотя, маловероятно, глядя на твои попытки в аналогии). Отчёт писался сотрудниками фирмы-производителя микросхем для своих нужд. Причём здесь гранты, Европа и количество полов?
| | |
|
| 6.185, Совершенно другой аноним (?), 11:11, 01/06/2026 [^] [^^] [^^^] [ответить]
| +/– | |
Там текст "немного по дебильному написан" (с)
Идёт подмена понятий, попробовали новый язык Rust, но фразу сформулировали, почему-то не новый язык Rust не имеет преимуществ, а старый C. Странная формулировка, не находите.
| | |
|
|
|
|
|
| |
| 2.90, Аноним (89), 12:42, 30/05/2026 [^] [^^] [^^^] [ответить]
| +/– |
А кого волнует размер исходников?
Или даже сколько оно компилируется?
Для разработчика (а не какого-то б0мжа) собирается нормальная билд-машина.
Зато в результате:
- разница в размере бинарника 10%
- разница в потреблении оперативки почти 50% в пользу раста
- при одинаковой производительности
| | |
| |
| |
| 4.102, Аноним (101), 14:08, 30/05/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Если нет - тогда разница ощутима.
Вы что компилируете после добавления каждой новой строки?
Я скорее в дебае залипну на большее время, чем выиграю от разницы в сборке.
| | |
| |
| 5.122, Аноним83 (?), 00:06, 31/05/2026 [^] [^^] [^^^] [ответить]
| –1 +/– |
Так смотря какой размер у вашего проекта, для хэлло ворлда скорость раста ещё можно потерпеть, а когда у вас там хотя бы 100+ файлов - как то не комфортно будет.
| | |
| |
| 6.132, Прохожий (??), 07:03, 31/05/2026 [^] [^^] [^^^] [ответить]
| +/– |
Раст компилирует библиотеками. Если там ничего не менялось, то и компилироваться повторно не будет.
| | |
|
|
|
|
|
| 1.35, localhostadmin (ok), 00:06, 30/05/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Сейчас далеко не под все контроллеры можно сишный код собрать. Поэтому я слабо представляю, как в такую нишу ещё и раст запихнуть можно
| | |
| |
| 2.37, Аноним (37), 00:09, 30/05/2026 [^] [^^] [^^^] [ответить]
| +6 +/– |
Если в микроконтроллер залазит Rust, то это уже не микроконтроллер.
| | |
| |
| 3.46, Аноним (59), 01:50, 30/05/2026 [^] [^^] [^^^] [ответить]
| +/– |
Машкод на Rust весит примерно столько же сколько аналогичный код на C. Можно было бы и под AVR'ки писать, но вроде поддержки в llvm нет. Но в любом случае AVR'ки уже отмерли, микроконтроллеры сейчас поголовно такие что туда и микропитон влезет, но rust и приятнее, и эффективнее.
| | |
| 3.109, Аноним (107), 15:42, 30/05/2026 [^] [^^] [^^^] [ответить]
| +3 +/– |
Еще недавно по историческим меркам тру микроконтроллер-деды то же самое про сишочку и ассемблер говорили.
| | |
|
|
| 1.36, Аноним (37), 00:07, 30/05/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +7 +/– | |
"Тестирование выполненной работы не выявило заметных преимуществ в использовании языка Rust вместо C"
Поправил
| | |
| |
| 2.73, Vivaswan (ok), 08:15, 30/05/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
Вот именно то же хотел написать... Как всё хитрО перемешано в тексте!
| | |
| 2.91, Аноним (89), 12:44, 30/05/2026 [^] [^^] [^^^] [ответить]
| –1 +/– | |
> "Тестирование выполненной работы не выявило заметных преимуществ в использовании языка Rust вместо C"
А... "черное это белое" от фанатов СИшки?
Логично.
> Поправил
Скорее "Переврал".
| | |
|
| 1.38, Аноним (37), 00:16, 30/05/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +6 +/– | |
>В пакетном менеджере Cargo устранена уязвимость
С каждой новой версией Rust всё усложняется, расширяется, а значит программирование на нём становится менее надёжным.
А Cи остаётся таким же простым.
| | |
| |
| |
| 3.142, proglyk (ok), 13:04, 31/05/2026 [^] [^^] [^^^] [ответить]
| +/– |
Хочется молча оставить ссылку на c89 стандарт, на котором до сих пор пишут и не лазают в Ютубе и ещё куда-то.
| | |
|
| 2.96, Аноним (96), 13:06, 30/05/2026 [^] [^^] [^^^] [ответить]
| –1 +/– | |
> С каждой новой версией Rust всё усложняется, расширяется, а значит программирование на нём становится менее надёжным.
Интересное мнение.
А можно какое-то подтверждение "программирование на нём становится менее надёжным" ?
> А Cи остаётся таким же простым.
Но ошибки в нем такие-же, как 50 лет назад))
Сколько там Copy Fuсkов уже нашли в ядре?
| | |
| |
| 3.143, proglyk (ok), 13:07, 31/05/2026 [^] [^^] [^^^] [ответить]
| +/– |
В ядре чего? Прошивки для МК? Ты забыл о чем тема новости человек? Сейчас не спор что лучше в принципе, а что лучше для МК, а там задачи порой очень простые и никакие ядра не надо в спор тянуть
| | |
|
| 2.161, Аноним (161), 02:05, 01/06/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
Да скорее не усложняется а становиться сильнее и сложнее с каждым разом запомнить сколько и где там и API стал новый. Если в сишке это база не менялась голой, то тут каждый день новая м версия библиотек и самого языка
| | |
|
| 1.39, Аноним (39), 00:27, 30/05/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
Авторы исследования забыли указать, что сишники в эмбедовке разбираются в шинах данных, iommu, dma и тд. А эти на расте ни в чем не разбираются. Так что все-таки сишка под МК лучше уже хотя бы поэтому.
| | |
| |
| 2.43, Я (??), 01:06, 30/05/2026 [^] [^^] [^^^] [ответить]
| +4 +/– |
Плюс на Си куча отлаженного и переносимого кода под любую платформу.
| | |
| 2.56, Аноним (59), 02:10, 30/05/2026 [^] [^^] [^^^] [ответить]
| –1 +/– | |
> Авторы исследования забыли указать
Как раз не забыли, там сказано что была команда C имела большой опыт в C, а команда Rust опыта в Rust имела сильно меньше, и, тем не менее, справилась на отлично.
> сишники в эмбедовке разбираются в шинах данных, iommu, dma
Нет, не сишники, а эмбеддовщики. Знания о том как работает железо от языка не зависят и применяются одинаково в любом языке.
| | |
| |
| 3.126, Аноним (-), 02:00, 31/05/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Нет, не сишники, а эмбеддовщики. Знания о том как работает железо от
> языка не зависят и применяются одинаково в любом языке.
Ну вот не скажи. Если в си можно влобовую записать в регистр - то в Rust работа с такими вещами любо лютый unsafe (а чем это тогда лучше си?) либо совершенно жесточайший брейнфак, увы и ах. Можно спятить даже просто делая работу с GPIO. Да, круто конечно - делегировать это богам и расслабить булки, но в итоге то вы будете - вторым сортом.
| | |
| |
| 4.149, Аноним (149), 14:48, 31/05/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Ну вот не скажи. Если в си можно влобовую записать в регистр - то в Rust работа с такими вещами любо лютый unsafe (а чем это тогда лучше си?)
Тем что всё остальное safe, сложно для понимания да?
> либо совершенно жесточайший брейнфак
С чего брейнфак-то? Простейшее API, а-ля 'PORTB.pin(3).set_direction(PinDirection::Out).enable_pin(true)'. Это из плюсов код, если что, который компилится в те самые 2 инструкции, и то как оно должно быть независимо от языка. На rust будет так же с точностью до байта и safe. Вы видимо остановились в развитии на 'PORTB &= 1 << 3', так вам на пенсию пора.
| | |
| |
| 5.190, Аноним (186), 11:37, 01/06/2026 [^] [^^] [^^^] [ответить]
| +/– |
Что именно safe, растик, 2+2? Тебе не хватает квалификации, чтобы "безопасно" сложить два числа?
| | |
| 5.197, _kp (ok), 12:29, 01/06/2026 [^] [^^] [^^^] [ответить]
| +/– |
>>всё остальное safe
Вообще то, вся работа с реальными структурами, протоколами, регистрами - это в Rust всё unsafe, и подобный код в embedded преобладает.
А в остальном облажаться как раз минимальные шансы.
| | |
|
|
| 3.156, Аноним (155), 17:13, 31/05/2026 [^] [^^] [^^^] [ответить]
| –1 +/– | |
> Знания о том как работает железо от языка не зависят и применяются одинаково в любом языке.
Так то знания. А этот пациент заучил заклинания на сях: боромочи дождь-дождь-дождь, он и пойдёт рано или поздно. Делай вот так, и будешь шиной командовать. Знание правильных слов на сях заменяет знание железа. Но снаружи особо не видно, пока язык имплементации сменить не потребуют.
| | |
|
| 2.57, Аноним (107), 02:11, 30/05/2026 [^] [^^] [^^^] [ответить]
| –2 +/– |
С сишниками в эмбеддовке и везде проблема в том, что они в Си не разбираются. Не могут написать код без UB, а чаще и не хотят.
| | |
| 2.104, Аноним (104), 14:44, 30/05/2026 [^] [^^] [^^^] [ответить]
| –1 +/– | |
> сишники в эмбедовке разбираются в шинах данных, iommu, dma и тд.
Хахахаха!
Тойопта убившая кучу народу передает привет.
Как тебе функция на 1300 строк кода с цикломатической сложностью в 146?
> А эти на расте ни в чем не разбираются.
Возможно ваше бездоказательное утверждение верно.
Но тем не менее эти "не разбирающиеся" смогли написать код, которые на уровене СИшого по производительности.
> Так что все-таки сишка под МК лучше уже хотя бы поэтому.
Чтобы потом долго и уныло дебажить память попорченную "разбирающимися"?
| | |
| |
| 3.114, Аноним (114), 19:04, 30/05/2026 [^] [^^] [^^^] [ответить]
| +/– |
Си - язык практиков. Если практики из Тойоты отказались от Раста и продолжают писать на чистом. Значит чистый Си - торт.
| | |
| 3.127, Аноним (-), 02:06, 31/05/2026 [^] [^^] [^^^] [ответить] | +1 +/– | А представляешь, Rust без MMU тоже переполнение стека - не поймает Об этом чест... большой текст свёрнут, показать | | |
| |
| 4.137, Аноним (-), 09:36, 31/05/2026 [^] [^^] [^^^] [ответить] | +/– | А при чем тут раст Речь про СИшников которые пишут эмбедовку Ты сейчас про той... большой текст свёрнут, показать | | |
|
| 3.144, proglyk (ok), 13:12, 31/05/2026 [^] [^^] [^^^] [ответить]
| +/– |
Нервный смех. Мне не нравится что ты лезешь в споры и что-то доказывает, при этом являясь Толи студентом с взлетевший ЧСВ из-за того, что rust book прочёл, Толи не учащимся на своих ошибках мужиком.
| | |
| |
| 4.145, Аноним (145), 13:21, 31/05/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Нервный смех.
Признак ̶д̶у̶р̶а̶ч̶и̶н̶ы̶ недалекого ума?
> Мне не нравится что ты лезешь в споры
В общем-то пофигу, что тебе не нравится.
> и что-то доказывает, при этом являясь Толи студентом с взлетевший ЧСВ из-за того, что rust book прочёл, Толи не учащимся на своих ошибках мужиком.
Твой хрустальный шар явно подделка.
В статье написано что STM не видит преимуществ СИшки перед растом.
Но СИшная охранота начинает куракекать и рассказывает что "СИ для МК лучше".
| | |
|
|
|
| 1.44, Аноним (44), 01:08, 30/05/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
У меня совершенно другой вопрос соберется ли этот же код на расте спустя года 3... У раста до сих пор нет стейбл версии и на обратную совместимость они тоже положили, так что такое.
| | |
| |
| 2.50, Аноним (59), 01:56, 30/05/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
Пару месяцев назад я столкнулся с кодом написанным во времена rust 1.0x, он вполне себе собирается. Собственно со стабильностью там всё в порядке.
| | |
| 2.77, Прохожий (??), 10:50, 30/05/2026 [^] [^^] [^^^] [ответить]
| +1 +/– | |
>У раста до сих пор нет стейбл версии
В каком смысле? Есть, конечно. И эта новость как раз о stable версии. А есть ещё ночные сборки.
> и на обратную совместимость они тоже положили
Почитайте на досуге про editions.
| | |
| 2.92, Аноним (89), 12:47, 30/05/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> У меня совершенно другой вопрос соберется ли этот же код на расте спустя года 3.
Конечно.
> У раста до сих пор нет стейбл версии
Что значит "стейбл версия" в понимание такого профана как ты?
Когда вышел С23, то поломалось куча проектов, так как true/false добавили.
> и на обратную совместимость они тоже положили, так что такое.
Феерическая чушъня.
Почитай что такое edition
(doc.rust-lang.org/edition-guide/editions/)
В андроиде до сих пор можно писать на edition 2015.
| | |
| 2.184, Аноним (183), 11:04, 01/06/2026 [^] [^^] [^^^] [ответить] | –1 +/– | Да где вы все это читаете Rust ломает обратную совместимость только в одном слу... большой текст свёрнут, показать | | |
|
| 1.45, Аноним (44), 01:10, 30/05/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
Одного не пойму, зачем изобретать новый яп, привинтите к си все те же безопасные указатели да проверки....
| | |
| |
| 2.48, Аноним (59), 01:53, 30/05/2026 [^] [^^] [^^^] [ответить]
| +1 +/– | |
Чтобы это понять, надо программировать, а если вы не программируете, вам зачем это понимание?
> привинтите к си все те же безопасные указатели да проверки
Да, ещё лайфтаймы, БЧ, нормальную систему типов, экосистему, тулинг. Собственно Rust и получится. Ну или zig, если вам он ближе, правда в нём ничего этого нет и он экспериментальная поделка. В любом случае, без нового языка программирования не обойтись.
| | |
| |
| 3.85, Аноним (85), 12:07, 30/05/2026 [^] [^^] [^^^] [ответить]
| +2 +/– |
Если ты не способен контролировать лайфтаймв сам, то ты и программировать не умеешь, потому что не понимаешь как у тебя программа работает.
| | |
| |
| 4.105, Аноним (104), 14:47, 30/05/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
Т.е все сишники от ядра до утилит типа curl "программировать не умееют"?
Ибо уже десятки лет одни и те же ошибки: выходы за пределы буферов, use after free и double free.
Возможно просто инструмент поганый?
| | |
| |
| 5.136, Аноним (136), 09:28, 31/05/2026 [^] [^^] [^^^] [ответить]
| –2 +/– |
Твоя логическая ошибка или попытка манипуляции, называется "соломенное чучело", ты пытаешься заменить мой тезис на более слабый. А учитывая как страстно ты защищаешь инструмент...ты этим только подтверждаешь мой тезис, что ты не умеешь программировать, а веришь в магию. Ты наверное и ИИ любишь?
| | |
| |
| |
| 7.192, Аноним (186), 11:41, 01/06/2026 [^] [^^] [^^^] [ответить]
| +/– |
Его тезхис выдержал практику хотя бы тем, что ты сейчас свой коммент набрал с помощью сишного кода, а не растового.
| | |
|
|
|
| 4.179, Прохожий (??), 09:41, 01/06/2026 [^] [^^] [^^^] [ответить]
| +/– |
У вас очевидные проблемы с логикой. Любой человек (абсолютно, без исключений) подвержен ошибкам. Особенно это актуально на сколь-либо большом коде. Другими словами, даже если вы способны контролировать лайфтаймы на небольшом участке кода, никто не может дать гарантию (и вы в том числе), что вы справитесь также успешно на большом участке. Что, собственно, и показывает многолетняя практика программирования на Си.
| | |
|
|
| |
| 3.80, Аноним (-), 10:54, 30/05/2026 [^] [^^] [^^^] [ответить]
| –2 +/– | |
> Ровно так и сделали. Получился Rust.
Они сделали - брейнфак какой-то. Где, простите, типажи выражовываются, так что вот тут итератор не итерирует оказывается и надо - сильно отдельный сеанс брейнфака, с чуть ли не патчем тулчейна чтобы это заработало.
Жалкая пародия на то что может C++ как расширяемый синтаксис. Убого и гиморно.
| | |
| |
| 4.181, Прохожий (??), 09:49, 01/06/2026 [^] [^^] [^^^] [ответить]
| +/– | |
>Они сделали - брейнфак какой-то.
Сказал любитель C++ со спецификацией на полторы тысячи страниц, которую, уверен, никогда не читал полностью.
>Жалкая пародия на то что может C++ как расширяемый синтаксис.
Например, что такого можно сделать в C++, чего нельзя сделать в Rust?
| | |
|
| |
| 4.88, warlock (??), 12:32, 30/05/2026 [^] [^^] [^^^] [ответить]
| +/– |
> У раста синтаксис функциональных языков, при чем тут си?
Нет, у Раста синтаксис именно Си, только слегка изменённый в соответствии с нашим сегодняшним пониманием, как должен был выглядеть Си, чтобы не иметь ряда болезненных проблем. Естественно, что он в чём-то похож на функциональные языки, так как такой правильно спроектированный (перепроектированный) Си и должен был быть похож на функциональные языки.
| | |
| 4.113, Аноним (113), 18:51, 30/05/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> У раста синтаксис функциональных языков, при чем тут си?
Где ты там увидел синтаксис функциональных языков?
То есть, первый вопрос: что такое синтаксис функциональных языков? У кого синтаксис более функциональный, у haskell или у lisp? Или Rust для тебя является определением понятия "синтаксис функциональных языков"?
Но раст ведь до кучи ещё и не функциональный язык вовсе. Его комбинаторы итераторов выглядят функциональной фишкой, но функциональный язык может любые функции комбинировать так, а не только значения типа Iterator.
| | |
| |
| 5.133, Прохожий (??), 07:10, 31/05/2026 [^] [^^] [^^^] [ответить]
| +/– | |
>Где ты там увидел синтаксис функциональных языков?
Да вот же (из примера выше):
if haystack.iter().any(|elt| elt.field == needle) {}
>Но раст ведь до кучи ещё и не функциональный язык вовсе
Он мультипарадигменный, да.
| | |
|
|
|
|
| 1.74, Аноним (74), 10:14, 30/05/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Странно что не упомянули embassy - фреймворк для ембедовки на расте, вот он реально крут. Почти полностью на него перешел для чего-то более сложного чем ардуино.
| | |
| 1.84, Аноним (85), 12:05, 30/05/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Снова не включили интерфейс для работы с указателям каждый второй четверг, кроме случаев, когда четверг выходной или 3е число. Жду.
| | |
| 1.93, Фнон (?), 12:50, 30/05/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– | |
Тут на форуме был человек, который учавствовал в разработке HAL (вроде бы) библиотек на расте.
Было бы интересно услышать его мнение, как наверное самого разбирающегося.
Друг, если тебя не затруднит, оставь свой комментарий.
| | |
| |
| 2.112, Аноним (9), 18:44, 30/05/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> был человек, который учавствовал в разработке HAL (вроде бы) библиотек на расте.
Помянул его сегодня блинами.
| | |
|
| |
| 2.134, Прохожий (??), 07:15, 31/05/2026 [^] [^^] [^^^] [ответить]
| –3 +/– | |
Ох уж эти эксперты...
Из примеров выше.
Rust
#[test]
fn test_inc() {
assert_eq!(inc(1), 2);
}
C
#include <assert.h>
#include <stdint.h>
int32_t inc(int32_t x) {
assert(x != INT32_MAX);
return x + 1;
}
#ifdef TEST
int main() {
assert(inc(INT32_MIN) == INT32_MIN + 1);
assert(inc(0) == 1);
assert(inc(INT32_MAX - 1) == INT32_MAX);
}
#endif
| | |
| |
| |
| 4.182, Прохожий (??), 09:52, 01/06/2026 [^] [^^] [^^^] [ответить]
| +/– |
:) Фанатизм во всей своей "красе". Как может читаться легче вот эта простыня, по сравнению с одной строкой кода?
| | |
|
|
| 2.135, Прохожий (??), 07:17, 31/05/2026 [^] [^^] [^^^] [ответить]
| +/– | |
Или вот ещё, тоже из примеров выше
'''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) {}
'''
| | |
| 2.172, Проходил мимо (?), 08:14, 01/06/2026 [^] [^^] [^^^] [ответить]
| +/– |
Подавляющее большинства кода на Rust выглядит понятным и достаточно легко читаемым. Чего нельзя сказать о последних генерациях Си++.
Ваш же случай давным давно описал Крылов в басне "Лиса и Виноград".
| | |
| |
| 3.195, Аноним (186), 11:46, 01/06/2026 [^] [^^] [^^^] [ответить]
| –1 +/– | |
Если исключить откровенную манипуляцию автора, то его комментарий читается вот так:
Подавляющее большинство кода на Rust выглядит плохо читаемым и менее понятным чем любой С++, кроме "последних генераций" (имелись ввиду самые свежие правки стандарта).
| | |
| |
| 4.196, Проходил мимо (?), 12:15, 01/06/2026 [^] [^^] [^^^] [ответить]
| +/– |
> Если исключить откровенную манипуляцию автора, то его комментарий читается вот так:
> Подавляющее большинство кода на Rust выглядит плохо читаемым и менее понятным чем
> любой С++, кроме "последних генераций" (имелись ввиду самые свежие правки стандарта).
Голодная кума Лиса залезла в сад;
В нём винограду кисти рделись.
У кумушки глаза и зубы разгорелись;
А кисти сочные, как яхонты, горят;
Лишь то беда, висят они высоко:
Отколь и как она к ним ни зайдёт,
Хоть видит око,
Да зуб неймёт.
Пробившись попусту час целой,
Пошла и говорит с досадою:
«Ну, что́ ж! На взгляд-то он хорош,
Да зелен — ягодки нет зрелой:
Тотчас оскомину набьешь»
Иван Андреевич Крылов, 1808 год.
| | |
|
|
|
| 1.129, разраб (?), 03:05, 31/05/2026 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
speakez tech разрабатывает фрэймворк на Fsharp под двойной лицензией который позволяет генерировать машинный код. Полностью в рамках функциональной парадигмы и разграниченных продолжений. посредством llvm mlir. По моему это имеет гораздо больший потенциал. Жаль что лицуха двойная.
| | |
| |
| 2.176, Прохожий (??), 09:06, 01/06/2026 [^] [^^] [^^^] [ответить]
| –1 +/– | |
Для типичного "эксперта".
Unsafe features:
1. Dereference a raw pointer.
2. Call an unsafe function or method.
3. Access or modify a mutable static variable.
4. Implement an unsafe trait.
5. Access fields of unions.
It’s important to understand that unsafe doesn’t turn off the borrow checker or disable any of Rust’s other safety checks: If you use a reference in unsafe code, it will still be checked. The unsafe keyword only gives you access to these five features that are then not checked by the compiler for memory safety. You’ll still get some degree of safety inside an unsafe block.
| | |
|
|