История изменений
Исправление no-such-file, (текущая версия) :
Но по сравнению с языками ассемблера это был большой шаг вперёд. В начале 70х.
Совсем поехавший? В 70 году уже 10 лет исполнилось алголу, 6 лет как существовал PL/1, на котором писали multics, не говоря уж о всяких Коболах и Симулах.
В те времена была некоторая эйфория от достижений в области языков высокого уровня, казалось ещё чуть-чуть и можно будет писать программы на естественном языке. В связи с чем языки старались создавать так, чтобы они приближались к естественным. С другой стороны не было понимания, что стоит пихать в язык, а что оставить в виде библиотек. Опять же успехи по внедрению высокоуровневых абстракций провоцировали запиливать всё новые фичи на каждый чих.
Си был прорывом в том смысле, что он сломал эти шаблоны предложив другую концепцию - высокоуровневого языка для машины, а не для человека. При этом из сферы языка выкидывались сложные абстракции - даже строки по сути не являются частью языка, как например в алголе/паскеле. Вместо этого предлагалось пилить алгоритмы непосредственно. Т.о. в Си произошёл переход от программирования на абстракциях языка, к программированию на абстракциях машины и использованию паттернов. Например строка в Си - это паттерн «массив символов», а не полноценная языковая абстракция. Тут можно проследить определённые параллели между CISC и RISC - Си был таким же прорывом среди языков, каким был RISC для процессоров.
А потом появился C++ и все полимеры успешно просрали.
Исходная версия no-such-file, :
Но по сравнению с языками ассемблера это был большой шаг вперёд. В начале 70х.
Совсем поехавший? В 70 году уже 10 лет исполнилось алголу, 6 лет как существовал PL/1, на котором писали multics, не говоря уж о всяких Коболах и Симулах.
В те времена была некоторая эйфория от достижений в области языков высокого уровня, казалось ещё чуть-чуть и можно будет писать программы на естественном языке. В связи с чем языки старались создавать так, чтобы они приближались к естественным. С другой стороны не было понимания, что стоит пихать в язык, а что оставить в виде библиотек. Опять же успехи по внедрению высокоуровневых типов провоцировали запиливать всё новые фичи на каждый чих.
Си был прорывом в том смысле, что он сломал эти шаблоны предложив другую концепцию - высокоуровневого языка для машины, а не для человека. При этом из сферы языка выкидывались сложные абстракции - даже строки по сути не являются частью языка, как например в алголе/паскеле. Вместо этого предлагалось пилить алгоритмы непосредственно. Т.о. в Си произошёл переход от программирования на абстракциях языка, к программированию на абстракциях машины и использованию паттернов. Например строка в Си - это паттерн «массив символов», а не полноценная языковая абстракция. Тут можно проследить определённые параллели между CISC и RISC - Си был таким же прорывом среди языков, каким был RISC для процессоров.
А потом появился C++ и все полимеры успешно просрали.