Гуманитарные технологии Аналитический портал • ISSN 2310-1792

Язык алгоритмический

Наиме­нова­ние: Язык алгоритмический
Опреде­ление: Алгоритмический язык — это искусственная система языковых средств, обладающая выразительными возможностями, достаточными для того, чтобы с её помощью можно было установить любое детерминированное общепонятное предписание о выполнении некоторой последовательности операций, ведущих к решению той или иной конкретной задачи.
Текст статьи: Авторы: Н. М. Нагорный. Подготовка элект­ронной публи­кации и общая редакция: Центр гумани­тарных техно­логий. Инфор­мация на этой стра­нице периоди­чески обнов­ляется. Послед­няя редакция: 21.10.2017.

Алгоритмический язык — это искусственная система языковых средств (см. Язык), обладающая выразительными возможностями, достаточными для того, чтобы с её помощью можно было установить любое детерминированное общепонятное предписание о выполнении некоторой последовательности операций, ведущих к решению той или иной конкретной задачи. Такого рода предписания носят название алгоритмов (см. Алгоритм), от которого происходит термин «алгоритмический язык». В систематическое употребление этот термин был введён в 1958 году Г. Боттенбрухом. Понятие алгоритмического языка сформировалось в 50-х годах XX века в процессе становления компьютерного программирования как самостоятельной научно-прикладной дисциплины. Однако теоретические истоки этого понятия прослеживаются ещё в работах 1930-х годов С. К. Клини, Э. Л. Поста, А. М. Тьюринга и А. Чёрча по уточнению общего математического понятия алгоритма. В настоящее время теория алгоритмических языков, а также проблематика, связанная с их разработкой и использованием, составляет один из наиболее важных разделов информатики.

В логико-лингвистическом и гносеологическом аспекте алгоритмические языки представляют собой одну из моделей императива (повелительного наклонения), и потому выступают, с одной стороны, как средство фиксации операционного знания, а с другой — как инструмент машинной, человеко-машинной, а некоторых случаях и человеческой коммуникации. За короткий промежуток времени алгоритмические языки превратились в новое познавательное средство, органически вошедшее в научную и практическую деятельность человека. Обычно к ним предъявляется требование «универсальности», заключающееся в том, что должна иметься возможность моделирования с их помощью любых алгоритмов из числа тех, которые дают какое-либо уточнение общего понятия алгоритма (например, машин Тьюринга). Абсолютная точность синтаксиса алгоритмического языка необходима не во всех случаях. Она обязательна в рассмотрениях содержательного характера. Но в определённых ситуациях (например, когда тексты, записанные на каком-либо алгоритмическом языке, начинают выступать в роли средства общения с компьютером) этот алгоритмический язык должен быть оформлен в виде соответствующего формализованного языка (см. Язык формализованный) с чётко описанным синтаксисом и точно заданной семантикой его грамматических категорий (см. Семантика). Центральное место в таких алгоритмических языках занимают тексты, называющиеся программами (в сущности, именно они и выражают понятие алгоритма). Понятие программы формулируется в чисто структурных терминах синтаксиса этого языка (см. Синтактика), без какого-либо обращения к смысловым категориям. Точно такой же характер носит и описание процедуры выполнения программы. Поэтому в роли исполнителя алгоритмов, записанных на формализованных алгоритмических языках, может выступать не только человек, но и наделённое соответствующими возможностями автоматическое устройство, например, компьютер, с помощью которого сейчас возможно выполнять все основные виды алгоритмов.

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

  1. теоретические алгоритмические языки (к которым относятся такие, как язык машин Тьюринга или нормальных алгоритмов Маркова) используются в общей теории алгоритмов;
  2. прикладные алгоритмические языки (к которым относятся так называемые языки программирования для компьютеров; в настоящее время их известно более тысячи) — используются в практике машинного решения разнообразных по-своему характеру задач.

На ранней стадии программирования употреблялись «машинно-ориентированные» алгоритмические языки (так называемые языки «низкого уровня»), учитывавшие структуру или даже характеристики конкретных вычислительных машин (систему команд, особенности и структуру памяти и так далее). Впоследствии им на смену пришли «проблемно-ориентированные» алгоритмические языки (так называемые языки «высокого уровня»), освободившие пользователя от необходимости ориентироваться на машины определённого типа и тем самым придавшие его усилиям гораздо большую математическую направленность. Дальнейшим развитием идеи алгоритмического языка стали языки программирования более общего, не обязательно алгоритмического характера. Как и алгоритмические языки, такие языки в конечном счёте тоже нацелены на получение машинных программ, но во многих случаях их тексты допускают определённую свободу в выполнении и, как правило, дают лишь материал для синтеза искомых алгоритмов, а не сами эти алгоритмы. Постоянное проникновение вычислительных машин в научную, культурную и социальную сферы ведёт к значительному повышению роли алгоритмических языков в жизни общества, и это выражается, в частности, в том, что алгоритмы и реализующие их программы (то есть, в конечном счёте, тексты на некоторых алгоритмических языках) всё более приобретают характер реальных ресурсов экономического, научного и культурного потенциала развития, что в свою очередь вызывает к жизни значительное количество серьёзных методологических и гносеологических проблем. Кроме того, расширяющееся (вплоть до обиходного) пользование алгоритмическими языками приводит к установлению особого стиля мышления, и соотношение мышления такого рода с традиционным математическим также представляет собой важную и мало разработанную методологическую проблему.

Библио­графия:
  1. Кнут Д. Искусство программирования для ЭВМ, т. 1–3. — М., 1976.
  2. Ершов А. П. Введение в теоретическое программирование: беседы о методе. — М., 1977.
  3. Дейкстра Э. Дисциплина программирования. — М., 1978.
Источник: Язык алгоритмический. Гуманитарная энциклопедия [Электронный ресурс] // Центр гуманитарных технологий, 2010–2017 (последняя редакция: 21.10.2017). URL: http://gtmarket.ru/concepts/7179
Авторы статьи: © Н. М. Нагорный. Подготовка электронной публикации и общая редакция: Центр гуманитарных технологий.