LINUX.ORG.RU

STM32F4x(GD32) Rust(embassy) vs Rust(rtic) vs Ada(tasks) vs C++ (coroutines)

 , ,


0

5

Тред Целились в C++, а попали в Аду? заглох, так что сабж. Особо волнует поддержка USB, DMA, ADC, DAC, какие подводные камни? Как со скоростью обмена?

upd: после некоторого копания, вопрос конкретизировался до поддержки асинхронщины



Последнее исправление: zurg (всего исправлений: 3)
Ответ на: комментарий от max_lapshin

довольно странный вопрос. Ada давно уже канула в Лету.

Ты просто не в теме. Сайт AdaCore сходи покури. Заодно обновы ады 202x «канувшей в лету»... и релиз SPARK, базированный на ней же, от 2021.

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

slackwarrior ★★★★★
()
Последнее исправление: slackwarrior (всего исправлений: 1)
Ответ на: комментарий от slackwarrior

ну, это можно себе каждый день повторять в качестве аутотренинга.

С тем же успехом можно медитировать на какую-нибудь freebsd или openbsd, типа «вот-вот, будет популярным».

На практике всё очень просто: непопулярно, значит нет библиотек, нет развития, нет поддержки нового, нет кадров, значит ничего на этом толком не сделать, оно выбывает из гонки технологий.

max_lapshin ★★★★★
()
Ответ на: комментарий от max_lapshin

На практике всё очень просто: непопулярно, значит нет библиотек, нет развития, нет поддержки нового, нет кадров, значит ничего на этом толком не сделать, оно выбывает из гонки технологий.

Вот эту мантру ты можешь повторять в качестве аутотренинга, т.к.в применениях ады «популярным» язычкам еще долго места не будет независимо от их «хайповости»(ТМ). Потому что нет стандартов — нет соответствия примерно никаким требованиям регуляторов. Примерно так же «непопулярны» языки программирования стандартов МЭК, просто потому что детишки воспитанные «рейтингом тиобе» забывают откуда электричество в розетке.

На практике всё очень просто

На практике все еще проще. DO178 B и C. Ада (в равенскар профайле), сишка и плюсы, обмазанные мисрой там есть, раста там нет.

slackwarrior ★★★★★
()
Последнее исправление: slackwarrior (всего исправлений: 1)

Особо волнует поддержка USB

Где-то в блоге adacore была информация о том, что весь usb стек для stm32f4 удалось реализовать на чистой аде. С другой стороны можно же слинковаться с нативным драйвером.

upd: https://blog.adacore.com/an-embedded-usb-device-stack-in-ada

алсо https://habr.com/ru/articles/549688/

ymn ★★★★★
()
Последнее исправление: ymn (всего исправлений: 1)
Ответ на: комментарий от zurg

Там заявлено, что выбор из-за того, что компиляторы под множество платформ есть. Правда компиляторы тоже по разному некоторые вещи могут воспринимать и обрабатывать, особенно если что-то похоже на UB.

Упрощение задачи верификации (кем/чем?) для соответствия стандартам безопасности свели к простоте синтаксиса и небольшому набору фич языка по сравнению с C++.

grem ★★★★★
()
Ответ на: комментарий от mrjaggers

что в ней такого наноуникального?

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

но на практике то, где нет десятков тысяч человек, всё будет работать так, что идешь по узенькой дорожке, а вправо-влево «ой, ну тут надо доделывать».

Это хорошо видно по всяким бсдям: если фрибсд ещё когда-то претендовала на номер 2 после линукса, то всякие опен и нет были совсем печальными.

max_lapshin ★★★★★
()
Ответ на: комментарий от alex0x08

Да на здоровье ); выглядит, конечно, лучше чем недопереассемблер из 70-х, но как у явы 8 с асинхронностью? мне сейчас видится что это киллерфича и золотая середина для микроконтроллеров между ручной кооперативкой и тяжелой RTOS-ю, ну и раст как язык всё-таки повыше уровнем

zurg
() автор топика
Ответ на: комментарий от zurg

но как у явы 8 с асинхронностью?

Точно лучше чем у недоассемблера. Но надо понимать что это не обычная джава а Embedded, там в плане функционала все попроще.

Попробуй тесты погонять, у меня железа под рукой нет чтобы какую-то конкретику дать.

alex0x08 ★★★
()