Язык программирования пятого поколения.
Эта статья нуждается в дополнительных цитатах для проверки . ( август 2018 г. ) |
Язык программирования пятого поколения ( 5GL ) — это высокого уровня, язык программирования основанный на решении задач с использованием ограничений, заданных в программе, а не на использовании алгоритма , написанного программистом. [1] Большинство языков программирования, основанных на ограничениях и логическом программировании , а также некоторые другие декларативные языки являются языками пятого поколения.
История [ править ]
В то время как языки программирования четвертого поколения предназначены для создания конкретных программ, языки пятого поколения предназначены для того, чтобы заставить компьютер решать данную проблему без участия программиста. Таким образом, пользователю нужно беспокоиться только о том, какие проблемы необходимо решить и какие условия необходимо выполнить, не беспокоясь о том, как реализовать процедуру или алгоритм для их решения. Языки пятого поколения используются в основном в исследованиях искусственного интеллекта . OPS5 и Mercury — примеры языков пятого поколения. [2] как и ICAD , построенный на Lisp . KL-ONE — это пример схожей идеи — языка фреймов .
В 1980-е годы считалось, что за языками пятого поколения будущее, и некоторые предсказывали, что они заменят процедурное программирование программированием, основанным на ограничениях, для всех задач, которые можно было бы представить в виде серии логических ограничений. [3] В частности, с 1982 по 1993 год Япония [4] [5] вложили много исследований и денег в свой проект компьютерных систем пятого поколения , надеясь спроектировать огромную компьютерную сеть машин, использующих эти инструменты.
Однако по мере создания более крупных программ недостатки подхода становились все более очевидными. Оказывается, что при наличии набора ограничений, определяющих конкретную проблему, разработка эффективного алгоритма ее решения сама по себе является очень сложной задачей. Этот решающий шаг пока не может быть автоматизирован и требует понимания программиста-человека.
Распространенное заблуждение [ править ]
Известно, что поставщики время от времени рекламируют свои языки как 5GL. Большую часть времени они на самом деле продают 4GL с более высоким уровнем автоматизации и базой знаний . Поскольку шумиха 1980-х годов утихла, и все проекты в конечном итоге были прекращены, осведомленность о 5GL также упала; это открыло поставщикам возможность повторно использовать этот термин в маркетинге своих новых инструментов, не вызывая при этом особых разногласий среди нынешних поколений программистов. [6]
См. также [ править ]
- Программирование ограничений
- Список языков программирования для искусственного интеллекта
- Парадигма программирования
Ссылки [ править ]
- ^ Донг, Цзелин, изд. (2007). Сетевой словарь . Саратога, Калифорния: Javvin Technologies, Inc., с. 195. ИСБН 9781602670006 .
- ^ Э. Балагурусами, Основы компьютеров , Mcgraw Hill Education (Индия), 2009 г., ISBN 978-0070141605 , с. 340
- ^ Каханвал, Бриджендер (4 октября 2013 г.). «Таксономия языков программирования с многопоследовательными процессами». Международный журнал языков программирования и приложений . 3 (4). arXiv : 1311.3293 . дои : 10.5121/ijpla.2013.3401 .
- ^ Ричард Григонис. «КОМПЬЮТЕРЫ ПЯТОГО ПОКОЛЕНИЯ» . Проверено 5 марта 2008 г.
- ^ АЛП. «Ассоциация логического программирования (ALP)» . Проверено 5 марта 2008 г.
- ^ Ховард, Филип (17 января 2007 г.). «Что делает 5GL?» . Регистр . Проверено 28 ноября 2019 г. .