🔥

Тред (Тимофей Плотников)


Это всё конечно круто, но главенствующая позиция JS в вебе устраивала не всех. Потеснить чемпиона пытались разными способами: Java applets, silverlight, Flash (светлая тебе память). Ставь лукас ❤️ если помнишь Java и C# в браузере
Пытались, но не получилось. Причин было много, но думаю основная - лишние телодвижения. Установки плагин на много-мегабайт, перезагрузит страницу, встреть баги, опять перезагрузи. С какой скоростью расширялся JS, с такой же скоростью умирали плагины типа Silverlight. twitter.com/jsunderhood/st…

Но несогласные не сдавались. Когда не получилось подвинуть JS, они сделали финт ушами. Свои любимые языки они стали транспилировать (ближайший аналог к русскому "компилировать") в JS. Итак, что же такое ваш этот transpiler?

Transpiler или source-to-source compiler это такая программа, который код на одном языке "переводит" в код на другом. Основное отличие от классического компилятора заключается в том, что оба языка одного уровня абстракции.

То есть компилятор обычно производит код более низкого уровня (Java->Bytcode, C->Asm), а transpiler - того же (Java->JS, TS->JS).

Что интересно, транспайлеры можно применять чтобы рефакторить свой говнокод, использовать новые фичи языка или апгрейдить версию (python2 -> python3).