- Fourth generation language
-
Fourth generation language oder kurz 4GL bezeichnet Programmiersprachen/Programmierumgebungen der vierten Generation. Diese sind darauf ausgerichtet, rasch für einen bestimmten Anwendungsbereich (das heißt mit möglichst wenigen Code-Zeilen) Funktionen oder komplette Anwendungen schreiben zu können.
Inhaltsverzeichnis
Der Begriff 4GL ist nicht exakt definierbar und wird vor allem für Marketing-Zwecke eingesetzt. Gemeinsames Hauptziel aller 4GL ist es jedoch, im Vergleich mit Drittgenerationssprachen dieselbe Funktionalität mit weniger Code zu erreichen. Der Begriff wurde in den 1980er Jahren häufig verwendet. Heute wird auch der Begriff Rapid Application Development (RAD) mit überlappender Semantik angewandt.
In Drittgenerationssprachen stand die Einführung von standardisierten Kontrollstrukturen im Vordergrund. In Viertgenerationssprachen liegen bereits zusätzliche Bausteine, die häufig in spezialisierten Anwendungen vorkommen, oder auch (grafische) Codegeneratoren, bereits vor. Somit besteht die Trennlinie häufig nicht in der eigentlichen Sprachsyntax, sondern in den bereitgestellten Standardbibliotheken und dem Abstraktionsgrad, den sie erlauben. Die MFC und das .NET-Framework stellen beispielsweise wesentlich abstraktere Arten der Programmierung dar als die klassische Verwendung von WINAPI-Aufrufen. Dabei muss die Entwicklungssprache nicht gewechselt werden: Beides ist beispielsweise mit C++ möglich.
Die Bezeichnung 4GL wurde stark von James Martin propagiert. Er benutzte sie zuerst 1982 in seinem Buch Application Development Without Programmers („Anwendungsentwicklung ohne Programmierer“). Diese Deutung hat sich nicht durchgesetzt: Nach wie vor wird trotz Codegeneratoren und Abstraktionsbibliotheken die eigentliche Programmlogik von Programmierern erstellt.
Zielsetzung
- Verringerung des Programmieraufwands durch kürzere und verständlichere Programme
- Bessere Wartbarkeit und Erweiterbarkeit der Programme durch bessere Lesbarkeit
- daraus resultiert eine Reduzierung der Kosten
Typen
- Berichtgeneratoren
- Eingabeformulargeneratoren
- Gesamtsysteme, die Angaben aus CASE-Systemen übernehmen und mit Bericht- und Eingabegeneratoren und weiterer Angabe von Prozesslogik ganze Systeme generieren. Ein Beispiel dazu ist das Werkzeug Information Engineering von James Martin, das erlaubt, die Resultate von Systemanalyse und Systemdesign zu erfassen (in der Form von Datenflussdiagrammen, Entity-Relationship-Diagrammen und Entity-Life-Cycle-Diagrammen). Daraus wurden dann hunderttausende von COBOL-Programmzeilen generiert. Ein neueres System sind die Werkzeuge von Oracle: Oracle Designer and Oracle Developer. Ein weiteres Beispiel eines modernen Gesamtsystems, welches von der Entwicklung bis zum Betrieb alle Aspekte unterstützt ist Uniface.
Beispiele
- Datenbankabfrage
- Datenmanipulation, -analyse und Berichterstellung
- Programmiersprachen
-
- Natural
- WinDev
- Clarion
- CONZEPT 16
- COOL:GEN
- Enterprise Generation Language
- Maple – Computeralgebrasystem
- Mathematica – Computeralgebrasystem
- Pacbase
- SQLWindows
- Uniface
- Xbase++
- Siron
- Formularerstellung
-
- Oracle Forms
- Ingres OpenROAD
- Lotus Notes Makrosprache (@-Formula-Language)
- Werkzeuge zur Erstellung von grafischen Benutzeroberflächen
-
- CONZEPT 16
- Lotus Notes Makrosprache (@-Formula-Language)
- Omnis Studio
- MATLAB's GUIDE
- Uniface
- Windev 11
Weblinks
Wikimedia Foundation.