Język programowania piątej generacji - Fifth-generation programming language

Język programowania piątej generacji ( 5GL ) jest dowolny język programowania oparty na rozwiązywanie problemów z zastosowaniem ograniczeń podanych w programie, a nie przy użyciu algorytmu napisany przez programistę. Większość języków programowania opartych na ograniczeniach i logicznych oraz niektóre inne języki deklaratywne to języki piątej generacji.

Historia

Podczas gdy języki programowania czwartej generacji są przeznaczone do tworzenia określonych programów, języki piątej generacji są zaprojektowane tak, aby komputer rozwiązywał dany problem bez programisty. W ten sposób użytkownik musi tylko martwić się o to, jakie problemy należy rozwiązać i jakie warunki muszą zostać spełnione, nie martwiąc się o to, jak zaimplementować rutynę lub algorytm, aby je rozwiązać. Języki piątej generacji są używane głównie w badaniach nad sztuczną inteligencją . OPS5 i Mercury to przykłady języków piątej generacji. podobnie jak ICAD , który został zbudowany na Lispie . KL-ONE to przykład pokrewnej idei, języka ramowego .

W latach 80. XX wieku języki piątej generacji były uważane za drogę przyszłości, a niektórzy przewidywali, że zastąpią one programowanie proceduralne programowaniem opartym na ograniczeniach dla wszystkich zadań, które można by sformułować jako serię ograniczeń logicznych. Przede wszystkim w latach 1982-1993 Japonia włożyła wiele badań i pieniędzy w projekt systemów komputerowych piątej generacji , mając nadzieję na zaprojektowanie ogromnej sieci komputerowej maszyn przy użyciu tych narzędzi.

Jednak w miarę tworzenia większych programów wady tego podejścia stały się bardziej widoczne. Okazuje się, że biorąc pod uwagę zbiór ograniczeń definiujących konkretny problem, wyprowadzenie efektywnego algorytmu do jego rozwiązania jest samo w sobie bardzo trudnym problemem. Ten kluczowy krok nie może być jeszcze zautomatyzowany i nadal wymaga wglądu ludzkiego programisty.

Powszechne niezrozumienie

Sprzedawcy byli znani z reklamowania swoich języków jako 5GL. Przez większość czasu faktycznie sprzedają 4GL z wyższym poziomem automatyzacji i bazą wiedzy . Ponieważ szum z lat 80. zniknął, a wszystkie projekty zostały ostatecznie porzucone, świadomość 5GL również spadła; otworzyło to producentom drzwi do ponownego wykorzystania tego terminu w marketingu swoich nowych narzędzi, bez powodowania wielu kontrowersji wśród obecnych pokoleń programistów.

Języki poprzedniej generacji

Zobacz też

Bibliografia