Языки программирования

Естественный язык – социальное средство хранения и передачи информации, одно из средств управления поведением человека. Он неразрывно связан с мышлением и существует в виде речи.

Кроме естественного языка существуют искусственные языки, целенаправленно сконструированные для

– международного общения (эсперанто, интерлингва);

– автоматической обработки информации с помощью ЭВМ (языки программирования);

– записи информации из определенной области науки и техники (информационные языки).

Основой любого естественного или искусственного языка является алфавит, состоящий из некоторого множества символов или букв. Последовательности букв образуют слова. Однако не любая последовательность букв образует правильное слово с точки зрения данного языка. Совокупность правил, позволяющих строить правильные слова, называется грамматикой.

Слова могут объединяться в более сложные конструкции – предложения. Предложения строятся из слов и более простых предложений по определенным правилам. Совокупность правил, с помощью которых строятся правильные предложения, называется синтаксисом.

Каждому правильному предложению языка приписывается некоторый смысл. Совокупность правил, с помощью которых предложениям ставится в соответствие смысл, называется семантикой.

Естественный язык является универсальным в том смысле, что с его помощью может быть представлена любая информация. Однако он обладает особенностями, делающими его неудобным для записи алгоритмов. Эти особенности следующие:

– зависимость синтаксиса от семантики;

– многозначность смысла предложений;

– расплывчатость смысла предложений и возможность парадоксальных предложений.

Зависимость синтаксиса от семантики заключается в том, что способ построения предложения зависит от его смысла. Например, правильность предложения

"Кравченко пришел домой"

зависит от того, является ли Кравченко мужчиной или женщиной.

Зависимость синтаксиса от семантики означает, что для распознавания правильности предложения нужно знать его смысл.

Приведем пример многозначности естественного языка:

"Я вижу косу".

Здесь слово "коса" может означать сельскохозяйственное орудие, сплетение волос на голове или длинную узкую отмель, идущую вдоль берега.

Пример парадоксального предложения:

"Если у состава отцепить последний вагон,
то у состава не будет последнего вагона".

Искусственные языки, предназначенные для записи программ, называются языками программирования или алгоритмическими языками. Все языки программирования делятся на машинно-зависимые и машинно-независимые.

Машинно-зависимые языки зависят от типа компьютера. Каждый компьютер имеет свой собственный язык программирования – машинный язык и может исполнять программы, записанные только на этом языке. Машинный язык включает в себя набор команд, выполняемых процессором данной конкретной машины. Команды на машинном языке представляют собой набор двоичных знаков.

Программирование на машинном языке сложно и практически не используется. Для упрощения программирования используются машинно-ориентированные языки. Различают два уровня машинно-ориентированных языков:

– языки символического кодирования (мнемокоды);

– макроязыки.

Мнемокод отличается от машинного языка заменой двоичных кодов операций и двоичных адресов операндов буквами или буквенно-цифровыми обозначениями. Перевод мнемокода на машинный язык выполняется с помощью специального типа транслятора, называемого ассемблером. Ассемблер заменяет каждую команду мнемокода соответствующей командой машинного языка. Мнемокод часто называют языком ассемблера.

Макроязык наряду с символическими аналогами машинных команд содержит макрокоманды, не имеющие аналогов в машинном языке. При трансляции каждая макрокоманда заменяется группой команд машинного языка. Это повышает производительность труда программиста.

Машинно-зависимые языки позволяют в наибольшей степени использовать возможности машины, однако требуют от программиста знания особенностей устройства машины. Эти языки используются для написания специального программного обеспечения.

Машинно-независимые языки не зависят от типа компьютера, на котором они используются. Возможность использования такого языка зависит от наличия на компьютере соответствующего транслятора. Машинно-независимые языки в отличие от машинно-зависимых называются языками высокого уровня. Они делятся на процедурно-ориентированные и проблемно-ориенти-рованные языки.

Процедурно-ориентированные языкипредназначены для описания алгоритмов решения задач и иногда называются универсальными языками программирования. Структура процедурно-ориентированных языков ближе к естественному языку, чем к машинному. Процедурно-ориентированными языками пользуются специалисты, знакомые с математическими формулировками решаемых задач, методами их решения и приемами программирования. Это могут быть как профессиональные программисты, так и специалисты в различных областях, хорошо владеющие программированием и методами решения задач в своей области.

При программировании на процедурно-ориентированных языках не требуется детального знания устройства компьютера.

Проблемно-ориентированные языки не требуют подробной записи алгоритма решения задачи. Пользователь должен лишь указать последовательность решения задач из ранее подготовленного набора, указать исходные данные и требуемую форму выдачи результата.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: