Добавлю свои 5 копеек. Сам копаюсь в stm используя ресурсы stm32duino). Для себя сделал такой вывод: низкий уровень для спецов и коммерческих проектов, оптимизированный под более дешевые контроллеры с малым объемом памяти (не важно stm это или что-то еще); высокий уровень для единичных поделок, где стоимость "памяти" не играет заметной роли, а вот повторяемость и читабельность для разработчика и других любителей играет важную роль (не всё же собаку съели на программировании), особенно если разработчик, скажем, страховой агент), который собаку собаку съел в страховании))) Высокоуровневые языки это будущее, они развиваются, упрощаются, благодаря этому развивается и железо - становится мощнее и дешевле. Естественно все ИМХО