--- published: true layout: post --- Пришло время вспомнить про концепцию жизненного цикла программы. Вот его этапы: ![](https://raw.githubusercontent.com/kpmy/kpmy.github.io/master/_posts/code-life-line.png) В ситуации недостаточных ресурсов для полноценной проработки этих этапов на уровне хорошей годной бинарной кроссплатформенности ничего не остаётся кроме как загнать всё это дело в эмулятор, виртуальную машину, которую можно реализовать для любой подходящей по возможностям экосистемы. А потом уже раскрутиться до полноценного продукта. В ожидании релиза webassebmbly можно выработать набор собственных примитивов, сводимых к wasm-примитивам, благо не нужно работать для бизнеса, на надёжность и окупаемость. Возможно ли минимальными выразительными средствами обеспечить приемлимую реализацию всего этого великолепия, пока не ясно. Плюс ко всему остался нерешённым вопрос совмещения декларативного и императивного подхода, многопоточного и однопоточного кода, возможности выполнения кода на разных вычислительных платформах (гетерогенные вычисления) и так далее. Короче, надо обозначить ближайшую цель: получить виртуализированную программную платформу, в которой возможна реализация и исполнение программных модулей, отвечающих концепции жизненного цикла программы.