Я понимаю, как язык может загружаться самостоятельно, но я не смог найти много ссылок на то, почему вы должны рассмотреть возможность начальной загрузки.
Интуитивный ответ заключается в том, что язык, который вы пишете, предлагает утилиты, которые не найдены на "базовом" языке компилятора, а языковые функции относительно хорошо подходят для компилятора.
Например, имеет смысл загружать компилятор С++ - возможно, гораздо проще поддерживать компилятор при правильном использовании ООП, в отличие от использования простой C.
С другой стороны, MATLAB, конечно, делает матричную математику намного проще, чем обычную C, но я не вижу никаких очевидных преимуществ от написания компилятора/интерпретатора MATLAB в MATLAB - похоже, что он станет менее обслуживаемым. Аналогичный взгляд можно применить к языку программирования R. Или довольно экстремальный пример - это быстрая загрузка Whitespace, которая написана в Haskell - определенно массивный надмножество Whitespace.
Является единственной причиной для самонагрузки, чтобы использовать новые возможности языка? Я также знаю, что "потому что мы можем" рассуждать, но это не то, что я ищу:)