Багато підручників з мови програмування на C говорять про те, що C - мова програмування високого рівня, але багато хто з репетиторів в Інтернеті кажуть, що C також є мовою програмування середнього рівня. Чому це так?
Багато підручників з мови програмування на C говорять про те, що C - мова програмування високого рівня, але багато хто з репетиторів в Інтернеті кажуть, що C також є мовою програмування середнього рівня. Чому це так?
Відповіді:
Історично все, що резюмує над асемблерним кодом, називалося високим рівнем. C звичайно це робить. Це визначення також є досить чітким, на відміну від наступного.
З часом ми створювали все більше мов програмування і вигадували все більше і більше абстракцій та інструментів. Порівняно з, скажімо, Python, мова С позитивно примітивна за семантичним багатством та рівнем абстракції над апаратними засобами. Зважаючи на це, багатьом людям вважається оманливим називати C високого рівня, коли існує безліч мов, що набагато вище апаратних засобів.
Тож зараз "високий рівень" зазвичай означає "багато рефератів над обладнанням", а "низький рівень" означає "реферати мало". Це визначення, яке використовують ваші репетитори. Не всі згодні, однак, і старі тексти не магічно приймають нову термінологію, тому ви все ще бачите, як старе використання "високого рівня" (під яким C є високим рівнем) плаває навколо. Майте на увазі, що багато хороших книг С - це в основному новіші видання книг, виданих двадцять років тому.
Це мова вищого рівня, ніж машинний код (складання), звідки виходять книги та навчальні програми з програмування С.
У цьому відношенні це мова програмування високого рівня.
Однак він все ще дуже близький до апаратного забезпечення - набагато більше, ніж інші, більш сучасні мови (Java, C # і подібні) - якщо дивитися з цієї точки зору, це мова програмування середнього рівня.