The OpenNET Project / Index page

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



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

Оглавление

Rust вошёл в 20 самых популярных языков по рейтингу Redmonk, opennews (??), 30-Июл-20, (0) [смотреть все]

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


101. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  –8 +/
Сообщение от СеверусСнейп (?), 30-Июл-20, 14:29 
Да как нафиг С оказывается на 1-м месте?? Кто на нём вообще пишет??
Ответить | Правка | Наверх | Cообщить модератору

102. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  +5 +/
Сообщение от Аноним (98), 30-Июл-20, 14:30 
Все
Ответить | Правка | Наверх | Cообщить модератору

109. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  +/
Сообщение от InuYasha (??), 30-Июл-20, 14:48 
#include "trollface.xpm"
я :)
Ответить | Правка | К родителю #101 | Наверх | Cообщить модератору

115. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  +4 +/
Сообщение от Аноним (95), 30-Июл-20, 15:09 
Тут как бы ситуация сейчас, что только на Си и можно писать.
Ответить | Правка | К родителю #101 | Наверх | Cообщить модератору

121. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  +4 +/
Сообщение от Игорьemail (??), 30-Июл-20, 15:29 
Как пример: микроконтроллеры
Ответить | Правка | К родителю #101 | Наверх | Cообщить модератору

149. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  –1 +/
Сообщение от Аноним (29), 30-Июл-20, 17:13 
Для микроконтроллеров и на C++ хорошо. Даже для Arduino. Для 32-битных тем более.
Ответить | Правка | Наверх | Cообщить модератору

156. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  +/
Сообщение от ann (??), 30-Июл-20, 17:33 
Я могу больше сказать. С++ для микроконтроллеров с его шаблонами замечетельно, а специализированные шаблоны позволяют здорово оптимизировать код. При этом нет никакой прямой работы с памятью и позволяет одним кодом покрыть целую ленейку продуктов.

Но конечно, сейчас придут неосиляторы шаблонов и наминисуют.

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

164. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  +/
Сообщение от Аноним (168), 30-Июл-20, 17:47 
> При этом нет никакой прямой работы с памятью

И когда нам потребуется четко выверенный sequence доступа к периферии ... мы судя по описанию откушаем годного огурца? :)

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

174. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  +/
Сообщение от ann (??), 30-Июл-20, 18:01 
А чего сказать то хотел? Или просто голодный? Огурцы какието.

Я так больше помидорки люблю.

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

205. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  +/
Сообщение от Аноним (-), 30-Июл-20, 19:50 
> А чего сказать то хотел? Или просто голодный? Огурцы какието.

Я хотел сказать что в низкоуровневых системных вещах убер-абстракции зачастую больше мещают чем помогают. Ну например - чтобы стереть флеху в вон том МК - надо вполне конкретный паттерн доступа к регистру (адресу в памяти) отрисовать. А шаг в сторону - и контроллер флеша залочится до ребута, как защита от сдуревшего софта. Это такая хардварная защита, чтобы микроконтроль при глюках себе фирмварь не снес ненароком, что как бы более чем фатально - unrecoverable.

> Я так больше помидорки люблю.

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

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

209. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  +/
Сообщение от ann (??), 30-Июл-20, 20:02 
Не надо тут ничего доказывать. Я не предлагал пихать C++ абстракции везде гне не попадя как растоманы пихают свой раст.

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

Но есть и другие контроллеры, со сложной логикой, например того-же BOSH, где сложная логика для тяжёлой карьерной техники. И логика эта ещё и отличается в зависимости от региона. Вот там абстракции и шаблоны в помощь. При этом есть аналогичный другой производитель подобных контроллеров (не буду его называть, надеюсь сдохнет скоро) в котором схожая сложная логика, но реализована на си с макросами. Там чёрт ногу сломит, поддерживать этот код один кошмар. Благо удалось убедить начальство больше с ними не связываться в будущих проекта.

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

255. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  +/
Сообщение от Аноним (255), 31-Июл-20, 16:57 
> гне не попадя как растоманы пихают свой раст.

Вот этим они утомили. Гербалайф какой-то поразвели.

> её всюду. Си без абстракций прекрасен прост и понятен, с этим никто не спорит.

Мне нравится что он предсказуем. И если я делая вот это или вот это, знаю что чип сделает вот это и вот это. И это сравнимо с асмом по уровню предсказуемости - без грубой непортабельности и не особо читаемых простынок.

> Но есть и другие контроллеры, со сложной логикой, например того-же BOSH, где
> сложная логика для тяжёлой карьерной техники.

А, ну что-то такое - возможно, возможно. Особенно если там гуй какой на экран или чего еще. Я впрочем предпочту от такого держаться подальше.

> реализована на си с макросами. Там чёрт ногу сломит, поддерживать этот
> код один кошмар. Благо удалось убедить начальство больше с ними не
> связываться в будущих проекта.

Ну хызы, я как таковой не особый фанат плюсов. И с поддержкой у плюсов тоже грабли - они большие и сложные, к тому же за годы обрасли разными подвариантами, достаточно разными. Поэтому плюсовики шпрехают каждый на своем субдиалекте. И соответственно когда вопрос встает о том чтобы передать проект - вот тут может случиться полнейшая, абсолютная задница. Я видел как один плюсовик просто урыл проект, понаворотив там для разгона своей эффективности. Он, конечно, разогнал свою эффективность. Но однажды все же задолбался. И на этой планете не оказалось более ни одного человека, готового в принципе иметь дело с этим кодом. Это был эпик фэйл, а того гражданина до сих пор проклинает последними словами толпа народа. Благородный дон хотел конечно как лучше, а вот получилось у него как всегда и даже хуже чем всегда.

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

210. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  +/
Сообщение от ann (??), 30-Июл-20, 20:05 
А про огурец всё равно не понял аналогию.

> не допираю как сделать "характерный паттерн доступа к памяти" без "доступа к памяти"

И правильно. Никак. Так что всё на своих местах.

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

252. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  +/
Сообщение от alex312 (?), 31-Июл-20, 16:39 
>И когда нам потребуется четко выверенный sequence доступа к периферии

Когда действительно нужен четко выверенный sequence доступа к периферии пишут на асме.

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

257. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  +/
Сообщение от Аноним (257), 31-Июл-20, 17:07 
> Когда действительно нужен четко выверенный sequence доступа к периферии пишут на асме.

Покорно благодарю, но - нет! На сях можно писать очень предсказуемо, когда между мной и железкой по сути ничего лишнего нет. Как на асме, но - с намного менее мерзотным синтаксисом, куда читаемее, да еще оптимизер глобальные оптимизации и покруче меня смогет если есть где развернуться.

На асме я делаю только то что _принципиально_ не делается на си. Ну там например, си не может адресовать "special registers" которые не отмаплены в память. Для меня загадка почему ARM их такими сделал, если честно. Ну да, там придется мелкий хелпер воткнуть. Но вот такого я предпочитаю абсолютный минимум. Это напрочь непортабельно и читаемость хреновая.

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

259. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  +/
Сообщение от alex312 (?), 31-Июл-20, 17:27 
> Покорно благодарю, но - нет! На сях можно писать очень предсказуемо, когда

Не благодари. Я ж не о тебе вещаю. А о реальном мире.
И примеров масса. Половина кодеков писана на асме. Асма полно в libc, какую из реализаций не возими.
Начальная инициализация проца при старте практически всегда писана на асме. Да ее, за редким исключением, по другому не реализовать.
Хош пример для МК - так вот HID USB для АVR-ок тоже реалзовано с использованием асма, где надо стабильное время исполнения и гарантированные тайминги.

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

285. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  +/
Сообщение от Аноним (285), 31-Июл-20, 23:31 
> Не благодари. Я ж не о тебе вещаю. А о реальном мире.

А мои фирмвари в параллельном измерении чтоли?

> И примеров масса. Половина кодеков писана на асме.

Щаззз! У меня видите ли есть такое хобби - алгоритмы нравятся. И вот кодеков у меня есть. И таки писаны они все же на си. С небольшими вставками на асме в критичных местах. С фалбэком на чистом си для случая когда систему команд не знаем совсем. То-есть, пишется референс на чистом си, потом - оптимизится местами, с опциональными, в общем то, вставками, там где это разгоняет алгоритм. Так что на асме писаны не кодеки а только оптимизации.

В последнее время кстати пошла мода оформлять сие simd intrinsic'ами. Сказать что они вот прям 100% си конечно кривовато, но они все же записаны сишным синтаксисом. А в чем пойнт? Оно теоретически несколько портабельнее: запрошенная simd операция в принципе может быть изображена из того что есть на вон той платформе, но и на другой платформе оно тоже прокатит, если там есть из чего это эффективно изобразить. На практике, конечно, это сильно менее портабельно чем нормальный си, т.к. некоторые фичи зело уж специфичны и не имеют потребных аналогов на других платформах.

> Асма полно в libc,  какую из реализаций не возими.

В musl вот прямо завалов асма не видел. Меня из него правда в основном работа с временем интересовала - и там совершенно точно никакого асма не было.

> Начальная инициализация проца при старте практически всегда писана на асме.

Я таки бутанул cortex-M гольным си. Без стартапа даже, лол. Мне было интересно проверить насколько арм гонит что можно одними сями. Вообще, не врут. Но есть нюансы :). Так что пару мелких кусочков все же логично юзать, как минимум CPSIE I и CPSID I (глобальный irq en/dis).

> Да ее, за редким исключением, по другому не реализовать.

Cortex M вполне себе втапливают с места в карьер одними сями. Если без стартапа, в начальный момент arena не соответствует стандарту, но с этим можно жить и после пары нехитрых операций окружение приходит в соответствие. Так что си может быть и startup-ом для си. Забавно.

> Хош пример для МК - так вот HID USB для АVR-ок тоже реалзовано с использованием асма,
> где надо стабильное время исполнения и гарантированные тайминги.

Это тот софтварный юсб? Ну да, забавный извратик и masterpiece. Но накладывает сильно дофига ограничений, и вообще, сейчас нормальный хардварный usb подпертый буфером и dma не есть экзотика, чтобы так дико изгалаться.

А так я на сях довольно крутые тайминги степперу без проблем отрисовал. Конечно не 1.5 мегабита как в юсб, но вообще довольно прилично. И между нами, STM32 кроет AVR по фичам как бык овцу. Даже если забыть про USB. И я как-то не очень видел желающих его на асме сильно прогать. Хоть теоретически так и можно.

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

265. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  +/
Сообщение от Аноним (265), 31-Июл-20, 21:22 
> Покорно благодарю, но - нет! На сях можно писать очень предсказуемо, когда
> между мной и железкой по сути ничего лишнего нет. Как на
> асме, но - с намного менее мерзотным синтаксисом, куда читаемее, да
> еще оптимизер глобальные оптимизации
> очень предсказуемо
> оптимизер глобальные оптимизации
>> смотрим для наглядности еще регулярные матюки Линуса в LKML

Оптимизатор gcc, с трансляцией в несколько промежуточных кодов, построением графов codeflow и прочими не только крутыми, но довольно неудобными (и специфичными) для понимания с наскока технологиями, значит "очень предсказуем"...

Не устаю удивляться опеннету - столько анонимных гениев можно встретить только тут ...

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

286. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  +/
Сообщение от Аноним (285), 31-Июл-20, 23:35 
> Оптимизатор gcc, с трансляцией в несколько промежуточных кодов, построением графов codeflow
> и прочими не только крутыми, но довольно неудобными (и специфичными) для
> понимания с наскока технологиями, значит "очень предсказуем"...

HW REGS в памяти нормальные люди, видите ли, допирают указать как volatile и с правильными типами :). И дальше графы графами, а компилер обязан обеспечить то что попросили. На уровне стандартов уже. И таки это и работает. Достаточно предсказуемо для того чтобы вон тот адов легион прогеров с cortex-m делали вот так - и это прекрасно для них работает, btw. Но, конечно, можно сказать что они все раки, и только вы тут один такой вумный.

> Не устаю удивляться опеннету - столько анонимных гениев можно встретить только тут

Блин, я тоже. Вот например тезка пытается лечить что эмбедеры с cortex-m - лохи педальные, как я понимаю :)


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

288. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  +/
Сообщение от Аноним (288), 01-Авг-20, 00:37 
> И дальше графы графами, а компилер
> обязан обеспечить то что попросили. На уровне стандартов уже. И таки это и работает.

Так-так, что там было в последнем выпуске gcc?
>> По сравнению с версией GCC 10.1 в GCC 10.2 отмечено 94 исправления, в основном связанных с устранением регрессивных изменений.

Но главное верить в предсказуемость!

> Достаточно предсказуемо для того чтобы вон тот адов легион прогеров с cortex-m делали вот так - и это прекрасно для них работает, btw. Но, конечно, можно сказать что они все раки, и только вы тут один такой вумный.

Что-то я не видел тут отписавшегося легиона прогеров. Только одного.
Продемонстрировавшего понимание процесса на уровне "если нажать кнопку, то с потолка упадет банан! Всегда падал!" и в качестве мощного аргУмента приписавшего мне что-то абсолютно левое, лол.
Или имя вам - легион?

Кстати, проигнорировав отсылочку на LKML
https://lkml.org/lkml/2017/3/2/644
> From    Linus Torvalds <>
> I can't take this compiler braindamage any more, so I just decided to
> remove the ____ilog2_NaN checks, and return 0 for any constant value < 2.
> It's commit 474c90156c8d ("give up on gcc ilog2() constant

optimizations") in my tree
https://lkml.org/lkml/2014/7/24/584
> From    Linus Torvalds <>
> Ok, so I'm looking at the code generation and your compiler is pure and utter *shit*.
> Adding Jakub to the cc, because gcc-4.9.0 seems to be terminally broken.
> Lookie here, your compiler does some absolutely insane things with the
> spilling, including spilling a *constant*. For chrissake, that
> compiler shouldn't have been allowed to graduate from kindergarten.

Вы хотели завуалированно сообщить нам, что все там раки и только вы один вумный?

> Блин, я тоже. Вот например тезка пытается лечить что эмбедеры с cortex-m
> - лохи педальные, как я понимаю :)

А куда деваться, если тезка продолжает настойчиво демонстрировать педальность? :)


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

169. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  +/
Сообщение от Аноним (161), 30-Июл-20, 17:54 
> Для микроконтроллеров и на C++ хорошо.

Без RTTI.

> Даже для Arduino.

Да, и без STL.

Только можно ли это назвать C++?

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

175. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  +/
Сообщение от ann (??), 30-Июл-20, 18:02 
Да, можно.
Ответить | Правка | Наверх | Cообщить модератору

191. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  +/
Сообщение от Аноним (95), 30-Июл-20, 19:03 
И зачем им обмазываться? Ради того, чтобы написать a->foo() вместо foo(a)?
Ответить | Правка | Наверх | Cообщить модератору

198. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  +/
Сообщение от ann (??), 30-Июл-20, 19:33 
Чего сказать то хотел? Можно и так и сяк. В чём проблема то?

Как минимум шаблоны куда проще отлаживать чем макросы.

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

207. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  +/
Сообщение от Аноним (-), 30-Июл-20, 19:55 
> Как минимум шаблоны куда проще отлаживать чем макросы.

У макросов есть жесточайший плюс: при правильном применении они вообще совсем не генерят код. Они не код как таковые сами по себе.

Кстати растовики вроде это дело малость прочухали. И на мой вкус это им дает пару очков форы относительно serial.begin'щиков, которых за нормальных эмбедеров вообще никто толком не считает.

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

212. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  +/
Сообщение от ann (??), 30-Июл-20, 20:45 
А я не говорил что макросы вселенское зло. При правильном использовании всё только в пользу. Я только сказал что сложные макросы отлаживать сложнее чем шаблоны.

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

А посадить макаку так ей любой язык дай, там такой ужас выйдет что ой...

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

243. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  +/
Сообщение от Аноним (-), 31-Июл-20, 13:29 
> А я не говорил что макросы вселенское зло. При правильном использовании всё
> только в пользу. Я только сказал что сложные макросы отлаживать сложнее чем шаблоны.

За сложные <макросы, функции, код, whatever> в эмбедовке имхо стоило бы превентивно расстреливать киловаттными промышленными лазерами, без суда и следствия. Потому что сложный код ведет к куче багов. Туда же и всякие высококонцептуальные выкрутасы, понимаемые парой двуногих на планете. ИМХО в этих вещах код должен быть таким чтобы в нем было все понятно и логично, без возможности понять это как-то не так. Всякие плюсы и шаблоны в этом смысле звучат довольно подозрительно уже.

> места где это излишнее, есть где наоборот даёт более короткий и
> логичный код. Всего должно быть в меру.

Размер, скорость и логичность кода ... еще и сильно зависит от выбранных оптимизаций. У меня например unused функции аннулируются до нулевого размера. А у кого-то это и дофига кода сверху будет.

> А посадить макаку так ей любой язык дай, там такой ужас выйдет что ой...

Однозначно. И как по мне - так я даже с си порой на грани балансирую в плане понимания что будет сделано по факту и какие там worst case. И на мой вкус, если у меня фирмвара стала выглядеть так что мне захотелось плюсы - я что-то сделал здорово не так еще намного раньше. При принятии решений.

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

162. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  –2 +/
Сообщение от Аноним (168), 30-Июл-20, 17:45 
> Да как нафиг С оказывается на 1-м месте?? Кто на нём вообще пишет??

Ну я. А на чем еще я должен писать фирмварь для микроконтроллера по твоему? Там вон был какой-то чудак с растом, но пусть он как-нибудь сам башкой отвечает за нечто стабильно переколбашиваемое раз в пару месяцев. И если его однажды малость линчуют за то что его гадость кого-то убила - это будет на его совести. А мне нравится максимально простой и предсказуемый код там где он должен таким быть - последняя линия обороны, реалтайм, опасные процессы и т.п. ошибок не прощают, Тойота проверяла.

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

229. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  +1 +/
Сообщение от alex312 (?), 30-Июл-20, 23:05 
Т.е. чуваки из тойоты накалякаляи на Сях реально убийственный код.
А ты из-за этого не будеш писать на расте. Ну ок...

Л - логика.

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

242. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  +/
Сообщение от Аноним (-), 31-Июл-20, 13:20 
> Т.е. чуваки из тойоты накалякаляи на Сях реально убийственный код.
> А ты из-за этого не будеш писать на расте. Ну ок...

А там надо просто посмотреть что было с тем кодом и в каких условиях. И что раст имеет предложить по этому поводу. А был там видите ли stack overflow. И ошибка оценки worst case потребления памяти.

Трабл в том что
1) Раст в той конфигурации тоже точно так же страдает от переполнения стэка. Он изначально вообще не делан с прицелом на платформы без mmu походу.
2) Заткнуть stack overflow в системе без mmu на сях к тому же еще и зело проще чем на расте, что самое интересное. Чувак пытавшийся это на расте закончил с каким-то долбанутым кастомным экспериментальным линкером. Что явно не продакшн-риди решение. В гцц с этим справляется стоковая версия линкера из реп моего дистро.
3) Как вообще в расте дела с пониманием worst case использования stack и RAM?
4) В итоге все что раст имеет предложить в этом случае - много нового клевого геморроя и пока еще неизвестных науке способов убиения юзерей.

> Л - логика.

F - фанатики.

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

244. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  +/
Сообщение от alex312 (?), 31-Июл-20, 14:01 
>Он изначально вообще не делан с прицелом на платформы без mmu походу.

с чего ты это взял ? Тараканы нашептали ?
>Заткнуть stack overflow в системе без mmu на сях к тому же еще и зело проще чем на расте,

опять бла-бла-бла.
>Как вообще в расте дела с пониманием worst case использования stack и RAM?

Как и везде. Зависит от платформы(на каком камне это будет крутиться).
>В итоге все что раст имеет предложить в этом случае

В итоге мы имеем случай, когда некий чувак начинает рассказывать о том в чем нифига не понимает и особо не пытается понять.

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

266. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  +/
Сообщение от Аноним (-), 31-Июл-20, 21:25 
> с чего ты это взял ? Тараканы нашептали ?

Не тараканы а чувак пытавшийся это на расте. Раст видите ли сам по себе - вообще никак не детектит участь своих переменных, если стэк отрос достаточно чтобы въехать в их регион.

Поэтому - только подумайте, если хардварный paging не дал в тыкву за это дело на уровне маркирования регионов (в микроконтроллерах нет paging!) - с растишкой случается все то же самое что и с сями :D. Прога отращивает стэк достаточно для того чтобы тот накрыл переменные, состояние проги отъезжает к хренам собачьим, получается условная Тойота, где юзер вроде бы и сбросил газ, но почему-то оно пошло в разгон - переменные которые это трекали вынесло к хренам стэком, там мусор и прога живет своей жизнью.

> опять бла-бла-бла.

См. внизу более предметно.

>>Как вообще в расте дела с пониманием worst case использования stack и RAM?
> Как и везде.

Такой ответ не котируется. Везде, видите ли, сильно по разному. Я вот например умею убеждать GCC показывать мне stack usage и размер области переменных, соотнося сие с размером региона.

Это правда в теории. Тойота делала хитрее. Они RTOS навернули. C тредами. И лоханулись в оценке worst case. Но это было бы полбеды - упыри сделали сцуко рекурсию и таки это суперкомбо смогло подстрелить им пятку. Хоть MISRA'вские правила и напрямую запрещают такие выходки. Но эти умники видимо всерьез нацелились достойно ответить ариану и все же смогли наесть и это.

> Зависит от платформы(на каком камне это будет крутиться).

А есть какая-то фундаментальная разница? Нет, бывают особо странные извраты где стэк растет вверх, но это малость экзотика.

> В итоге мы имеем случай, когда некий чувак начинает рассказывать о том
> в чем нифига не понимает и особо не пытается понять.

Кушай, не обляпайся:
Общее описание проблемы: https://embeddedgurus.com/state-space/tag/arm-cortex-m/
Как это растаман увидел: https://blog.japaric.io/stack-overflow-protection/

У меня на сях как-то поэстетичнее вышло - и я даже вроде обставил тех эмбедедгур, запилив "золотой резерв" на hardfault handler, так что ему стэк достается, даже если стэк и закончился, cortex M так умеет, довольно нестандартная магия, но прикольно.

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

245. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  +1 +/
Сообщение от Аноним (-), 31-Июл-20, 14:35 
> 2) Заткнуть stack overflow в системе без mmu на сях к тому
> же еще и зело проще чем на расте, что самое интересное.

Ну раз проще _на сях_, то покажи это самое "продакшен-риди" с M$овским компилятором. Или с tcc. Или интел. Нельзя на tcc и в МС? Ну значит, в той же "логике" - не умеет сишка в это на самом деле.

> Чувак пытавшийся это на расте закончил с каким-то долбанутым кастомным экспериментальным линкером. Что явно не продакшн-риди решение. В гцц с этим справляется стоковая версия линкера из реп моего дистро.

Проделай этот же кунстштюк версией gcc 2.0, а то стоковая версия разрабатывается уже более 30 лет и все эти витеватые изложения в разных вариантах "раз инфраструктуру ЯП за 5 лет не смогли подтянуть на такой же уровень - значит ЯП несистемный!Вот!" как ... сбоку бантик.


> 4) В итоге все что раст имеет предложить в этом случае -
> много нового клевого геморроя и пока еще неизвестных науке способов убиения юзерей.

В итоге все, что критиканы на опеннете умеют - твердить на разные лады "это сделано не как в си! Это выглядит не как си! И вообще, ЯП - полная херня, потому что нет оттестированной и вылизанной 30 годами инфраструктуры!"


> F - фанатики.

С закостенелыми мозгами.

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

267. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  +/
Сообщение от Аноним (-), 31-Июл-20, 21:38 
> Ну раз проще _на сях_, то покажи это самое "продакшен-риди" с M$овским компилятором.

Я им не пользуюсь. Да и не умеет он под Cortex M вроде, для начала. И потому продакшн им не соберется "хоть там что".

> Или с tcc.

А он тоже под cortex M не умеет вроде, равно как и layout фирмвари им скомпоновать малореально вообще. У него прикольный парсер (даже довольно суровые упражнения на C99 сжирает нормально) но вот линкинг у него недостаточно крут для компоновки образа фирмвари. Даже если б он умел в набор команд cortex M (он вроде сие не умеет, для начала).

> Или интел.

Скомпилить им фирмварь для cortex M? Это был бы номер!

> Нельзя на tcc и в МС? Ну значит, в той же "логике" - не умеет сишка
> в это на самом деле.

В упомянутом случае это фирмваря была - и там нравится, не нравится, а немного за пределы стандарта вылезти придется. Однако с растом вылезти за пределы стандарта малореально - стандарта для начала нет XD XD XD.

> Проделай этот же кунстштюк версией gcc 2.0,

А чего не Borland C? А то у меня видите ли фирмвара - здесь и сейчас. И gcc у меня таки при этом 9-й. И оно для начала C99 - gcc 2.0 вообще его умел в потребном виде? Ну или он не проходит базовые проверки пререквизитов. Tcc кстати почти весь код так то парсит, но сгенерить cortex M код и тем более скомпоновать вменяемо образ фирмвари он чисто технически не умеет, а сферический ELF в вакууме с хзкаким layout - все же еще не фирмварь.

> а то стоковая версия разрабатывается уже более 30 лет и все эти витеватые изложения
> в разных вариантах "раз инфраструктуру ЯП за 5 лет не смогли подтянуть на
> такой же уровень - значит ЯП несистемный!Вот!" как ... сбоку бантик.

Ну как, если яп позволяет системные фортели, он системный. Если не позволяет - не системный. Другой то реализации, которая бы что-то такое умела штатно, у растишки все-равно нет. Или вы намекаете что надо подождать пяток лет до того как пиндеть как все системно? :)

> лады "это сделано не как в си! Это выглядит не как
> си! И вообще, ЯП - полная херня, потому что нет оттестированной
> и вылизанной 30 годами инфраструктуры!"

Ну вообще, на мой вкус, memcpy у того растамана и правда по уродски выглядит. Левых закорючек в разы больше чем у сишника, гребаный стыд :)). На си и так за это бочки периодически катят. А тут блин "догнали и перегнали".

> С закостенелыми мозгами.

Да вообще странные люди - не понимают зачем все бросать и писать на таком угребище, особенно когда из дельных проектов только наглый спам о том как это круто.

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

247. "Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"  +/
Сообщение от anonymous (??), 31-Июл-20, 14:49 
Мы, кстати, на Go пишем некоторые firmware (но не для микроконтроллеров) :)
Ответить | Правка | К родителю #162 | Наверх | Cообщить модератору

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

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




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

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