cyber, это подмножество яваскрипта которое типа быстро выполняется потому что там нет динамических типов и разрешена только работа с битовым массивом, работа с числами и бинарные операторы. строки запрещены.
чтобы asm.js код работал и в браузерах его не поддерживающих он имеет обратную совместимость. например все int переменные там при присваивании на всякий случай еще рах округляются типа q = (2+3)|0
чтобы УЖ ТОЧНО ИНТОМ СТАТЬ. в браузерах же в которых asm.js поддерживается, этот код вообще не интерптитируется а попадает в специальный транслятор этого кода в ассемблер. то есть операция округления там не выполняется, он воспринимает это просто как синтаксис такой на указание типа int.
такой код может легко скомпилироваться в ассемблер и выполняться в процессере. придумали транслятор С++ в такой код. Транслятор называется Emscripten. Он эмулирует окружение С++ вроде файловой системы, видеокарты, монитора (canvas) и.т.п.
Покольку у плюсов синтаксис говенный то я начал писать сахар для С++ похожий синтаксисом на coffeescript, и назвал его coffee++
Можно будет писать на красивом coffee++, транслировать в С++ и компилировать в asm.js и запускать в браузере супербыстрый код. А можно и просто писать на coffee++ , транслировать в С++ и просто сомпилировать под винду например) и писать десктопные проги.
А позже я и свой компилятор напишу сразу в asm.js, просто пока в этом смысла нет раз есть Emscripten
Последний раз редактировалось Mаxmaxmаximus, 06.11.2015 в 14:44.
|