@kudlenkov303

Почему исходный код языка программирования go написан на go?

У меня в голове возник странный вопрос после просмотра исходников ЯП go: "почему исходный код языка программирования go написан на go?" Это как-то слишком странно выглядит. Язык программирования же, не может быть написан на своем же языке - это прям похоже на какую-то рекурсию. Вообще как я знаю, языки программирования пишутся на других языках. То есть, если писать компилируемый язык программирования, то нужно использовать интерпретируемый язык, а вот для написания интерпретируемого языка программирования, нужно писать на компилируемом языке. И еще кстати исходники языка программирования Kotlin тоже наполовину написаны на своем же языке (т.е на Kotlin).
  • Вопрос задан
  • 644 просмотра
Решения вопроса 1
DevMan
@DevMan
google -> self-compiling compiler
в частности https://ru.m.wikipedia.org/wiki/Раскрутка_компилятора
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
includedlibrary
@includedlibrary
Язык программирования же, не может быть написан на своем же языке - это прям похоже на какую-то рекурсию

Может. Сначала пишем компилятор для нового языка на языке, для которого компилятор уже есть, а потом переписываем его на новом языке. Вообще принято писать компиляторы на языках, для которых они сделаны. Это что-то вроде доказательства, что язык X уже дорос до того, чтобы его можно было использовать.

То есть, если писать компилируемый язык программирования, то нужно использовать интерпретируемый язык, а вот для написания интерпретируемого языка программирования, нужно писать на компилируемом языке.

Почему вы так думаете? Ничто не мешает написать компилятор для компилируемого языка на другом компилируемом языке. И опять же ничто не мешает написать интерпретатор на интерпретируемом языке
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы