Что по-вашему мешает сейчас писать скрипты на плюсах? Работа с плоскими буферами памяти и высокопрризводительная бинарная математика доступна и сейчас. Почему никто не пишет приложения хоть на каком языке, не компилирует их под js engine со своим рантаймом, не используя высокоуровневые конструкции языка, а только те же, что предоставляет wasm?
Что по-вашему wasm привносит нового, что недоступно на данный момент, учитывая то, что он работает поверх той же виртуальной машины и с теми же абстракциями, если их ограничить до memorybuffer и математических операций?
Это наиболее мощный язык, который существует в современности. Динамическая обьектная модель, невероятная выразительность, самые удобные синтаксические абстракции, высокопроизводительные кросплатформенные исполняющие среды, богатый набор программных интерфейсов окружений, стандартизация которых производится с участием сообщества.
Ни один другой язык не имеет подобного выверенного баланса среди всего перечисленного.
«However, WebAssembly has no direct DOM access, so despite its superior performance, you may find that it is slower than JavaScript for your use case due to extra I/O overhead.» Как вы откажетесь от JS в этом случае?
Вы вообще-то понимаете, что такое wasm? Он никогда и не будет иметь никакого иного прямого доступа к каким-либо апи окружений - это всегда будут вызовы через прослойку рантайма. Ровно так же, как происходит сейчас - вам ничто не мешает пробрасывать какие угодно функции рантайма в васм окружение.
Когда вы пишете на сишечке, у вас нет ничего, кроме плоской виртуальной памяти и работы с указателями и регистрами. Все взаимодействие с окружением происходит посредством системных вызовов этого окружения. Васм ровно тоже самое - все что у вас есть, это работа с плоской памятью и работа с указателями в ней, даже без регистров и с принудительно навешенным borrow checker’ом. Все взаимодействие с окружением - через системный вызовы. Чего вы ждете, что должно принципиально изменится?
Не устраивает оверхед на системеый вызов в данный момент? Так я же вас и спрашиваю, что мешает не использовать wasm уже сейчас и много лет до этого, а компилировать языки в низкоуровневый сабсет самого жс, из которого можно дергать нативные апи напрямую.
Это наиболее мощный язык, который существует в современности. Динамическая обьектная модель, невероятная выразительность, самые удоьные синтаксические абстракции., высокопроизводительный кросплатформенные исполняющие среды, богатый набор программных интерфейсов окружений, стандартизация которых производится с участием сообщества.
Увы, но нет. PHP не является встраиваемым языком, в отличии от жс. Он не призван быть управляющим каким-либо окружением, что уже является ограничением. Подходящим сравнением была бы луа, но ванильная луа не имеет тех достостоинств, что имеет жс. А луажит имеет фатальные ограниченмя, например, на количество адресуемой памяти сборщиком мусора.
Если вас это успокоит, то попытки встраивать php в иные, не родные для него окружения предпринималась неоднократно, омобенно за прошлые 20 лет. Но не выстрелило, потому как пхп просто для этого неудобен. Как бы вам этого не хотелось - он недостаточно выразителен и мощен. Тем более по сравнению с жс. Его синтаксис перегружен и более солён. Его обьектная модель - недостаточно динамична.
In computer programming, machine code is a low-level programming language, consisting of machine language instructions, used to control a computer’s central processing unit (CPU).