А что если создать язык который был бы как Typescript но компилировался в ASM.js
О_О пасоны! Ведь моего уровня то хватит для такой задумки! Да и вы тоже не лохи. Что думаете?
Просто на сях неудобно писать, язык слишком противный внешне. А можно запилить что-то типа тайпскрипта и кофескрипта, и чтобы все это в асм компилировалось О_О Поддержите идею? У кого какие мысли? п.с. typescript идеологически не может скомпилироваться в asm, пообщался щас с ребятами ихними То есть прикиньте пишете вы а оно и синтаксис красивый имеет и рабоатет быстрее! Кто нить писал уже компиляторы? Работа с кучей там все ети асм инструкции и.т.п. Опытные есть? Или как обычно я первооткрыватель)? АЙДАТЕ ПАСОЫ!! МЫ СДЕЛАЕМ РЕВОЛЮЦИЮ)!!! КОГДА-ТО ВООБЩЕ НИ КАКОГО ЯЗЫКА НЕ СУЩЕСТВОВАЛО И ИХ СДЕЛАЛИ ЛЮДИ!! А МЫ ЛЮДИ!! |
Флаг мордора тебе в когтистые зелёные лапы.
Кстати как лучший на свете фреймворк поживает? |
Цитата:
но потом возникла в голову вот эта идея, может вначале напилить язык свой а потом уже на нем написать ui? вообще есть идея придумывать стандарт и по быстрому написать транслятор этого языка в С++ Ну то есть по сути у Си крутые возможности но синтаксис говно, а тут можно сахар на С++ сделать щитай и инструменты уже все есть для компиляции С++ в яваскрипт и все такое... Но мне кажется если мы напишем снуля то скорость будет быстрее чем у скомпилированного си. Хотя у них там вроде термоядерные оптимизации у комбиляторов так что хз хз сможем ли потягаться с ними. но на первых парах я просто начну придумывать синтаксис и идеологию, и тестировать это в не большом трансляторе в С++ Ну то есть пишу на этом языке, транслирую в С++, компилирую, тстирую. Смотрю. |
http://lljs.org/ - как точка отсчёта, но к сожалению проект умер.
|
kobezzza, не не не это совсем другое) это другое) я знаю про эти принудительные отключения проверок типа для лучшей эвристики. но это даже не асм. есть проэкт такой котрый компилирует С++ в эту егалду) раотает медленнее асма, но не сильно, раза в 2 всего.
Блин так обломно что тайпскрипт не компилится. Это было бы идеальным решением, инструменты есть, экосистема есть и.т.п. |
kobezzza,
Еще есть вот такая штука http://www.leaningtech.com/cheerp/, она генерирует не asm.js код а просто код на бинарных операторах. В отличии от emscripten она позволяет из С++ работать напрямую со всем браузерным api включая дом и прочее, даже позволяет фреймворки юзать типа jQuery. НО она работает где то на 20% медленнее asm, а где то млять БЫСТРЕЕ!! Чертовщина) и оверхед у неё аж 600 килобайт!!!! а у асма 140 ![]() Но нам нужен именно асм потому что он принудительно на 100% отключает подстраховки на проверки типа |
Цитата:
|
kobezzza, кстати надо учесть момент интеграции с внешним яваскриптом, ведь в нем автоочистка мусора а у нас ручная, ну и как быть? типа сделать Прототип такой Object и дать ему метод destroy() и типа когда мы из яваскрипта юзаем обьекты созданные в нашем языке, то мы должны явно вызывать destroy
надо придумать удобное и прозрачное общение между песочницей нашего языка и внешни яваскриптом. если мы например передает во внешний яваскрипт строку, то она у нас в памяти лежит, а если чел её там перестал использовать. то он должен вызвать ДЕСТРУКТОР у строки)?? не слишком ли наркоманство? То есть внешняя строка должна быть еще и ОБЬЕКТОМ (со специальным методом toString естественно) а не строкой? Как в общем организовать общение между средами? |
Не нужно. Умными чуваками уже делаются наработки типа SoundScript'а. Рано или поздно это попадёт в стандарт. В добавок, не забываем про WebAssembly.
|
Safort, яваскрипт поддерживется везде а WebAssembly нигде.
Ни что не мешает потом добавить компиляцию в WebAssembly SoundScript'а еще не создан. Цитата:
То есть раньше мне пришлось бы использовать единственное что у меня было asm.js А тут мне дадут еще и WebAssembly!! Это же ИДЕАЛЬНАЯ НВООСТЬ И еще один плюс в копилку поводов написать язык! Ты понимаешь что ты как бы сказал аргументы ЗА написание языка, а не против??? Safort, ну короче я так понял ты не учавствуешь в проэкте и будешь писать на SoundScript'е? Выбор твой |
Часовой пояс GMT +3, время: 08:57. |