Предлагаю подумать, каким будет (или должен быть) Dart, чтобы заменить JS.
В порядке важности:
1. Модульность (ну хоть какая-нибудь, блин). Сейчас ситуация даже хуже, чем в C/C++ с его инклудами.
2. Человеческое ООП. Не надо труЪ, простое человеческое ООП:
- Человеческая инкапсуляция. Сейчас делается весьма "витиевато" (а значит на практике не делается).
- Человеческое наследование. Куча велосипедов на эту тему и все равно оно нормально не работает.
- Человеческий "this". Такой как сейчас - лучше бы его вообще не было.
3. Нормальный оператор == (и нах ===). То, что сейчас - это полный пипец. Это "круче", чем правила перегрузки в C++.
4. Нормальные локальные переменные (var вызывает весьма злобные грабли, правда это уже фикснули в новом let), убрать неявные глобальные переменные, короче - см. питон.
4. Синтаксис
- Убрать new (полный пипец).
- Убрать никому ненужые грабли со скобочками и прочими точками с запятой.
- В идеале - см. питон.
Короче, если бы гугл просто двинул на веб вариант питона - это был бы безпроигрышный вариант (для меня). Можно помечтать о статической типизации и т.п. эзотерике в мире скриптов и веба - но масса все равно не поймет (хотя посмотреть на такую попытку было бы очень интересно).