Как собирается транслятор CoffeeScript/TypeScript?
Уже не в первый раз слышу о том, что "компиляторы" CoffeeScript и TypeScript написаны на тех же языках, что сами "компилируют".
Но ведь что-бы всё заработало для начала нужно "скомпилировать" этот самый "компилятор", который написан на языке, который сам должен "компилировать". Так как это работает?
Ну, первые версии были написаны на других языках, а уже потом, когда компилятор стал более-менее вменяемым, переписали на нем самом. Получается, предыдущая версия "компилятора" собирает следующую.
CoffeeScript изначально был на Ruby, например.