Ingernirated
@Ingernirated
Романыч

Си это основополагающий язык или просто популярный?

Добрый день, подскажите, Си это самый близкий язык после ассемблера к машинному коду и являющийся стандартом от которого пошли всё остальные языки?
Или большинство языков пишутся исключительно из машинного кода?
И как, допустим, в ассемблере, смогли в 4 байта LOAD задать команду загружать или процессоры создают непосредственно под языки, а не языки под процессоры?
  • Вопрос задан
  • 474 просмотра
Решения вопроса 4
gbg
@gbg Куратор тега Программирование
Любые ответы на любые вопросы
Процессоры под языки - несколько исторических примеров, вроде lisp-машины.

Обычно языки создают под решение конкретных задач, более того, их стараются сделать переносимыми между процессорами.

В этом как раз очень помогают C и C++, потому как они являются кросcплатформенными языками, для которых действует принцип вы платите (тратите ресурсы на) только те фичи языка, которыми пользуетесь.

Именно поэтому большинство интерпретаторов и Runtime-окружений для некомпилируемых (Python) и JIT-компилируемых (Java) языков делаются на C или C++, либо являются трансляторами в C++ (KPHP)
Ответ написан
Adamos
@Adamos
Особенность С среди языков программирования - в том, что в стандарте языка есть только то, что компьютер может выполнить без лишних накладных расходов. Поэтому его хорошо знать - просто для понимания идеалов оптимизации, но без закапывания вглубь архитектуры, как в ассемблере.

Большинство языков пишутся для того, чтобы решать некие проблемы - ну, и как-то исполнить результат. В машинном коде он будет исполняться, в коде для виртуальной машины или вовсе дерганьем какого-то API - это совсем второй вопрос. У высокоуровневых языков может быть несколько вариантов на вкус.
Ответ написан
@evgeniy_lm
Язык Си был разработан Деннисом Ритчи для переноса ОС Unix на различные аппаратные платформы.
Очень долгое время был единственным языком высокого уровня способным генерировать компактный исполняемый код. Как следствие появилось множество программистов на Си, а позже появились другие языки с Си-подобным синтаксисом. Сейчас на си пишутся программы для работы с железом, например драйвера или ПО для микроконтроллеров.
Ответ написан
Комментировать
saboteur_kiev
@saboteur_kiev Куратор тега Программирование
software engineer
Под процессоры (точнее под архитектуру), пишут компиляторы и интерпретаторы, чтобы код программы мог быть скомпилирован под конкретную архитектуру и следовательно выполниться на ней.

Си ОЧЕНЬ неблизкий к машинному коду, но на нем действительно меньше абстракций, чем в большинстве других популярных языков. Но различные языки появлялись в разных условиях, и часто потому, что Си вообще не подходил под решение задач. От Си развился С++. И все. Остальные языки создавались достаточно независимо.

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

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

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

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