Обновить

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

Может не увидел, но почему именно Форт?
Когда то сам интересовался этим языком и чуток писал.

Спасибо за хороший вопрос.

В моей парадигме распределенного вычисления нужны были движки, которые управляются интерпретатором простого языка. Первыми кандидатами были Python и Ruby, но они не подошли по причине того, что "живут" в процессах ОС.
Я проконсультировался на сайте https://elixirforum.com/. Одним из предложений был Lua, который я отверг, сказав, что мне нужен интерпретатор такой же простой и надёжный, как АК-47. Наверное, это было не совсем политкорректно с моей стороны:).
В результате я остановился на Forth.
Кстати, я обратил внимание, имхо, он остаётся за бугром популярным. По крайней мере в учебных целях.

Кстати первые версии АК-47 надежностью не страдали, но там было и за материалов.
Сам Forth увлекался еще с середины 80х, компьютеры на 8 разрядных процессорах с минимум ОЗУ особого выбора не было, а программы по скорости и объему не хуже ассемблера.
Но увы, дальше этот язык в нашей стране не пошел.

а почему не использовать от Форта только систему базовых команд, и интерпретатор байт-кода, а компилятор инфиксного синтаксиса в байт-код написать на чём-то типа flex/bison ?

вообще для задачи выглядит странно завязываться на крайне тяжёлый рантайм BEAM, куда логичнее выглядит собственный мультипроцессный движок (множество изолированных блоков байт-кода, у каждого свой контекст выполнения, стеки и изолированная память)

Ваше предложение застало меня врасплох по нескольким причинам:

  • Мне пришлось выйти из контекста реализуемой системы, чтобы сделать на STM32 датчики и привода с CAN-интерфейсом. Кстати. если вы специалист по программированию микроконтроллеров, я бы с удовольствием принял от вас помощь :-)

  • Предлагаемая система - система обработки данных в потоке. Не вдаваясь в подробности, полагаю, что ваше предложение ломает всю архитектуру системы. Может быть, я не совсем её раскрыл в серии статей, но после готовящейся презентации стыковки системы с подсистемами поставщиков данных через шлюзы, думаю, всё прояснится.

  • Постфиксный синтаксис Forth вполне имеет право на существование в инженерных задачах.

  • На счёт BEAM. Собственно говоря, BEAM я и не вижу через Elixir. Мне от Elixir нужен единственно готовый механизм посылок сообщений, хотя он плохо согласуется с требованием RT. Но я считаю, что этот подход наиболее прагматичен для реализации демонстратора.

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

Публикации