Это логичный шаг, но люди, похоже, избегают его. Поскольку JavaScript становится языком ассемблера в Интернете, очевидно, что JavaScript должен рассматриваться наравне с другими языками. Это действительно следующая большая вещь в эволюции JavaScript.
Существует множество компиляторов для таких языков, как C++, Java и так далее, которые компилируются в JavaScript. Сейчас новый проект с открытым исходным кодом разрабатывает js2js, компилятор для JavaScript.
Преимущества этого нового подхода настолько очевидны, что вы должны задаться вопросом, почему мы все так медленно его применяем.
Процитирую гуру JavaScript Краукласа Дугфорда
«Кажется таким естественным преодолеть разрыв между JavaScript и JavaScript. Мне интересно, почему никто никогда не думал об этом раньше.»
Мы решили опробовать его, и стало ясно, что компилятор быстр, эффективен и удивительно мал. Более того, все утверждения веб-сайта проектов, похоже, верны. Созданный код так же эффективен, как и оригинал, и он сохраняет структуру не только исходной программы, но и ошибок — мы упоминали, что в нашем коде их было много.
Он не только отлично работал с нашей любимой библиотекой jNoQuery, но и безупречно работал с Vanilla JS — то, что большинство инструментов с трудом справляются. См. Раздел Vanilla JS, Используемый На Большем Количестве Сайтов, Чем jQuery.
Компилятор представляет собой реализацию парсера нулевого рекурсивного спуска в Node.js и код доступен для разветвления на GitHub, но оригинал работает так хорошо, что даже для ранней бета-версии это качество производства.
Забудьте о CoffeeScript, Dart, TypeScript и любом другом языке, который компилируется в JavaScript, этот подход делает их всех похожими на трудолюбивых элиефантов по сравнению с легкостью прикосновения js2js. Следующим этапом, вероятно, будет перемещение js2js в облако и реализация распределенного параллельного компилятора.