Eine Programmiersprache der fünften Generation ( 5GL ) ist eine höhere Programmiersprache, die auf Problemlösung durch dem Programm vorgegebene Einschränkungen basiert, anstatt einen vom Programmierer geschriebenen Algorithmus zu verwenden. [ 1 ] Die meisten Constraint-basierten und logischen Programmiersprachen sowie einige andere deklarative Sprachen zählen zur fünften Generation.

Geschichte

Während Programmiersprachen der vierten Generation für die Erstellung spezifischer Programme konzipiert sind, ermöglichen Sprachen der fünften Generation dem Computer, ein gegebenes Problem ohne Programmierer zu lösen. Der Benutzer muss sich somit nur noch darum kümmern, welche Probleme gelöst werden müssen und welche Bedingungen erfüllt sein müssen, ohne sich Gedanken über die Implementierung einer Routine oder eines Algorithmus zu machen. Sprachen der fünften Generation werden hauptsächlich in der Forschung zur künstlichen Intelligenz eingesetzt . OPS5 und Mercury sind Beispiele für Sprachen der fünften Generation [ 2 ] , ebenso wie ICAD , das auf Lisp basiert . KL-ONE ist ein Beispiel für eine verwandte Idee, eine Rahmensprache .

In den 1980er Jahren galten Programmiersprachen der fünften Generation als zukunftsweisend, und einige sagten voraus, dass sie die prozedurale Programmierung durch Constraint-basierte Programmierung für alle Aufgaben ersetzen würden, die sich als Reihe logischer Bedingungen formulieren ließen. [ 3 ] Insbesondere Japan investierte von 1982 bis 1993 [ 4 ] [ 5 ] erhebliche Forschungs- und Finanzmittel in sein Projekt für Computersysteme der fünften Generation , mit dem Ziel, ein riesiges Computernetzwerk auf Basis dieser Werkzeuge zu entwickeln.

Mit der Entwicklung größerer Programme traten die Schwächen des Ansatzes jedoch deutlicher zutage. Es zeigte sich, dass die Entwicklung eines effizienten Algorithmus zur Lösung eines gegebenen Problems unter Berücksichtigung der gegebenen Randbedingungen eine äußerst schwierige Aufgabe darstellt. Dieser entscheidende Schritt lässt sich noch nicht automatisieren und erfordert weiterhin das Fachwissen eines Programmierers.

Häufiger Irrtum

Anbieter bewerben ihre Sprachen gelegentlich als 5GL. Meistens verkaufen sie jedoch tatsächlich 4GLs mit einem höheren Automatisierungsgrad und einer umfangreicheren Wissensbasis . Da der Hype der 1980er-Jahre nachließ und die Projekte schließlich eingestellt wurden, ist auch das Bewusstsein für 5GL gesunken. Dies ermöglicht es Anbietern, den Begriff in der Vermarktung ihrer neuen Tools wiederzuverwenden, ohne bei den heutigen Programmierergenerationen größere Kontroversen auszulösen. [ 6 ]

Siehe auch

Referenzen

  1. ^ Dong, Jielin (Hrsg.). (2007). Network dictionary . Saratoga, Kalifornien: Javvin Technologies, Inc., S. 195. ISBN 9781602670006Die
  2. ^ E. Balagurusamy, Grundlagen der Informatik , McGraw-Hill Education (Indien), 2009, ISBN 978-0070141605, S. 340
  3. ^ Kahanwal, Brijender (4. Oktober 2013). „Eine Taxonomie für Programmiersprachen mit mehrsequenziellen Prozessen“. International Journal of Programming Languages ​​and Applications . 3 (4). arXiv : 1311.3293 . doi : 10.5121/ijpla.2013.3401 .
  4. ^ Richard Grigonis. „COMPUTER DER FÜNFTEN GENERATION“ . Abgerufen am 5. März 2008 .
  5. ^ ALP. „Association for Logic Programming (ALP)“ . Abgerufen am 05.03.2008 .
  6. ^ Howard, Philip (17. Januar 2007). „Was macht ein 5GL aus?“ . The Register . Abgerufen am 28. November 2019 .