- АЛГОРИТМИЧЕСКИЙ ЯЗЫК
- АЛГОРИТМИЧЕСКИЙ ЯЗЫК
-
АЛГОРИТМИЧЕСКИЙ ЯЗЫК — искусственная система языковых средств, обладающая выразительными возможностями, достаточными для того, чтобы с ее помощью можно было задать любое принадлежащее заранее очерченному классу детерминированное общепонятное предписание, выполнение которого ведет от варьирующих в определенных пределах исходных данных к искомому результату. Такого рода предписания носят название алгоритмов, откуда и сам термин “алгоритмический язык”. В систематическое употребление он был введен в 1958 Г. Ботгенбрухом. Исторически понятие алгоритмического языка сформировалось в 50-х гг. 20 в. в процессе становления компьютерного программирования как самостоятельной научной дисциплины. Однако теоретические истоки этого понятия прослеживаются еще в работах 30-х гг. С. К. Клини, Э. Л. Поста, А. М. Тьюринга и А. Черча по уточнению общего математического понятия алгоритма. В настоящее время теория алгоритмических языков, а также проблематика, связанная с их разработкой и использованием, составляет один из важнейших разделов информатики.В логико-лингвистическом и гносеологическом аспекте алгоритмические языки представляют собой одну из моделей императива (повелительного наклонения), и потому выступают, с одной стороны, как средство фиксации операционного знания, ас другой — как инструмент машинной, человеко-машинной или даже просто человеческой коммуникации. За короткий промежуток времени алгоритмические языки превратились в новое познавательное средство, органически вощедшее в научную и практическую деятельность человека. Обычно к ним предъявляется требование “универсальности”, заключающееся в том, что должна иметься возможность моделирования с их помощью любых алгоритмов из числа тех, которые дают какое-либо уточнение общего понятия алгоритма (напр., машин Тьюринга). Абсолютная точность синтаксиса алгоритмического языка необходима не во всех случаях. Она обязательна в рассмотрениях содержательного характера. Но в определенных ситуациях (напр., когда тексты, записанные на каком-либо алгоритмическом языке, начинают выступать в роди средства общения с компьютером) этот алгоритмический язык должен быть оформлен в виде соответствующего формализованного языка с четко описанным синтаксисом и точно заданной семантикой его грамматических категорий. Центральное место в таких алгоритмических языках занимают тексты, называющиеся программами (собственно говоря, именно они и выражают понятие алгоритма). Понятие программы формулируется в чисто структурных терминах синтаксиса этого языка, без какого-либо обращения к смысловым категориям. Точно такой же характер носит и описание процедуры выполнения программы. Поэтому в роли исполнителя алгоритмов, записанных на формализованных алгоритмических языках, может выступать не только человек, но и наделенное соответствующими возможностями автоматическое устройство, напр., компьютер. “Теоретические” алгоритмические языки (такие, как язык машин Тьюринга или нормальных алгорифмов Маркова) лежат в основе общей теории алгоритмов.“Практические” алгоритмические языки—т. н. языки программирования для компьютеров (в настоящее время их известно более тысячи) — используются в практике машинного решения самых разнообразных по своему характеру задач. На ранней стадии программирования употреблялись “машинно-ориентированные” алгоритмические языки (т. н. языки “низкого уровня”), учитывавшие структуру или даже характеристики конкретных вычислительных машин (систему команд, особенности и структуру памяти и т. п.). Потом им на смену пришли “проблемноориентированные” алгоритмические языки (языки “высокого уровня”), освободившие пользователя от необходимости ориентироваться на машины определенного типа и тем самым придавшие его усилиям гораздо большую математическую направленность. Дальнейшим развитием идеи алгоритмического языка явились языки программирования более общего, не обязательно алгоритмического характера. Как и алгоритмические языки, такие языки в конечном счете тоже нацелены на получение машинных программ, но во многих случаях их тексты допускают определенную свободу в выполнении и, как правило, дают лишь материал для синтеза искомых алгоритмов, а не сами эти алгоритмы. Все убыстряющееся проникновение вычислительных машин в научную, культурную и социальную сферы ведет к значительному повышению роли алгоритмических языков в жизни общества, и это выражается, в частности, в том, что алгоритмы и реализующие их программы (т. е., в конечном счете, тексты на некоторых алгоритмических языках) все более и более приобретают характер реальных ресурсов экономического, научного и культурного потенциала общества, что в свою очередь вызывает к жизни значительное количество серьезных методологических и гносеологических проблем. Кроме того, все расширяющееся (вплоть до обиходного) пользование алгоритмическими языками приводит к установлению особого стиля мышления, и соотношение мышления такого рода с традиционным математическим тоже представляет собой важную и мало разработанную методологическую проблему.Лит.: Кнут Д. Искусство программирования для ЭВМ, т. 1-^3. M., 1976; Ершов А. П, Введение в теоретическое программирование: беседы о методе. М., 1977; Дейкстра Э. Дисциплина программирования. М„ 1978.Я. М. Нагорный
Новая философская энциклопедия: В 4 тт. М.: Мысль. Под редакцией В. С. Стёпина. 2001.
.