Показать сообщение отдельно
  #18 (permalink)  
Старый 06.11.2015, 14:37
Профессор
Посмотреть профиль Найти все сообщения от Mаxmaxmаximus
 
Регистрация: 29.10.2015
Сообщений: 473

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.
Ответить с цитированием