Не знаю что сказать. Не сталкивался с ошибками, которые связаны с нестрогой типизацией. В силу компактности кода, в первую очередь.
И вот это правильно! В плане поделок для умного дома, уже заметил, что по сравнению с тем, что было раньше - достиг дзена, когда понимаешь, что сделать можно все что захочешь. Было бы желание!
А главное... все пляски с бубном вокруг: - массивов - структур - перечислений - указателей (как минимум) решаются всего лишь несложной логикой таблиц. и как только поймешь это, про себя думаешь... (про себя думаешь, не вслух.)
Так я об этом и говорю! На Си, над этими данными, я даже не задумываюсь. Просто пишешь и все. Компилируешь, исправляешь описки, и все работает. На LUA - нужно посмотреть и поискать в первоисточниках. При этом Си быстрее, LUA - интерпритатор. Тут наверное, что лучше знаешь, на том и пиши!
На языках высокого уровня код пишется быстрее, программа работает медленнее. Куда идут процессоры, как железо? "Выше, дальше, быстрее". Но не наоборот.
Тут, наверное, сложнее понимание. В Си: Указатель - это переменная с адресом на данные; Массив - адрес начала данных, N-го количества одинаковых данных. И т.д. Все понятно до байта, включая выравнивание структур. А Таблица... Когда освобождается/выделяется память? В каком количестве? Что со стеком? Heap? Особенно в микроконтроллере. Для меня напряжно, в условиях ограниченных ресурсов, может зря, но я и malloc не использую на однокристалках. Вот на PC да - хоть malloc, хоть Java, там памяти много, надеемся, что выделится, если нет - MessageBox и закрыть приложение. А что на однокристалке делать?
Радиолюбитель прежде всего думает о позывном и как заиметь рацию получше. Он может вообще никак не быть связанным с электроникой. Ещё бы программистов радистами назвал. Им как-то ближе - нули и единицы у тех и тех. Только скорости разные). Не путай теплое с мягким. Такая же ерунда и с радиодеталями. Нет таких на белом свете. Деталь - это единое целое выполненное в одном технологическом процессе - гайки, болты, шурупы, заклепки, штамповка и пр. Электронные компоненты слишком сложные, чтобы их называть деталями.
Явления нет, но памяти то может и не хватить. Тогда это уже наша проблема. В Си память тоже выделяется через malloc без проблем, а если ее нет?
Это АРМ. Взрослые процессоры с недавнего времени также пошли по пути развития АРМ - куча мелких команд выполняется на круг быстрее, чем одна специализированная. При этом эти команды из процессоров не вырезаны, а сам процессор из одной команды формирует кучу мелких.
И на каком языке его управлять? Си, Js, Python? Еще есть... А цена падает и падает. А ног полно... и т.д.
Тебе же абсолютно не важно, за какое время поменяют колеса зимние на летние на шиномонтажке? А в формуле 1 от этого зависит победа. Тоже самое и в ответственных приложениях - военка, аэрокосмос - там никто не гонится за технологиями. Наоборот - во главе угла стоит надежность. Стоит ракета. Через 10 лет она должна улететь туда, куда её прикажут. Стремиться надо всегда к лучшему.
в медицине ещё хуже. Там повышение квалификации раз в три года ДЛЯ ВСЕХ в ОБЯЗАЛОВКУ. Но фундамент всё-равно нужен дому, какой-бы ни был евроремонт внутри.
если мы говорим про хобби - не имеет смысла. Иногда даже проще купить готовое, чем всю жизнь идти к самодельной мечте. Если мы говорим про отрасль профессионалов - она отсеит лишних автоматически. И также верно и то, что некоторые хоббисты запросто заткнут за пояс "профессионалов".
Ну да. Но "лучшее" для ракет и для самодельщика - разные вещи. Я в шоке тут от одной промышленной железки с разработкой в среде Ардуино. Но ардуино - это очень хорошо для сарая и гаража.
С malloc есть еще проблема дефрагментации, ну по крайней мере на PC я с этим сталкивался. Однокристалки, у меня были только как хобби, поэтому толко свой опыт. Мне все старшие товарищи строго говорили - никаких malloc на однокристалках. Преклоняюсь перед их опытом до сих пор! Но в отделе был интересный опыт. Был проект с нефтеналивной компанией. У нас женщина написала код для 8051 и для PC управляющего процессом. Железо под 8051 все время висло, и, начальник попросил моего приятеля переписать код под 8051. Приятель переписал код под 8051, залили - начал виснуть PC, управляющий процессом. Начальник попросил приятеля разобраться с кодом на PC. Приятель переписал код на PC и после этого сдали систему.
это в любом случае "не хорошо". Я помню восторг от этой ардуины. Через две недели я пришел в уныние - это нельзя, это только через регистры, здесь костыль вставь, две библиотеки приторочил - не работает ни одна, по одной - работает. Это очень похоже на онанизм - когда очень хочется, но не с кем.