The OpenNET Project / Index page

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



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

Оглавление

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

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


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

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

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




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

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