X10 и хайп вокруг переезда TypeScript на golang: революция или эволюция?

Несколько дней назад вышел анонс нового компилятора typescript на golang с ускорением в 10 раз по сравнению с компилятором на JS. Это породило волну мнений из разряда "нативный классический JavaScript - всё".

Давайте разбираться, где здесь правда, а где кликбейтный вымысел.

Что важно понимать про новый компилятор:

1) TypeScript всё ещё компилируется в тот же самый JS, здесь ничего не поменялось.

2) Выполняется всё ещё тот же скомпилированный JS и выполняется точно также как и раньше.

3) Никакой оптимизации в отношении компилятора не производилось.

Из интервью с Андерсом Хейлсбергом становится ясно, что компилятор переписывают "по файлам" и "как есть", без дополнительных улучшений. Улучшать производительность компилятора за счет изменения подходов к коду не планируется. Больше того, приоритетом является максимальное сохранение поведения существующей версии.

4) Весь выигрыш по производительности достигается только за счет разницы между скоростью JS и golang.

5) Старый компилятор никуда не девается. Можно будет использовать любой из них.

6) Неофициальные альтернативные компиляторы уже существуют и не первый год. Просто теперь будет и официальный.

Вывод: произошло ли что-то революционное? Нет.

Несмотря на кратное ускорение компиляции, в реальном использовании это лишь улучшение инструментария, а не кардинальное изменение экосистемы.

К тому же из анонса следует, что некоторые фичи, используемые в средних и крупных проектах, не будут реализованы сразу. Среди них - JSX (привет, react). Обоснованно предположить, что фактический переезд многих продуктовых проектов состоится нескоро.

Таким образом, переезд компилятора на golang не означает революцию в том, как выполняется JavaScript. Это скорее эволюция инструментария для разработчиков TypeScript. Вполне естественный процесс.

Значит ли это, что скоро JS потеряет свою актуальность? Также скоро как мир покинет JQuery :)

Legacy было, есть и будет. Разбираться в нём — всё ещё musthave.

33