Я разработчик на Forth и специализируюсь на стековых системах для встраиваемой техники: прошивки, загрузчики, начальное оживление плат и всё, куда толстый тулчейн не помещается по определению. Работаю с микроконтроллерами, у которых оперативной памяти всего несколько килобайт, и с ситуациями, когда на плате ещё вообще ничего не запущено и надо оживить её первыми словами. Вместо тяжёлой среды исполнения я собираю миниатюрное ядро и набор слов, ложащихся напрямую на регистры и периферию, — систему такого размера реально держать в голове целиком, и именно поэтому ей можно доверять в серийном изделии.
Сила Forth, которую я использую постоянно, — живая консоль прямо на устройстве. Через последовательный порт я вживую читаю регистры, определяю и тут же переопределяю слова, собираю прошивку снизу вверх из примитивов и проверяю каждый по отдельности. Оживление платы перестаёт быть чередой перепрошивок: неисправность локализуется за минуты. Итоговый образ выходит чистым — ни мёртвых библиотек, ни абстракций про запас, только то, что изделие действительно вызывает. При необходимости пишу интерпретатор с шитым кодом с нуля, переношу готовый Forth на другой кристалл или встраиваю мини-Forth скриптовым слоем внутрь C-прошивки.
Для меня приоритет — компактность, предсказуемость поведения и понятность кода, а не эффектные хитрости. Словарь я описываю так, чтобы ваши инженеры продолжили его развивать без меня. Есть капризная плата, загрузчик, обязанный уместиться в углу флеш-памяти, или управляющая задача под крохотный интерактивный язык — обращайтесь.
— Ядра Forth и интерпретаторы с шитым кодом под конкретный микроконтроллер
— Загрузчики и первичное оживление плат с отладкой через последовательный порт
— Перенос готовых Forth-систем на новые архитектуры и кристаллы
— Встраивание скриптового Forth-слоя в C-прошивку
— Ужатие по объёму и тактам под скромные RAM и флеш
— Разработка словаря, документация и передача вашей команде
Сила Forth, которую я использую постоянно, — живая консоль прямо на устройстве. Через последовательный порт я вживую читаю регистры, определяю и тут же переопределяю слова, собираю прошивку снизу вверх из примитивов и проверяю каждый по отдельности. Оживление платы перестаёт быть чередой перепрошивок: неисправность локализуется за минуты. Итоговый образ выходит чистым — ни мёртвых библиотек, ни абстракций про запас, только то, что изделие действительно вызывает. При необходимости пишу интерпретатор с шитым кодом с нуля, переношу готовый Forth на другой кристалл или встраиваю мини-Forth скриптовым слоем внутрь C-прошивки.
Для меня приоритет — компактность, предсказуемость поведения и понятность кода, а не эффектные хитрости. Словарь я описываю так, чтобы ваши инженеры продолжили его развивать без меня. Есть капризная плата, загрузчик, обязанный уместиться в углу флеш-памяти, или управляющая задача под крохотный интерактивный язык — обращайтесь.
— Ядра Forth и интерпретаторы с шитым кодом под конкретный микроконтроллер
— Загрузчики и первичное оживление плат с отладкой через последовательный порт
— Перенос готовых Forth-систем на новые архитектуры и кристаллы
— Встраивание скриптового Forth-слоя в C-прошивку
— Ужатие по объёму и тактам под скромные RAM и флеш
— Разработка словаря, документация и передача вашей команде