|
Страница 1 из 2 Процедурным языки задают компьютеру явную последовательность действий, которую нужно выполнить для решения задачи.
В отличие от этого непроцедурные языки позволяют программисту просто описывать желаемый результат, не задавая точного способа его получения.
Примером непроцедурного языка может служить Пролог (Prolog, от PROgramming in LOGic - программирование в логике), разработанный в 1972 г. Аланом Колмари (Alain Colmerauer) из университета в Лумини (Марсель).
Выдержанный в традициях формальной логики, Пролог приобрел много горячих сторонников в европейских исследовательских центрах по искусственному интеллекту.
При работе с ним программистам не требуется расписывать шаг за шагом процедуры - достаточно просто определить множество фактов и установить отношения между ними, например, что «телега» и «автомобиль», квалифицируются как нечто, называемое «средство передвижения», и что это «средство передвижения» имеет что-то, что называется «колеса».
С помощью этих соотношений процедуры, уже встроенные в язык, получают логический вывод о том, что, скажем, «автомобиль» имеет «колеса». Эта особенность делает Пролог очень удобным для написания некой разновидности программ, получивших название «экспертные системы» - наиболее значимый в коммерческом отношении результат, полученный в исследованиях по искусственному интеллекту.
Строя логические выводы на основе человеческих знаний, введенных в программу, экспертные системы добиваются успехов в таких областях деятельности, как диагностика заболеваний, поиск месторождений полезных ископаемых.
По существу все языки обработки списков, а также Пролог возникли в академических сферах. Два других важных универсальных языка обязаны своим рождением исследовательским лабораториям гигантских корпораций. |