Язык программирования – это система обозначений и правил для записи алгоритмов, исполняемых на компьютере.
Всякий язык программирования является алгоритмическим языком, но не всякий алгоритмический язык пригоден для использования в качестве языка программирования. Языки программирования, как и алгоритмические языки, обладают однозначностью смысла записываемых с их помощью языковых конструкций.
Все языки программирования делятся на машинно-зависимые и машинно-независимые.
Машинно-зависимые языки зависят от типа компьютера. Каждый компьютер имеет свой собственный язык программирования – машинный язык – и может исполнять программы, записанные только на этом языке. Машинный язык включает в себя набор команд, выполняемых процессором данной конкретной машины. Команды на машинном языке представляют собой набор двоичных знаков.
Программирование на машинном языке сложно и практически не используется. Для упрощения программирования используются машинно-ориентированные языки. Различают два уровня машинно-ориентированных языков:
|
|
– языки символического кодирования (мнемокоды);
– макроязыки.
Мнемокод отличается от машинного языка заменой двоичных кодов операций и двоичных адресов операндов буквами или буквенно-цифровыми обозначениями. Перевод мнемокода на машинный язык выполняется с помощью специальной программы, называемой ассемблером. Ассемблер заменяет каждую команду мнемокода соответствующей командой машинного языка. Мнемокод часто называют языком ассемблера.
Макроязык, наряду с символическими аналогами машинных команд, содержит макрокоманды, не имеющие аналогов в машинном языке. При трансляции каждая макрокоманда заменяется группой команд машинного языка. Это повышает производительность труда программиста.
Машинно-зависимые языки позволяют в наибольшей степени использовать возможности машины, однако требуют от программиста знания особенностей устройства машины. Эти языки используются для написания специального программного обеспечения.
Машинно-независимые языки не зависят от типа компьютера, на котором они используются. Возможность использования такого языка зависит от наличия на компьютере соответствующего транслятора, то есть программы, преобразующей текст программы на машинно-независимом языке в команды, которые понимает процессор компьютера. Машинно-независимые языки в отличие от машинно-зависимых называются языками высокого уровня. Они делятся на процедурно-ориентированные и проблемно-ориентированные языки.
Процедурно-ориентированные языки предназначены для описания алгоритмов решения задач и иногда называются универсальными языками программирования. Структура процедурно-ориентированных языков ближе к естественному языку, чем к машинному. Процедурно-ориентированными языками пользуются специалисты, знакомые с математическими формулировками решаемых задач, методами их решения и приемами программирования. Это могут быть как профессиональные программисты, так и специалисты в различных областях, хорошо владеющие программированием и методами решения задач в своей области.
|
|
При программировании на процедурно-ориентированных языках не требуется детального знания устройства компьютера. Наиболее широко используемыми процедурно-ориентированными языками высокого уровня являются БЭЙСИК, ПАСКАЛЬ, СИ.
Проблемно-ориентированные языки ориентированы на решение определенного класса задач. не требуют подробной записи алгоритма решения задачи. Примером такого языка является язык GPSS, используемый для имитационного моделирования систем массового обслуживания.