ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
24 марта
1506978 Топик полностью
SciFi (19.03.2025 14:53, просмотров: 111) ответил =AlexD= на Авторы писали ОСь, но их ломало писать на АСМе PDP11 , поэтому они сделали макроассемблер очень похожий на язык высокого уровня. Отсюда составные операторы, инклуды вместо модулей, строки заканчивающиеся нулём и массивы без контроля границ и пр.
Нашёл интересный текст про достижение Денниса Ричи: 

https://herbsutter.com/2011/10/12/dennis-ritchie/

До появления языка C в индустрии существовало гораздо больше разнообразия в аппаратном обеспечении, чем мы видим сегодня. Компьютеры не только обладали восхитительно разными и нестандартными наборами инструкций, но и радикально отличались практически во всем, вплоть до таких фундаментальных вещей, как разрядность символов (8 бит на байт вам не подходят? как насчет 9? или 7? или, может быть, иногда 6, а иногда 12?) и адресации памяти (не нравятся 16-битные указатели? как насчет 18-битных, и, кстати, это указатели не на байты, а на слова?). Не существовало универсальных программ, которые были бы одновременно переносимыми на различные типы аппаратного обеспечения и достаточно эффективными, чтобы конкурировать с кодом, написанным специально для конкретного оборудования. Fortran справлялся неплохо для задач, связанных с обработкой массивов и численными вычислениями, но никто не мог создать универсальный язык для общего программирования, который можно было бы использовать для создания чего угодно, вплоть до, скажем, операционной системы. И вот появляется этот молодой выскочка и решает попытаться создать язык, который позволит людям писать программы, которые: (а) являются высокоуровневыми, с использованием структур и функций; (б) переносимыми практически на любое аппаратное обеспечение; и (в) эффективными на этом оборудовании, чтобы они могли конкурировать с рукописным непереносимым ассемблерным кодом, написанным специально для этого оборудования. Высокоуровневый, переносимый и эффективный язык для системного программирования. Как глупо. Все знали, что это невозможно. C — это яркий пример того, почему важно не допускать, чтобы люди, которые знают, что что-то невозможно, мешали тем, кто это делает. (И держать их подальше, пока те же изобретатели, будучи далекими от лени и всегда ищущими новые задачи, используют первый в мире переносимый и эффективный язык программирования для создания первой в мире переносимой операционной системы, не зная, что и это тоже невозможно.)
ส็็็็็็็็็็็็็็็็็็็็็็็็็༼ ຈل͜ຈ༽ส้้้้้้้้้้้้้้้้้้้้้้้