Animation CPU (ACPU) — это новая VM, язык программирования, новая IDE и все остальное тоже новое.
Многих интересует:
Какой язык учить?
Какой язык простой?
Какой язык лучше для быстрого прототипирования и создания утилит?
Какую платформу выбрать, чтобы работало везде с максимальной производительностью?
ACPU дает ответ на все вопросы.
Состоит из IDE, Compiler, Executor
Executor
Виртуальный процессор (модель аналогичная CPU - порты, память, инструкции). VM.
В качестве Code Backend выбран exprtk - слава Индии:). Был выбран по критерию - решает задачу, прост и стабилен. Для системного уровня (Display, Sound, Input) используются игровые движки: cocos2d-iphone (iOS), cocos2d-x, HGE (Windows, Linux, Android), three.js (HTML5), Away3d (Flash). Выбрано по критерию времени разработки и поддержкой GPU Shader. Для генерации звука используется модуль DSP и нативные форматы.
Compiler
Компилятор нового языка ACPUL.
Another CPU Language (ACPUL) - язык программирования для быстрого прототипирования с низким порогом вхождения. Состоит из 2х уровней. Уровень инструкций и уровень архитектуры.
Инструкции это стандартные математические выражения, доступные любому. Архитектура это дерево объектов - аналог файловой системы (классов/модулей/свойств). Основой является декларативный синтаксис на основе классических C-подобных языков (C/C++/Java/ActionScript). В языке отсутсвуют типы, на уровне инструкций все происходит с float, а на уровне архитектуры с object/file. Язык основан на unicode, синтаксический сахар минимален (нет ни void, ни int), потому позволяет писать программы на любом национальном языке - русский вперед:). Следсвие языка: можно легко прототипировать архитектуру, рефакторить, складывать модули и доводить до исполнения в конечном устройстве за кратчайшее время.
IDE
Разработано на ACPUL и выполнеется самом ACPU, потому выполняется на всех платформах (включая JS/HTML5, Flash, Unity3d). IDE имеет стандартные функции, как Profiler, Debugger, но с уклоном на UI.
Среда запуска ACPUL
ACPU имеет возможность выполняться в любой среде (в том числе Adruino и микробах). Компилятор транслирует ACPUL в код для необходимой платформы (C, ActionScript, etc). В последствии код собирается стандартными средствами и выполняется с минимальным оверхедом на целевой платформе. Получется минимальный код и оверхед, возможна аппаратная реализация ядра. На само ядро ограничение не накладыватся (спасибо математике), а накладывается на модули - например, в AVR нет GPU, потому вместо графики будет модуль мигания лампочками:), а вместо DSP с Reverb будет beep, на уровне программы это отразится с минимальными потерями при правильной архитектуре, поскольку архитектуро-ориентированный язык это позволяет сделать.
Цели проекта
Упростить жизнь разработчикам и сделать программирование более доступным при сохранении аксиомы 80/20.
Что необходимо проекту?
Поддержка и критика.
Основной сайт:
http://acpul.org/
Сейчас не работает хостинг, сайт на github.
Github:
https://github.com/d08ble/acpu
samples/* - лежат результаты работы 2х приложений на платформе ACPU. Графический AI на основе генетических алгоритмов и демо.
acpul-EBNF-cocor/* - граматика
web/ - веб-сайт acpul.org v0.1 и разбор syntax tree в code.html
Ссылки:
exprtk - https://code.google.com/p/exprtk/
Codea - http://twolivesleft.com/Codea/Talk/
ps: надеюсь на помощь сообщества для всех багфиксов и получения материалов доступных для всех, в том числе
Перемещено mono из general