Как стать автором
Обновить

Комментарии 29

Так а как ардуинина на которой килобайты памяти будет исполнять скомпилированный скетч?

Чудом)

А сколько там разных профилей Java?

Чего?

Java ME, Java Card (последняя в каждой sim-карте).

Как это относится к микропайтону?

Подозреваю, что "там" в посте @dyadyaSerezha было в значении "существует", а не "находится".

Конечно :) Существование готовых средств делает менее нужным немедленное создание еще одного. Но отчего не обсудить концепт? Может, в итоге выяснится, что концепт не нужен. Тоже Ок :)

Судя по статье вам нужен не ещё один язык, а ещё одна библиотека HAL со своим "преферансом и куртизанками".

Да, можно и так сказать. Подвид HAL

PHP это компилируемый интерпритатор, для embedded систем нужен исключительно компилируемый яп.

Также стоит заметить что С embedded не умеет использовать указатели (в контроллерах нет озу) и у него нет классов.

Ардуинский С/С++ вполне себе умеет классы и указатели (хотя в контроллерах нет ОЗУ)

И даже динамическое выделение памяти )

В смысле нет озу? Это что даташиты мне врали?!

Не обязательно, espruino живет уже больше десятка лет - js интерпретатор для контроллеров. CircuitPython так вообще не просто живет но процветает. На многих популярных контроллерах более чем достаточно оперативки - у того же rpi pico целых 264kb. Не говоря уже о девайсах более высокого класа вроде teensy 4 с целым мегабайтом.

Что, естественно, не значит что интерпретаторы в микроконтроллерах лучше плюсов и прочих компилируемых языков. Единственный плюс это простота разработки, что делает их валидными практически исключительно для хобби проектов где оптимизация не особо важна. ИМХО.

С embedded не умеет использовать указатели (в контроллерах нет озу)

Если где то существуют контроллеры без ОЗУ - то наверное не умеет. Но это что-то очень специфическое. И для них вряд ли есть С.

у него нет классов

Угу. Это С. Классы в плюсах. ;)

Запрещу с понедельника своим ребятам использовать указатели и ОЗУ в контроллерах, а то они тоже законы физики нарушают, походу

Интерпретатор Бейсика?

На здоровье. И еще. И это даже не интерпретаторы, а вполне себе компиляторы.

К сожалению далеко не все на них можно реализовать. А что-то можно, но на С проще.

Вы бы уж лучше TCL или Forth туда портировали….

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

Наоборот, сложные непонятные штуки становятся естественными для использования. Нужен контроллер для ворот, работающий в один проход при нажатии на кнопку - просто пишем в один проход. Кнопку "линкуем" к прерыванию по выводу. И вот оно работает. Средства для этого, конечно, и сейчас есть. Но чем нагляднее и проще пользоваться, тем охотнее пользуются. Смысл в этом. Тот же Python почему "взлетел"? Простой и наглядный. Детей на нем учат теперь

Как опытный PHP разработчик скажу честно: в данном случае не стоит использовать PHP.

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

А из всего того, что вы перечислили, прямой языковой поддержки требуют разве что строки.

Так и че где то что вы сделали? Где скачать альфа/бету версию для mips/arm/risc-v ? Даешь компилятор PHP в массы! Хотя бы светодиодик зажечь на php. А там может и кто поможет дальше писать опенсурс...

Можно попытаться написать фронтенд для llvm)

попадаются активные рассуждения о том, что компилятор C позволяет себе вытворять с типами данных. И как его вразумить, чтобы не пытался long как int трактовать, например

создавайте свои типы данных, не используйте встроенные

Могу предложить вам накидать на каком-нибудь n8n автоматический переводчик из php в c++ с помощью DeepSeek. Плюсы очевидны:

  1. Вы получаете возможность писать на пхп

  2. Отпадает задача портирования и запуска zend engine на контроллере

  3. Не расходуете ресурсы контроллера впустую

  4. Вы сами оцените и сможете представить сообществу преимущества и ограничения пхп для задач встраиваемых систем (удобство работы с данными с двоичном формате, побитовые операции, работа с асинхронностью и т.д.)

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

  6. Это вас избавит от необходимости тратить время на изучения материала, к примеру вот этого: https://habr.com/ru/companies/vk/articles/538052/

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации