JS говно. Но в спорах о говнах, нельзя не заметить, что люди, которые говорят что машкоды и ассемблер это не язык программирования, также отмечались своей жестко позитивной позицией касательно C++
Вывод один - на C++ пишут либо легаси либо идиоты. Последние - в большинстве. Потому что они все такие из себя низкоуровневые, но про микрокод, суперскалярные архитектуры, и подобное, не слышали, видимо, воообще.
js это современный перл. Можно писать нормально, но в подавляющем колве случаев написано так, что сам аффтор через полгода не понимает что написано. Ну и очень быстрая смена библиотек и парадигм тоже не добавляет очков у того же ентерпрайза. Который регулярно заигрывает с js, но потом очередная смена «как надо» и за полгода всё написанное превращается в тыкву.
Мнение васянов с левого ресурса всегда было очень важно для нас (нет).
Я вот думаю, что самодостаточность и полноценность — не одно и то же.
Истинно самодостаточны только хелловорлды в машинном коде, все остальное так или иначе связано с кодом на других языках, даже посконная сишечка. Сборка, документация, инструментарий, дистрибуция, you name it.
Он никогда и не будет иметь никакого иного прямого доступа к каким-либо апи окружений - это всегда будут вызовы через прослойку рантайма.
Утверждение на уровне математика. Точно и бесполезное. Во всех VM вызов внешних функций проходит через рантайм. Это никак не мешает ни реализации, ни скорости. Сравнение вызовов внешний функций VM с системными вызовами ОС - бред, т.к. сложности с ОС заключаются в необходимости переключения контекста. В то время как код, реализующий VM и код функций это буквально код одной и точ же программы, зачастую одного и того же процесса.
Сложность реализации доступа к DOM заключается в том, что WASM должен быть универсальным средством, не привязанным к конкретной реализации браузера. Необходимо согласовать формат строковых данных, необходимо обеспечить взаимодействие с GC браузера, чтобы удаляя DOM объекты программисты не могли наделать висящих указателей и т.д.
Словом, эта система должна стать достаточно безопасной, чтобы армия web-макак даже при желании не могла наделать ничего плохого.
Подвижки в этом направлении ведутся.
Скоро будет что-то типа, 3 billion devices run typescript.
Но ведь тупоскрипт существует только до компиляции, в рантайме это уже жопаскрипт. А он уже, наверное, более чем на трех миллиардах девайсов крутится — везде, где есть браузер или нода.
HTML+CSS давно превратились в неповоротливую свалку с кучей легаси-костылей, которые стопорят производительность рендеринга на нетривиальных задачах.
CPU давно остановились в развитии, GPU — нет, так что вынос в шейдеры и GPGPU всего, чего только можно — вопрос времени, никуда не денемся. Разве что внезапно графеновые или ещё какие процессоры взлетят, ага.
Нынче web-приложения делают, что там индексировать? Подписи к кнопкам? Заметьте, Мы писали про UI.
Для преимущественно текстовых сайтов HTML имеет смысл, как легаси — под них и заточен. Причём у скриптов на них нет полезного применения и их можно смело резать вообще.
Более того, рендерить HTML можно также кастомным движком на WA+WebGL вместо браузерного, который сайты будут тащить с собой либой. Да — маразм, но в индустрии как раз подобное и приживается. Из профитов получаем кроссбраузерность рендеринга и возможность оптимизаций, которые заведомо совместимы с сайтом. А поисковикам отдавать этот же HTML напрямую в качестве фолбэка.