Доступен выпуск проекта Tinygo 0.28, развивающего компилятор языка Go для областей, в которых необходимо компактное представление результирующего кода и низкое потребление ресурсов, таких как микроконтроллеры и компактные однопроцессорные системы. Компиляция для различных целевых платформ реализована при помощи LLVM, а для поддержки языка применяются библиотеки, применяемые в основном инструментарии от проекта Go. Код распространяется под лицензией BSD...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=59281
На самом деле - интересно. Контроллеры ведь теперь очень даже мощные. А Go позволяет писать очень просто разный веб.
Нет они не мощные. Go не позволит делать это на контролере. Go на контроллере даже безопасности не добавит.
Согласен, питон куда больше для контроллеров подходит, все эти рантаймы дрянь ещё та и сишный код из го не вызовешь адекватно.
Сперва найдете примеры проектов (а не хелловордов) на Питоне для микроконтроллеров. :)
А потом говорите.
На самом дели и такие есть, но там Питон в качестве обузы, ради запуска того что есть, а не для облегчения программирования.
А много ли примеров проектов на javacard? При этом, сколько уже тысяч миллиардов применений в реале?
javacard - не платформа для написания приложений, и даже не самостоятельный инструмент,
а средство запуска _простейших_ скриптов в целью их изоляции от ОС.
Считай костыль к более серьёзной платформе.
> javacard - не платформа для написания приложений, и даже не самостоятельный инструмент,
> а средство запуска _простейших_ скриптов в целью их изоляции от ОС.
> Считай костыль к более серьёзной платформе.Ну вот, а питон вполне себе платформа для мк и самостоятельный инструмент. Почему код коммерческих применений должен быть бесплатным? Конечно, он таким не будет.
Гггг... тонко. Зачот.
> Go не позволит делать это на контролере.А как же новость про TinyGo? Гонят небось... Спасибо что предупредили
при чем тут мощь? это уже будет не микроконтроллер, а процессор, и уже другая ниша. я вообще не понимаю людей, запихивающих веб-сервер в МК типа esp32 или stm32f407, ибо оно ляжет при малейшем шквале запросов.
> я вообще не понимаю людей, запихивающих веб-сервер в МК типа esp32 или stm32f407Правильно говоришь, надо создать платформу, хорошо расширяемую горизонтально, обязательно чтоб кибернетс , а то как оно шквал от одного единственного клиента выдержит. Да, без клауд флэйр и AWS начинать даже не стоит
> ибо оно ляжет при малейшем шквале запросов.
Правильно, даешь - Волга, Запорожец и Москвич! Просто, надежно и ненужно
не путай вебмaкaкерство и забивание саморезом молотка. Если посмотреть эти недоIoT проектики через вайфай, то они не то, что в Си не шарят, они вообще просто сплошная уязвимость. Даже для SSL уже надо либо криптомодуль, либо много ресурсов. Стоимость флагманского двухядерного МК на Cortex M7 сравнима и даже больше стоимости RV64/Cortex A + RAM + EMMC.
> Правильно, даешь - Волга, Запорожец и Москвич! Просто, надежно и ненужноты в этом вообще не разбираешься, на момент существования Москвича, особенно последних версий, это было норм авто по сравнению с жигами. А зипер могу вообще проползти там, где нива не проедет.
С точки зрения цены интереснее купить Xeon на Алике + кучу уже никому ненужной и потому дешёвой DDR3 за копейки. И ни какой Арм не сравнится с этим. Только фокус в том, что микроконтроллеры умеют то, что не умеют процессоры и дело тут часто совсем не в цене.
Да, и первое это энергосбережение, у флагманов до 400мА, а обычных 40мА.
вот кстати как раз тебе отвечу: да, когда можно просто подсоединить по радиоканалу 2.4 или 433, например, UART или RS485, CAN, надо обязательно создать платформу, молотить JSON и веб-сервер целый текстовый подымать.
Зачем json для контроллера? В uart можно просто структуру скорость.
В том то и дело, что низачем
>>Зачем json для контроллера? В uart можно просто структуру скорость.Что? Через сокет получены данные json, и туда же надо их выдать. Ну просят так.
Как тут поможет структура, и тем более uart? :)json - это прежде всего формат обмена данными. Если устройство не вещь сама в себе, и в ваккуме, то json нужен. И кстати, он не тяжелый, и с готовыми библиотеками проблем нет.
Плохо когда его используют не по назначению, и не только на микроконтроллерах.
Веб серверы бывают разного назначения. На контроллерах обычно это панель управления, информационные страницы, или типа того.
>>оно ляжет при малейшем шквале запросов.Не ляжет, просто "лишние" запросы пойдут или лесом, или в очередь, как получится.
Назначение подобных серверов, не обработка запросов даже хотя бы от десятка клиентов.
А при нормальном использовании всё просто, удобно, и красиво.Хотя, если бездумно взять некий код от некого автора, и добавить своего г*внокода, то можно добиться и залегания. Наверное.
> А Go позволяет писать очень просто разный вебПростите, а при чём здесь веб?
Не часто вижу, чтобы рефлексию называли "отражением", так действительно принято?
Поддержу, тоже резануло взгляд. «Рефлексия» хорошее слово, не понимаю зачем его стесняться. От «результирующий» я бы тоже избавился. Это вообще мутант какой-то, а не слово.
Если кто-то не владеет русским языком, это только его проблема. Хотя лично я использовал этот термин в контексте отражения в ORM. Как ты собираешься говорить, что ты делаешь, если по-русски, "рефлексируешь", да?
Да. В чём проблема-то? «Рефлексировать» привычное слово с понятным значением.
> Да. В чём проблема-то? «Рефлексировать» привычное слово с понятным значением.В значении "реагировать" или может быть даже в значении "размышлять, анализировать"?
Да, так уж сложилось, что в русском языке у слова нет более буквального смысла "отражать/отображать". Т.е. вы тащите очередной корявый англицизм (удобно, чё), но на этот раз слово уже занято.
Придется, видимо, перейти на чтение оригиналов - вместо opennet....
Нет, «рефлексия» это буквально «думать о том как и о чём ты думаешь», «мышление про мышление», и т.п. И аналогичный процесс в ЯП поэтому и называют рефлексией. Каким образом «отражение» для этого лучше подходит не понимаю. Что там куда отражается?
Нет, это буквально то, чем занимается зеркало. А операция называется рефлект, т.е. отразить. Что и куда? Описание в исполняемый код, например. Кстати, зеркало тоже есть (и да, это вариант отражения).
>Кстати, зеркало тоже есть (и да, это вариант отражения).Это современная поэзия какая-то?
> Нет, это буквально то, чем занимается зеркало. А операция называется рефлект, т.е.
> отразить. Что и куда? Описание в исполняемый код, например."Флекто" - гнуть. "Ре" - обратно. Амальгама на стекле отражает лучи света. Если такая штука стоит внутри фары, называется светоотражатель или рефлектор. Когда мы в него зырим, тогда оно называется зеркало.
Когда интерпретатор JS видит new this['Foo']()['hello']()
он смотрит в структуру данных типа map
и вызывает соответствующий ему new Foo().hello()
что обычно переводят как "отображение".
А откуда взялось "рефлексия" я вообще опасаюсь рефлексировать.
>А откуда взялось "рефлексия" я вообще опасаюсь рефлексировать.И не надо; ты не понимаешь о чём говоришь и пример твой с ЖС вообще не про то.
>>А откуда взялось "рефлексия" я вообще опасаюсь рефлексировать.
> И не надо; ты не понимаешь о чём говоришьКак говаривал Линус Торвальдс: "слова ничего не стоят, покажи мне свой код". Покажи мне интерпретатор, который ты написал.
> и пример твой с ЖС вообще не про то.
А знал бы, про что мой пример - обязательно бы написал? ;)
Но ты не Линус Торвальдс, а просто повторяешь за ним, имитация Торвальдса. Зачем тебе что-то показывать?>про что мой пример
Про мапу и отображение, всё ок. Но только как это связано а) с рефлексией б) с «отражением», с которого всё началось? (Наверно отражение и отображение это в принципе одно и то же, да? Или какая-то другая сказка будет?)
> Зачем тебе что-то показывать?Что бы реабилитироваться в моих глазах.
>>про что мой пример
> Про мапу и отображение, всё ок. Но только как это связано а)
> с рефлексией б) с «отражением», с которого всё началось? (Наверно отражение
> и отображение это в принципе одно и то же, да? Или
> какая-то другая сказка будет?)Поскольку ты сначала растопырил пальцы, а потом не показал необходимый минимум, не вижу причин тратить время, пытаясь объяснить это тебе.
>Что бы реабилитироваться в моих глазахЭм, может ли хоть у кого-нибудь существовать хоть какая-то необходимость реабилитироваться в твоих глазах? Ах да, Торвальдс сказал, а ты повторил.
>Поскольку ты…
Написал бы прямо: «ответить нечего»
>>Что бы реабилитироваться в моих глазах
> Эм, может ли хоть у кого-нибудь существовать хоть какая-то необходимость реабилитироваться
> в твоих глазах?За всех не знаю, но конкретно ты старательно что-то из себя строишь, пытаясь внушить мне своё мнение при помощи посредственных приёмов риторики. Что бы у тебя были шансы на это, тебе необходимо иметь в моих глазах хоть какой-то вес.
>>Поскольку ты…
> Написал бы прямо: «ответить нечего»Я тебе так и написал: "А знал бы, про что мой пример - обязательно бы написал? ;)"
>тебе необходимо иметь в моих глазахПовторю тот же вопрос, но в менее смягчённой форме: ты вообще кто такой, чтобы было «необходимо» иметь вес в твоих глазах и «реабилитироваться» перед тобой? Кроме того, что ты себя считаешь себя сопоставимым с Торвальдсом есть ещё что-то?
>Я тебе так и написал: "А знал бы, про что мой пример - обязательно бы написал? ;)"
Здесь повторю себя же: твой пример — про мапу и отображение, всё ок. Но только как это связано а) с рефлексией б) с «отражением», с которого всё началось?
Простой вопрос: как отношение имеет отражение к отображению?
>>Я тебе так и написал: "А знал бы, про что мой пример - обязательно бы написал? ;)"
> Здесь повторю себя же: твой пример — про мапу и отображение, всё
> ок. Но только как это связано а) с рефлексией б) с
> «отражением», с которого всё началось?
> Простой вопрос: как отношение имеет отражение к отображению?Здесь я повторю себя же: покажи мне интерпретатор, который ты написал. И разверну намёк в более доступной для тебя форме:
Если бы ты написал интерпретатор, ты бы знал, как реализуется "рефлексия", и вопрос отпал бы сам собой. Но ты никогда не писал ничего подобного, потому у тебя и вызывает удивление описание очевидного варианта реализации.
> ты себя считаешь себя сопоставимым с Торвальдсом
Дай цитату, где бы я заявлял такое. Без неё получается, что ты сам так считаешь и приписываешь своё мнение мне.
>>тебе необходимо иметь в моих глазах
> Повторю тот же вопрос, но в менее смягчённой форме: ты вообще кто
> такой, чтобы было «необходимо» иметь вес в твоих глазах и «реабилитироваться»
> перед тобой?Я тот, кто смог опубликованной ссылкой на достаточный минимум информации о себе поставить тебя в тупик.
>Если бы ты написал интерпретатор, ты бы знал, как реализуется "рефлексия", и вопрос отпал бы сам собой. Но ты никогда не писал ничего подобного, потому у тебя и вызывает удивление описание очевидного варианта реализации.Какое отношение реализация рефлексии имеет к её названию? Это «рефлексия», как ты её ни реализуй, она останется рефлексией. Разговор изначально был про то, что «рефлексия» более подходящее для неё название, чем «отражение». При чём тут устройство интерпретаторов? При чём тут реализация рефлексии?
>Дай цитату, где бы я заявлял такое. Без неё получается, что ты сам так считаешь и приписываешь своё мнение мне.Смотри, ты написал «Не надо слов, покажи свой код», сославшись на Торвальдса. Но это не универсальная и безусловно работающая фраза. Торвальдс может позволить себе такое. Ноунейм из интернета тоже может, но будет выглядеть комично и воспринимать его всерьёз не обязательно. Ноунейм из интернета не Торвальдс, а только повторяет за ним — «я как взрослый, написал интерпретатор, покажи свой код!» Ты в этом упорствуешь без всякой видимой причины, видимо, только из-за того, что ты действительно написал интерпретатор и теперь требуешь от окружающих не меньшего. Такое «заткнись щенок, я воевал» в программировании.
>Я тот, кто смог опубликованной ссылкой на достаточный минимум информации о себе поставить тебя в тупик
А если смотреть с моей стороны, то ты в тупике. Так что даже не знаю что сказать.
>>Если бы ты написал интерпретатор, ты бы знал, как реализуется "рефлексия", и вопрос отпал бы сам собой. Но ты никогда не писал ничего подобного, потому у тебя и вызывает удивление описание очевидного варианта реализации.
> Какое отношение реализация рефлексии имеет к её названию? Это «рефлексия», как
> ты её ни реализуй, она останется рефлексией.Я это разъяснял в исходном сообщении выше, на примере рефлекторов фар и зеркала.
> Разговор изначально был про
> то, что «рефлексия» более подходящее для неё название, чем «отражение».
> При чём тут устройство интерпретаторов? При чём тут реализация рефлексии?Изначально в России был русский язык, а потом появились вот такие рефлексирующие со своей хуцпой: сами обосновать необходимость заимствования не могут и просят оппонента.
>>Дай цитату, где бы я заявлял такое. Без неё получается, что ты сам так считаешь и приписываешь своё мнение мне.
> Смотри, ты написал «Не надо слов, покажи свой код», сославшись на Торвальдса.Обычно я это пишу без ссылок на кого-то. Про Торвальдса специально для тебя написал.
> Торвальдс может позволить себе такое.
> Ноунейм из интернета тоже может, но будет выглядеть комичноТак ты и есть абсолютный ноунейм. У тебя нет ни имени, ни кода, ничего вообще нет, кроме проекций. Ты даже не смог найти у меня на гитхапе книгу В. Ф. Турчина, где он писал о "рефлексии".
>хуцпойКакие есть обоснования для этого заимствования?
>Про Торвальдса специально для тебя написал
Спасибо за индивидуальный подход.
>не смог найти у меня
А должен был? Тебя с твоим самомнением в общественный транспорт по одному билету пускают или приходится ещё один по грузовому тарифу покупать?
>>хуцпой
> Какие есть обоснования для этого заимствования?Твои действия не свойственны русским людям, потому в русском языке определения для них нет.
>>не смог найти у меня
> А должен был?Нет, конечно. Наоборот, я создал фильтр, он и должен отсеивать таких как ты.
> Нет, «рефлексия» это буквально «думать о том как и о чём ты
> думаешь», «мышление про мышление», и т.п.Рефлекс в русском языке -- это реакция на раздражитель. Свойственна даже инфузориям-туфелькам. Думать - это высшая нервная деятельность, присущая людям. Похоже, не всем.
Про рефлекс ты прав 100%, но разговор-то про рефлексию, а не рефлекс.
Когда у инфузории туфельки срабатывает рефлекс, она рефлексирует. Это устоявшееся значение вошло в обиход задолго да явления секты свидетелей рефлексии. И разговор про то, что кто-то рефлекторно применяет кальку с "английского", не разделяя рефлексы на условные и безусловные.
Ну вошло и вошло, потом появилось ещё одно значение.
Где оно появилось? В инглише? Так у них нет собственного слова на эту тему, вот и заимствовали латынь, в меру своей рефлексии.
В русском! Если мне не веришь, то посмотри в корпусе русского языка, он доступен онлайн.
Вот сам и посмотри. Особенно на даты.
Так я и смотрю: 1867, Н.В. Шелгунов «Люди сороковых и шестидесятых годов» — слово «рефлексия» употребляется как раз в том смысле, о котором я говорю. А ты куда смотришь?
Я смотрю, что ты не понимаешь, что "даты" - это множественное число, а не единственное.
А ты посмотрел? Не поленись, посмотри: корпус > «рефлексия» > результаты поиска в панахроническом корпусе. Слово «рефлексия» не как «реакция на рефлекс» или «отражение» употребляется давно и не единожды. Можешь, конечно, упорствовать и продолжать считать его новомодным англицизмом, это говорится, личное дело, но лучше не надо.
> А ты посмотрел? Не поленись, посмотри: корпус > «рефлексия» > результаты поиска
> в панахроническом корпусе. Слово «рефлексия» не как «реакция на рефлекс»
> или «отражение» употребляется давно и не единожды.Я не собираюсь за тебя доказывать, что оно употреблялось "давно и не единожды" в отношении программ для ЭВМ.
Мне достаточно обличить тебя в попытке подменить тезис и переложить бремя доказательства на оппонента.
> Можешь, конечно, упорствовать
> и продолжать считать его новомодным англицизмом, это говорится, личное дело, но
> лучше не надо.Г-н анонимный эксперт ***чисто внешний, рефлективный ум***, холодный к своим героям и ничего с ними не переживающий. У него нет способности психического анализа и нет тени сознания той всеобъемлющей стихийной борьбы, какая совершается в социальной истории человечества.
(ц) Шелгунов Н. В.
>что оно употреблялось "давно и не единожды" в отношении программ для ЭВМА вот «отражение» так всегда применялось в отношении программ и ЭВМ, испокон веков, так сказать.
>цитата из интернета
Окей, бумер. Давай ещё про инфузорий что-то. Короткими предложениями. Как ты любишь.
>>цитата из интернета
> Окей, бумер.На процитированный мною труд Шелгунова Н. В. ты сослался сам в №73.
То есть ты с текстом не знаком.
А потому верно себя определ.
Ну так стильно, модно, молодежно придумывать новые термины давно известным вещам.))) Так сказать тенденция.
Надо же народу как то новые диссертации защищать. Вот и изобретают новые термины)))
а контроллеры ДЕЛЬТА он могёт? А то ST как-то тупо
Зачем когда уже есть Mojo?
>поддержку распараллеливанияА нафига на микроконтроллерах распараллеливание?
Потому что современные мк часто многоядерные и по производительности могут быть мощнее чем напр. первый/второй пень
Микроконтроллер понятие растяжимое. Зачастую это не только мигание диодом.
за тем же, зачем есть и RTOS, только проще. например, выводить на экран и одновременно обрабатывать кнопки, контролируя основную функцию при этом, чтобы не было 10-этажных велосипедов из состояний и условных конструкций с флагами и таймерами
Как нафига, это же Го - тормозить, собирать данные и отправлять в гугл телеметрию.
> это же Го - тормозить, собирать данные и отправлять в гугл телеметрию.Троль. Не, Троль безграмотный, обыкновенный
О грамотности. Правильно писать "тролль", а не "троль".
> О грамотности. Правильно писать "тролль", а не "троль".Это поменяет суть тролля?
SVD файлы можно было взять и с репозитория ST. А то взяли у растовщиков, у них там генератор есть заголовков на основе файла описания регистров.
>ST Micro "Nucleo" L031K6Фигасе, даже такие задохлики поддерживаются.
>Язык Go выбран вместо Rust так как он более прост в изученииЯсно, для неосиляторов.
>предоставляет независимую от реализаций потоков поддержку распараллеливания
На Rust такое невозможно, что ли?
>предлагает обширную стандартную библиотеку
Интересно, что такое есть в этой библиотеке, чего нет в стандартной библиотеке Rust. Я уж про crates.io молчу.
Про сборщик мусора в Go решили умолчать почему-то. Почему? Вряд ли микроконтролер оценит его наличие по достоинству.
>На Rust такое невозможно, что ли?Ну, попробуй, пораспараллеливай на no-std расте без операционки. Знаю (нагуглил, так бы оно не сдалось), есть pasts, но это уже зависимость от реализации.
>Интересно, что такое есть в этой библиотеке, чего нет в стандартной библиотеке Rust. Я уж про crates.io молчу.
Для микроконтроллеров подходит только core и no-std. А стандартная библиотека go, это не совсем то же, что у раста.
>сборщик мусора в Go
Да и хрен с ним. Скажем так: Go на микроконтроллере нужен там, где писать прошивку с нуля на сях/расте получится слишком долго и муторно (если нужна та же многопоточность, например), а полноценная операционка на чип или не влазит, или оверкилл.
Отличная вещь для быстрого прототипирования с низким порогом обучения. Простой и понятный синтаксис языка, компилятор генерирует компактные бинарники. Сборка мусора будет только в плюс для небольших домашних проектов, а для других все равно Си остается незаменимым.
> а для других все равно Си остается незаменимымКонечно, это не так. Си пора уже на свалку истории. Своё дело он сделал.
В чем можно не сомневатся, так это в том, что Си переживет своих хейтеров.
LLVM совсем уж не tiny
> LLVM совсем уж не tinyТак LLVM в бинарь никто и не включает, он используется лишь для генерации кода