Собственно он вполне может стать новым С++ в будущем
Простите за оффтоп, но очень захотелось высказаться.
В плюсах можно и нужно думать о том, как выравнивать структуры для того, чтобы они попали в процессорный кэш. Надо думать о минимизации создания временных объектов и есть механизмы, позволяющие разными способами избежать этого создания. Есть ручное управление памятью и можно писать собственные аллокаторы, чтобы выделять/освобождать память эффективно для конкретной задачи. И другие возможности языка, позволяющие контролировать исполнение задачи на низком уровне.
В js таких возможностей нет, потому он не может быть заменой плюсам. Js просто для других задач, у него другая сфера применения.
Ещё кто-то упоминал ассемблер как универсальный язык. Ассемблер как раз не может быть универсальным языком: у процессоров банально разный набор команд, и ос, опять же, надо учитывать.
А писать компилятор с языка на самом языке обычно означает, что код компилятора генерится так, как его сгенерил бы этот компилятор, будучи уже написанным. То есть формально пишется на ассемблере, но пишется не так, как писал бы человек, а как гннерил бы компилятор.