Подтвердить что ты не робот

Почему Голанг написан в Голанге?

Я вижу, что язык Go написан в самом Голанге. Голанг в Гитубе

Почему так делается?

Каковы новые функции?

Как вы создаете компилятор?

4b9b3361

Ответ 1

Это практика, называемая self-hosting. Многие языки начинаются на довольно низкоуровневом языке, таком как C, но делают его целью переписать канонический компилятор на своем родном языке до версии 1.0.

Это способ съесть свою собачью пищу, чтобы убедиться, что язык делает все, что нужно для серьезного сложного программного обеспечения, и чтобы гарантировать, что компилятор работает правильно.

Ответ 2

Почему?

  • Go проще писать (правильно), чем C.
  • Go легче отлаживать, чем C (даже отсутствующий отладчик).
  • Go - это единственный язык, который вам нужно знать; поощряет вклады.
  • Go имеет лучшую модульность, оснастку, тестирование, профилирование и т.д.
  • Go делает параллельное выполнение тривиальным.

Источник: Go Go Go

Как он построен?

Чтобы построить Go 1.x, для x ≥ 5, необходимо будет установить Go 1.4 (или новее) уже в $GOROOT_BOOTSTRAP. Значение по умолчанию $GOROOT_BOOTSTRAP равно $HOME/go1.4. В общем, мы будем использовать Go 1.4 в качестве начальной версии начальной загрузки как можно дольше. Собственная инструментальная цепочка (компилятор, сборщики, компоновщики) должна быть построена с помощью Go 1.4, будь то ограничение использования их функций на то, что находится в Go 1.4, или с помощью тегов сборки.

Источник: Go 1.5 Bootstrap Plan

Дальнейшее чтение: How Go использует Go, чтобы построить себя