@Miqoooooo
Web Programmer

На чём написан язык программирования C?

На чём написан язык программирования C?
  • Вопрос задан
  • 8960 просмотров
Решения вопроса 1
wataru
@wataru
Разработчик на С++, экс-олимпиадник.
Учтите, что язык программирования - это просто набор спецификаций и правил. Он написан на английском языке.

Если же вас интересует на чем запрограммированы компиляторы языка С, то самые популярные нынче развивающиеся компиляторы написаны на C и C++ соответственно:
gcc: https://github.com/gcc-mirror/gcc
clang: https://github.com/llvm/llvm-project/tree/main/clang

Вы спросите, а как компилятор языка Си написали на самом Си? Ответ прост - первые компиляторы были написаны на ассемблере. Они были очень простыми и тупыми, возможно не умели понимать все тонкости языка. Когда появился достаточно работающий компилятор с минимальным набором функций, можно было переписать его на Cи и скомпилировать первым компилятором. После этого стало можно компилировать компилятор на Си самим собой.

Точно также в компиляторы добавляют новые возможности языка - реализуют код компиляции этих вещей без их использования в исходниках и получают компилятор, который умеет их компилировать. Потом можно исходный код компилятора переписать с использованием этих новых функций, используя полученный ранее исполняемый файл компилятора.

А так, наверно, есть куча неподдерживаемых устаревших компиляторов Си на всевозможных языках.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
hottabxp
@hottabxp
Сначала мы жили бедно, а потом нас обокрали..
На английском языке. Сам компилятор на СИ.
Ответ написан
Комментировать
Griboks
@Griboks
На С. Это называется раскруткой.
Ответ написан
Комментировать
includedlibrary
@includedlibrary
Компиляторы си написаны на c++ и на си. В gcc большая часть кода на си, clang же написан на c++
Ответ написан
Комментировать
CityCat4
@CityCat4
Внимание! Изменился адрес почты!
Внезапно - на языке С. При сборке gcc он сам себя собирает трижды - сначала минимальный компилер, потом больше, потом еще больше, потом финальный. Это занимает приличное такое количество времени.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы