У меня нет ни желания, ни настроения спорить и что-то доказывать. Тебя всё равно не переубедить, как показала практика. Но всё же чуть-чуть попробую.
На чем-то другом писать фронтенд помогает WASM. А с WASMом ты через что общаешься? Не уж то это не JS? Не поверишь!))) Когда в браузеры встроят интерпретатор какого-то другого ЯП и его начнут использовать активно, вот тогда и поговорим. Но вот тебе спойлер: этого не произойдёт. В ближайшее десятилетие уж точно.
Ну и я уже молчу про всякие фундаментальные разности в JS и Lua, которые в теории могли бы оттолкнуть от веб-разработки ключевых пацанов, которые всё таки написали библиотеки, которые сейчас существуют и их используют миллионы сайтов.
я повторюсь. V8 vm или другая JS / Ecmscript vm не имеет особо каких то фич.
Делай что хочешь. 10 лет назад js использовали только как клей и все были счастливы.
Потом бизнес сказал, дорого рендерить все на сервере, давайте запилим рендер на стороне клиента.
Инструментов не было и построили ее на JS.
Ты говорил что он не существовал бы в таком виде, но это не так.
Не важен язык программирования, пока он удовлетворяет требованиям.
Любой язык с JS подобной VM мог быть на его месте.
Не только wasm простая интерпретация в JS. Как любой другой язык во что то интерпретируется в конечном счете (на той или иной стадии).
Ты говоришь что мы бы получили что то другое...из за того что был другой язык.
Но за 14+ лет ничего особо кроме фич браузера и технологий в мире фронтенда нет.
Там просто появились новые инструменты. В сравнении с тем как апнулись другие технологии.
Я же говорю (сейчас внимательно).
JS на стороне клиента делает так мало, что порой вы пишите простой платформер и делайте намного больше.
Управлять DOM не важно чем. Писать тривиальную логику, не важно на чем.
JS это просто верхушка айсберга. Если ее поменять вы сможете делать тоже самое.
Следовательно все было бы +- так же. JS плотно занял нише гадкого утенка, который из за легаси нужен.
Но на нем писать очень неприятно, больно. Привет TypeScript, Elm, CoffeeScript ect.. Все это используют в проде.
ИМХО js главная ошибка в вебе. И да много у каких языков есть фановые языки, но мало языков которые претендуют на роль предка. Серьезных примера только 2, JS и Java. У обоих полно легаси и обоим тяжело двигаться вперед.
Один взлетел потому что не было альтернатив, другой потому что всем надоело писать на С++ (условно).
Внимание вопрос. На backend куча языков, это мешает или помогает?
В embeded много решений которые решают похожую проблему. Есть несколько вариантов что можно встроить.
Кстате там и JS есть.
Но в вебе у нас 1 язык, который скорее мешает развиваться и это похоже на вечную яму.
Три парадигмы. Статичный сайт, динамический на стороне сервера, динамический на стороне клиента.
Уперлись в это давно и кажется навсегда. Причем история циклична. В начале был первый тип, потом он вернулся, но с некоторой доработкой. А что если 90% контента будет сгенерировано. А 10 % JS и микросервисы.
Опять же мне всегда интересна экосистема языка. NPM / Yarn ect...там даже нормальный единый менеджер так и не сделали.
Каждый раз переделывают одно и тоже. Каждый раз придумывают что то заново. Каждый раз пытаются победить болячки JS.
Мир веба был бы +- таким же. Три парадигмы создания сайта. Вопрос в том, что с экосистемой? Она была бы лучше или хуже.
Язык был бы удобнее или нет? и.т.д.
И да в мире программирования нет понятия что то могло бы оттолкнуть.
У тебя есть цель и задача. Ты стартап, бизнес, энтузиаст и.т.д.
Главный тут бизнес. Бизнес смотрит, ага это проверенная штука. Работает. Берем ее.
Нет специалиста? Наймем. Спрос рождает предложение. Правда думаете что людям нравится C# по этому они вбирают юнити?
Скорее потому что альтернатив пойти работать мало. Правда думаете что учат JS потому что любят язык? и.т.д.
Конечно есть те кто любит, но большинство людей думают так. Надо заработать, на чем не важно.
Это работа и с каждым годом энтузиастов все меньше и им все сложнее.Так почти в любой сфере.
Только в других сферах у нас в 99% случаев есть вариант инструментов.
В случае браузера его нет или он крайне мал и все равно зависит от JS который часто мешает. Особенно с обратной совместимостью, зависимостями и.т.д.