Динамические языки для встроенных устройств?

Мне нужно развернуть динамический язык на небольшом встроенном устройстве Linux, и мне трудно найти правильный: я хочу создать небольшое веб-приложение с этим языком (с небольшим фреймворком, таким как Sinatra или Camping) и написать несколько сценариев для обслуживания. .

Я бы предпочел Ruby, так как у меня есть некоторый опыт в этом, но после нескольких дней попыток его кросс-компиляции я смог собрать только интерпретатор barebone без библиотек (miniruby). Проблема в том, что он просто слишком большой: убрано более 1 МБ!

Какой язык вы используете, и насколько сложно было заставить его работать?


person Community    schedule 26.04.2010    source источник
comment
См. этот вопрос для нескольких связанных параметров: какие доступные интерактивные языки работают в крошечной памяти"> stackoverflow.com/questions/1082751/   -  person Mark Rushakoff    schedule 26.04.2010


Ответы (4)


Я не использую его лично, но lua занимает очень мало места.

person Community    schedule 26.04.2010
comment
мой коллега добился больших успехов с lua. В зависимости от ваших потребностей он также может быть довольно маленьким. - person Beanish; 26.04.2010
comment
Я поддержу это. Lua довольно легко запустить, так как он в значительной степени скомпилируется как ANSI C89 (как C или C++). Не стесняйтесь проверить eLua, у которого также есть несколько исправлений и модулей, которые делают его пригодным для сред микроконтроллеров: eluaproject.net (весь проект может не соответствовать вашим потребностям, но некоторые идеи/патчи/код могут оказаться полезными) - person James Snyder; 03.05.2010

Динамические языки очень и очень трудно минимизировать. Возможно, tinypy вдохновит вас выжать больше.

person Community    schedule 26.04.2010

Я сам изучаю это и нашел несколько интересных кандидатов:

  • eLua — реализация Lua специально для встраиваемых устройств.
  • p14p — Python на чипе.
  • Форт — Старый добрый Форт, что еще я могу сказать?
person Community    schedule 07.02.2011
comment
Небольшое обновление: с тех пор я успешно скомпилировал и использовал Ruby со смешанными результатами: он полностью функционален и упростил мою жизнь при внедрении веб-сервиса, но, с другой стороны, он довольно медленный и несколько потребляет память. - person Zoltán Szőcs; 01.03.2011

Я использую ruby ​​1.8.7 на GPRS-модеме Techbase NPE. Он имеет процессор ARM с частотой 180 МГц и уже имеет множество сервисов (например, Apache, встроенный PostgreSQL). Работает достаточно хорошо, но вы должны знать о некоторых проблемах с Ruby (например, Timeout может привести к SegFault Ruby).

Планирую перейти на ruby1.9 позже в этом году...

person Community    schedule 20.11.2012