Вот в результате работы над некими проектами получлся scripting engine.
Подумалось что может быть полезным кому-то еще.
http://terrainformatica.com/tiscript/
Основная идея engine — простота интегрируемости в чистый C/C++.
API это 10 plain C функций плюс обертка для C++.
Т.е. предпринята попытка сделать practical script engine — всего одна DLL и никаких внешних зависимостей.
Сам язык близок к JavaScript "as much as possible"
JavaScript фичи которые попали под нож:
1) упрощена вся эта скажем прямо ахинея вокруг prototype, __proto__ и иже с ними.
Классы и наследование стало прозрчнее и очевиднее. См.
http://terrainformatica.com/tiscript/Syntax.whtm#classes
2) класс Number разделен на два — Integer и Float.
Все остальное в принципе должно быть близко к JavaScript. Во всяком случае есть такое намерение.
Это то что касается языка.
Что нового:
1) Появились потоки ввода вывода. File and socket
Stream. Соответственно в скрипте определены stdin, stdout, stderr. Ну и printf и всякие штуки типа stdout << "Hi, world!";
Хост-приложение само определеяет что есть эти самые stdin, stdout, stderr.
2) Добавлен режим работы PHP — hypertext preprocessor — скрипты включаются в текст с пом. <% script %>. Примеры в SDK.
3) Компиляция в байткод и загрузка оного. Внутри движка — compiler, VM и copying GC.
4) Persistence. Binary и textual. Textual это когда данные предсталяют собой поток статических инициализаторв самого скрипта и загружаются с помощью eval. Textual имеет смысл для всякого рода config. Примеры в SDK/scripts/persistence/*.js
Ну вот примерно и все пока.
Философический вопрос вынесен в subject.