URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 134037
[ Назад ]

Исходное сообщение
"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "

Отправлено opennews , 18-Июн-24 23:05 
Доступен выпуск проекта Tinygo 0.32, развивающего компилятор языка Go для областей, в которых необходимо компактное представление результирующего кода и низкое потребление ресурсов, таких как микроконтроллеры и компактные однопроцессорные системы. Компиляция для различных целевых платформ реализована при помощи LLVM, а для поддержки языка применяются библиотеки, применяемые в основном инструментарии от проекта Go.  Код распространяется под лицензией BSD...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=61396


Содержание

Сообщения в этом обсуждении
"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Аноним , 18-Июн-24 23:35 
Сборщику мусора на устройствах жёсткого реального времени самое место.

"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено голос из леса , 19-Июн-24 00:03 
Куча приборов где реальное время не упало никому. Для каких нибудь кондиционеров реакции вообще минутами измеряется и тащить туда переоценных и вечно делающих баги сишников просто смысла нет.

"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Аноним , 19-Июн-24 02:51 
> переоценных и вечно делающих баги сишников просто смысла нет

1. Зарплаты переоцененных сишников ниже срежднего мидла фронтендеров на JavaScript
2. а про баги обидно - можно и вычистить и покрыть тестами


"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Аноним , 19-Июн-24 09:18 
Разработчики невоенных встроенных систем в целом мало получают. Да и военных тоже, но не все.

"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Аноним , 22-Июн-24 13:45 
> Разработчики невоенных встроенных систем в целом мало получают. Да и военных тоже,
> но не все.

Да это в РФии так. Ну РФия и стала светочем инноваций... правда, с другой стороны списка. Может заспорить с каким-нибудь Лесото.


"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено uchiya , 22-Июн-24 17:50 
То ли дело другие места, истинные светочки инноваций, за которые правда приходится платить зачастую чеками как в 18 веке.

"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Аноним , 23-Июн-24 07:30 
> То ли дело другие места, истинные светочки инноваций, за которые правда приходится
> платить зачастую чеками как в 18 веке.

В более приличных странах понимают что нормальные специалисты не собираются работать за еду.


"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Эдди , 26-Июн-24 10:53 
... не собираются работать за еду.

а только за вкусную еду

  


"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Эдди , 26-Июн-24 10:52 
Какого списка? Кто его составлял?

"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Аноним , 19-Июн-24 02:58 
>Куча приборов где реальное время не упало никому.

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


"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Аноним , 19-Июн-24 04:56 
> Куча приборов где реальное время не упало никому. Для каких нибудь кондиционеров
> реакции вообще минутами измеряется и тащить туда переоценных и вечно делающих
> баги сишников просто смысла нет.

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

А ставить что-то отдельное для более жесткого реалтайма это отдельные деньги и канитель. Все обычно вешается на 1 камень по возможности. И там GC таки будет не подарок.


"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено User , 19-Июн-24 07:54 
И... И... Ииииии... Пользователь просто нажмет кнопку на пультике ещё раз - даже и не матюкнется при этом. А общая стоимость обслуживания игогошницы по сравнению с сями выйдет раз в 8-10 меньше - в хорошем для цэшников случае. Такие вот дела.

"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено 111 , 19-Июн-24 09:14 
Идите нафиг с таким предложением! Я хочу один раз нажать кнопку и чтобы всё работало!

"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Аноним , 19-Июн-24 09:17 
А ещё ты хочешь более быструю лошадь вместо машины. Как же ты не поймёшь что производителю лучше знать чего ты хочешь.  

"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено User , 19-Июн-24 09:32 
Но купишь по местной привычке - вот самое дишманское из всех решений, да?

"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Аноним , 19-Июн-24 10:47 
> Но купишь по местной привычке - вот самое дишманское из всех решений, да?

Ну и вот получит пультик работающий через раз тогда :)


"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено User , 19-Июн-24 10:55 
>> Но купишь по местной привычке - вот самое дишманское из всех решений, да?
> Ну и вот получит пультик работающий через раз тогда :)

Я вас умоляю! "через раз" на gc наступать - даже со старой java'ой постараться надо было. А с учётом частоты использования типового "пультике" - ну, раз в полгода, может быть...


"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Аноним , 19-Июн-24 13:40 
Как? Как можно гарантировать, что в пульте не села батарейка, что он не обернут фольгой, что ты не запихнул его в кастрюлю с борщем, в лучшем случае на пульте будет лампочка, которая мигнет зеленым если команда прошла, или красным если нет, или не мигнет вовсе, что опять же значит - нет.

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

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


"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Советский инженер , 19-Июн-24 10:12 
>Для какой-нибудь защиты от превышения напряжения/тока, декодирования сигнала пультика и проч - реалтайм

со всякими защитами по току/напряжению почти согласен, но пультик. вот не смеши.
сигнал приемника заводиться на апаратуру с прерыванием (или таймер или GPIO), данные в прерывание складываются в буфер и затем спокойно обрабатываюися в основном цикле.


"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Аноним , 22-Июн-24 13:43 
> сигнал приемника заводиться на апаратуру с прерыванием (или таймер или GPIO),
> данные в прерывание складываются в буфер и затем спокойно обрабатываюися в основном цикле.

Заводить сигналы контролируемые внешним миром на IRQ как бы несколько моветон ибо так вам в результате можно всю систему жесточайше положить ремотной активностью - устроив "interrupt storm" в самом брутальном и лобовом виде. При том в энных условиях это даже само может получиться, даже не злонамеренно.

Алсо до того как это рассказывать нехило бы позырить на формат пакетов пультов. Ну вот нет в МК железок таких - и даже подпор измерений таймером все равно не отменяет нужду быстро вертеться на все это дело, на каждый бит.


"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено slamming brutal death metal , 19-Июн-24 10:14 
> вечно делающих баги сишников просто смысла нет

Глупости пишешь.


"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Аоаососооа , 19-Июн-24 05:52 
GC можно выключить.

"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Аноним , 19-Июн-24 09:34 
https://news.ycombinator.com/item?id=27117777


"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Асян , 19-Июн-24 13:10 
Ну так выключи её, Go отлично работает и без, просто код должен быть написан соответсвующе.

"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено _kp , 19-Июн-24 01:08 
Если компилировать вне контроллера, то и смысла нет, уже все равно чем компилировать.

>>Скомпилированная программа напрямую может >>запускаться на микроконтроллерах,

Речь о обычном бинарнике.

Судя по фразе, что для датчиков и интерфейсов
предоставляются "специальные драйверы",
(то есть вместо протестированных кот в мешке), предположу что это плохо уживается с остальным ПО контроллера.
Об обработке ошибок и блокировках слышали?
Действия например при зависании одного из устройств на i2c шине? ;)
Тут сборщиком мусора сыт не будешь.

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

Да ну? А если в скрипте ошибка, всё ПО контроллера полетит к чертям?
И как обновлять отдельный из "скриптов автоматизации"? ;)

В общем, игрушка для АЭС.


"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Аноним , 19-Июн-24 10:07 
Так же как на сименсе.

"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Аноним , 19-Июн-24 04:53 
> Скомпилированная программа напрямую может запускаться
> на микроконтроллерах, что позволяет применять Go

А что они с GC там сделали? С ним видите ли реалтайм получается - "не очень". Или это так, на правах "дадим микропитону пинка не только в вебе"?! Ринать трупы - некультурно! :)


"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено User , 19-Июн-24 08:12 
Ну, во-один - задач, для которых критичен именно строгий риалтайм в мире сильно не 100%. И в мире эмбеддовки - не 50% даже. Во-два если уж лезть в эту кроличью нору, быстро выясняется, что generic linux для таких задач подходит не очень-то. И не-generic тоже не предел мечтаний. Но почему-то толпу топильщиков "за rtos" мы не видим... А вот цэшников наблюдаем.
Может дело не в инструменте и не в особенностях предметной области - а в давлении на чюйство илитарности и, одновременно, карман?
Да не... Быть такого не может, ерунда какая-то.

"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Аноним , 19-Июн-24 08:27 
Ты это сейчас раст так решил захейтить? Зря ты так, тут пацаны такое не любят.

"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено tty0 , 19-Июн-24 08:38 
Расту место в исследовательских проектах. Проблема утечек памяти и выхода за границы сильно переоценена: зачастую, в приложении таких ситуаций бывает очень много, но они не к чему не приводят, потому сишникам и нас****.
А если серьезно - те, кто тянут Раст и на си бы написали без косяков, а вот как учебный язык, который приведет понимание работы с памятью - это отличное решение

"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Аноним , 19-Июн-24 09:23 
> если серьезно - те, кто тянут Раст и на си бы написали без косяков

О, святая простота


"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Аноним , 19-Июн-24 14:28 
> Проблема утечек памяти и выхода за границы сильно переоценена

Всего лишь 70% всех cve


"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Аноним , 19-Июн-24 10:32 
>в мире эмбеддовки - не 50% даже

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


"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено User , 19-Июн-24 11:01 
>>в мире эмбеддовки - не 50% даже
> В embedded таких большинство. Без точного тайминга с учётом инерции ротора и
> резонансов ты даже шаговым двигателем нормально не покрутишь, он будет сильно
> вибрировать, трещать, греться и проскальзывать, и ни о какой точности позиционирования
> даже речи не будет идти.

Ну, если вы так говорите... То всякому I(ди)OT'у в этот момент становится очень удивительно узнать, что они, оказывается, "строгий real-time" обеспечивают.


"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Советский инженер , 19-Июн-24 12:06 
щас бы заниматься всякой фигней типа рулить шаговиком силами МК вместо того что б взять готовы

"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Советский инженер , 19-Июн-24 12:07 
* что бы взять готовый драйвер у того же ТI.

"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Аноним , 20-Июн-24 12:07 
>у того же ТI

А как же импортозамещение, Советский инженер? ;)


"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Советский инженер , 20-Июн-24 16:02 
> А как же импортозамещение

если надо, то импортозамещай.
я не против. или что? подсказать как это сделать?


"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Аноним , 22-Июн-24 13:50 
>>в мире эмбеддовки - не 50% даже
> В embedded таких большинство. Без точного тайминга с учётом инерции ротора и
> резонансов ты даже шаговым двигателем нормально не покрутишь, он будет сильно
> вибрировать, трещать, греться и проскальзывать, и ни о какой точности позиционирования
> даже речи не будет идти.

Да вон какой-то тип на ESP с микропитоном - попробовал софтварно, микропитоном, "частотник" мотору изобразить. В принципе - оно даже сколько-то как-то работало даже. Но, правда, потом оказалось что если его предоставить себе надолго, иногда силовые ключи бабахают, лол.


"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Аноним , 19-Июн-24 07:42 
MicroPython уже не нужен?

"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Аноним , 19-Июн-24 08:29 
> MicroPython уже не нужен?

Да он никогда и не был нужен.


"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Аноним , 19-Июн-24 12:54 
> Tiny
> LLVM

Можно выбрать только одно.


"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено _kp , 19-Июн-24 14:16 
Картошку перевели в очистки на 99%

"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Bottle , 19-Июн-24 15:16 
С одной стороны здорово, что развивают альтернативные компиляторы, а с другой стороны, это дополнительное распыление сил сообщества на разные фронты.

"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Илья , 20-Июн-24 17:40 
Ждём микродотнет

"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Советский инженер , 20-Июн-24 18:29 
да пожалуйста - https://github.com/nanoframework

"Опубликован Tinygo 0.32, компилятор языка Go на базе LLVM "
Отправлено Аноним , 22-Июн-24 13:51 
> Ждём микродотнет

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