Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Язык программирования пятого поколения ( 5GL ) является любой язык программирования , основанный на решении проблем с использованием ограничений , данные программы, а не с использованием алгоритма , написанный программистом. [1] Большинство языков программирования на основе ограничений и логики, а также некоторые другие декларативные языки являются языками пятого поколения.

История [ править ]

В то время как языки программирования четвертого поколения предназначены для создания конкретных программ, языки пятого поколения предназначены для того, чтобы компьютер мог решать данную проблему без участия программиста. Таким образом, пользователю нужно только беспокоиться о том, какие проблемы необходимо решить и какие условия должны быть выполнены, не беспокоясь о том, как реализовать процедуру или алгоритм для их решения. Языки пятого поколения используются в основном в исследованиях искусственного интеллекта . OPS5 и Mercury - примеры языков пятого поколения. [2], как и ICAD , построенный на Лиспе . KL-ONE - это пример родственной идеи, фреймового языка..

В 1980-х годах языки пятого поколения считались путем будущего, и некоторые предсказывали, что они заменят процедурное программирование программированием на основе ограничений для всех задач, которые можно было бы сформулировать как серию логических ограничений. [3] В частности, с 1982 по 1993 год Япония [4] [5] вложила много исследований и денег в свой проект компьютерных систем пятого поколения , надеясь спроектировать огромную компьютерную сеть машин с использованием этих инструментов.

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

Распространенное заблуждение [ править ]

Известно, что производители иногда рекламируют свои языки как 5GL. В большинстве случаев они продают 4GL с более высоким уровнем автоматизации и базой знаний . Поскольку шумиха 1980-х годов улеглась, и в конечном итоге все проекты были прекращены, осведомленность о 5GL также упала; это дало производителям возможность повторно использовать этот термин в маркетинге своих новых инструментов, не вызывая особых споров среди нынешних поколений программистов. [6]

Языки предыдущего поколения [ править ]

См. Также [ править ]

  • Ограниченное программирование
  • Список языков программирования для искусственного интеллекта
  • Парадигмы программирования

Ссылки [ править ]

  1. ^ Донг, Джилин, изд. (2007). Сетевой словарь . Саратога, Калифорния: Javvin Technologies, Inc. стр. 195. ISBN 9781602670006.
  2. ^ Э. Балагурусами, Основы компьютеров , Mcgraw Hill Education (Индия), 2009, ISBN 978-0070141605 , стр. 340 
  3. ^ Kahanwal, Brijender (4 октября 2013). «Таксономия языков программирования с многопоследовательными процессами». Международный журнал языков программирования и приложений . 3 (4). arXiv : 1311,3293 . DOI : 10.5121 / ijpla.2013.3401 .
  4. ^ Ричард Григонис. «КОМПЬЮТЕРЫ ПЯТОГО ПОКОЛЕНИЯ» . Проверено 5 марта 2008 .
  5. ^ ALP. «Ассоциация логического программирования (АЛП)» . Проверено 5 марта 2008 .
  6. Ховард, Филип (17 января 2007 г.). "Что делает 5GL?" . Реестр . Проверено 28 ноября 2019 .