Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
что, очевидно, абсурдно, потому что необходимость в этой библиотеке отпадет, как только браузеры получат встроенную поддержку WebAssembly
а поддержка стандарта хорошо если будет в IE12
Интересно, какой язык лет через 10 станет стандартом де-факто для фронта.Дак по-моему абсолютно очевидно, какой. Такой же, какой и сейчас.
Новый бинарный формат для Web
Will WebAssembly support View Source on the Web?
Yes! WebAssembly defines a text format to be rendered when developers view the source of a WebAssembly module in any developer tool. Also, a specific goal of the text format is to allow developers to write WebAssembly modules by hand for testing, experimenting, optimizing, learning and teaching purposes. In fact, by dropping all the coercions required by asm.js validation, the WebAssembly text format should be much more natural to read and write than asm.js. Outside the browser, command-line and online tools that convert between text and binary will also be made readily available. Lastly, a scalable form of source maps is also being considered as part of the WebAssembly tooling story.
То что либу дергают из js ни как не влияет на то что придётся лезть в код самой либы.
Новый формат позволяет программистам компилировать их код для браузера (на текущий момент разработчики сфокусировались на C/C++, другие языки будут добавлены позже). Этот скомплированный код в дальнейшем исполняется внутри движка JavaScript. Вместо того, чтобы парсить исходный код, что все-таки часто занимает длительное время (особенно на мобильных устройствах), WebAssembly может быть декодирован значительно быстрее.
Этот скомплированный код в дальнейшем исполняется внутри движка JavaScript. Вместо того, чтобы парсить исходный код, что все-таки часто занимает длительное время (особенно на мобильных устройствах), WebAssembly может быть декодирован значительно быстрее.
Считаю, что даже такой монстр как Java в скором времени уступит свою пальму первенства.
sarcasm ->
Не Ему, а Вам. :)
As explained in the high-level goals, to achieve a Minimum Viable Product, the initial focus is on C/C++. However, by integrating with JS at the ES6 Module interface, web developers don't need to write C++ to take advantage of libraries that others have written; reusing a modular C++ library can be as simple as using a module from JS.
на текущий момент разработчики сфокусировались на C/C++видимо, тоже глупость?
Новый формат позволяет программистам компилировать их код для браузера (на текущий момент разработчики сфокусировались на C/C++, другие языки будут добавлены позже).Нет, это не глупость. Это значит, что первые компиляторы появятся для самых популярных системных языков программирования — для C и C++.
Вот бы там на Swift сфокусировались. Синтаксис очень простой, похож на JS, при этом с типизацией и т.д.
… также планирует запустить библиотеку polyfill… что, очевидно, абсурдно, потому что необходимость в этой библиотеке отпадет, как только браузеры получат встроенную поддержку WebAssembly
В нее можно компилить C — попробуйте сделать это с JVM…Да вы не поверите…
Ни к HTML ни к CSS этот ray-tracer не пришьёшь.
И откуда вы так уверены, что там чего-то будет? Пока одни тольно намерения да мечты. В жизни всё разбивается о разные трудности.У Google уже есть PNaCl, у него уже есть опыт в разработке таких штук. Просто другие не поддержали его начинания, видимо из-за того что это разработка лишь одного игрока. А теперь гиганты объединились, и вместе они наверняка смогут сделать нечто достойное стандарта. Не объявляли бы о создании такого альянса, если бы не были уверены в том, что у них что-то получится. А если не получится — конечно, жаль, но от этого идея не станет хуже, и JVM от этого не станет привлекательнее.
— Есть отдельные опкоды для Break и Continue, оба из которых на x86 будут скомпилированы в банальный безусловный переход.Вот именно, что в этих инструкциях нет ничего высокоуровневого — они легко переносятся на любой машинный код без потерь в производительности даже при компиляции под какой-нибудь древний 6502, который ещё в Dendy стоял. В том же FASM подобные вещи легко реализуются на макросах, можно делать полноценные условия, циклы, вкладывать код и т.д. Выглядит это так:
— Зачем-то есть отдельные опкоды для IfThen и для Ternary
.if eax<=100 & ( ecx | edx )
inc ebx
.endif
Стал ли от этого ассемблер высокоуровневым? Нет, это всего-то макросы, которые генерируют простой код без накладных расходов — руками вы бы написали похожий на сгенерированный этими макросами код. Причём, если вам не нравится что-то в этих макросах — вы можете их изменить. Это я к тому, что эти макросы условий и т.д. не встроены в FASM, а реализованы на его макро-языке. Если что-то легко реализуется на простых макросах, эта реализация практически не имеет накладных расходов (то есть руками вы бы написали примерно то же самое) — значит, это достаточно низкоуровневая вещь.Кто пытается и отчего у него это до сих пор не получилось?Разработчики браузеров? На мобильных платформах с поддержкой уже совсем плохо. На десктопе ещё держится, но пропаганда отказа от Flash не прекращается. А почему его до сих пор используют — это вопрос не ко мне. Я не использую, на некоторых компьютерах, чтобы не возиться с убогим обновлятором Flash, просто отключаю его совсем. Например, мои родители полгода назад начали жаловаться, что youtube перестал работать. Оказалось, что Firefox заблокировал Flash и стал требовать активировать его отдельно для каждой страницы, поскольку его версия устарела. Чтобы не объяснять им процедуру обновления Flash (который почему-то не научился делать это полностью автоматически), я его просто отключил целиком и всё стало хорошо. Аудитория у мобильных ОС уже очень большая, и все основные поставщики контента вынуждены реализовать нормальную работу и без Flash. Так что процесс идёт.
А будет ведь по сути всё то же самое, только с отставанием на несколько лет.Это не то же самое. Все пункты что вы написали автоматически становятся бессмысленными, если понять это. Я думал, это будет очевидно из моего комментария.
А будет ведь по сути всё то же самое, только с отставанием на несколько лет.На что я ответил:
WebAssembly будет значительно более низкоуровневой, чем байт-код Java. Если в Java байт-код оперирует вполне себе объектами, то в WebAssembly всё будет близко к быстрому машинному коду, с указателями и тому подобными вещами.Я указал на существенное различие. Извините, я не знал, что нужно обязательно в конце добавить «вывод: это не одно и то же».
Google, Microsoft, Mozilla и другие объединились для запуска WebAssembly, нового бинарного формата для Web