Многие из учебников по языку программирования C говорят, что C - это язык программирования высокого уровня, но многие онлайн-преподаватели говорят, что C также является языком программирования среднего уровня. Почему это так?
programming-languages
c
high-level
CodeIt
источник
источник
Ответы:
Исторически все, что абстрагируется от ассемблера, называлось высокоуровневым. C, конечно, делает это. Это определение также относительно четкое, в отличие от следующего.
Со временем мы создали все больше языков программирования и изобрели все больше абстракций и инструментов. По сравнению, скажем, с Python, язык C положительно примитивен в семантическом богатстве и уровне абстракции по сравнению с аппаратным обеспечением. Имея это в виду, многие люди считают вводящим в заблуждение называть C высокоуровневым, когда существует множество языков, которые намного выше аппаратных.
Так что теперь «высокий уровень» обычно означает «много абстрагируется от аппаратного обеспечения», а «низкий уровень» означает «мало абстрагируется». Это определение, которое используют ваши преподаватели. Однако не все согласны с этим, и старые тексты волшебным образом не принимают новую терминологию, поэтому вы все еще видите, как старое использование «высокого уровня» (при котором C является высоким уровнем) распространяется вокруг. Имейте в виду, что многие хорошие книги по Си - в основном более новые издания книг, выпущенных двадцать лет назад.
источник
Это язык более высокого уровня, чем машинный код (сборка), с которой исходят книги и руководства по программированию на C.
В этом отношении это язык программирования высокого уровня.
Тем не менее, он все еще очень близок к аппаратному обеспечению - гораздо больше, чем другие, более современные языки (Java, C # и т. Д.) - если смотреть с этой точки зрения, это язык программирования среднего уровня.
источник