4GL
Eine Viertgenerationssprache (4GL) ist eine Programmiersprache, die darauf ausgerichtet ist für einen bestimmten Anwendungsbereich rasch (d.h. mit möglichst wenigen Lines of Code) Funktionen oder komplette Anwendungen schreiben zu können. Der Begriff 4GL ist nicht exakt definierbar und wird v.a. für Marketing-Zwecke eingesetzt. Gemeinsames Hauptziel aller 4GL ist es jedoch, mit weniger Lines of Code im Vergleich mit Drittgenerationssprachen dieselbe Funktionalität 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 Drittgenerationsssprachen stand die Einführung von standardisierten Kontrollstrukturen im Vordergrund. In Viertgenerationssprachen liegen zusätzlich Bausteine vorgefertigt vor, die häufig in Geschäftsanwendungen vorkommen.
Die Bezeichnung 4GL wurde stark von James Martin propagiert. Er benutzte sie zuerst 1982 in seinem Buch book Applications Development Without Programmers ("Anwendungsentwicklung ohne Programmierer"). Nichtsdestotrotz würde sich die Mehrheit der Anwender von 4GL-Sprachen sich selbst doch als Programmierer bezeichnen und die meisten 4GL-Sprachen enthalten auch eine Möglichkeit um Programmierlogik in einer meist proprietären Drittgenerationssprache zu beschreiben.
Die Viertgenerationssprachen haben zum Ziel:
- gegenüber Dritt-Generationssprachen den Programmieraufwand zu verringern, indem die Anzahl Programmzeilen (Lines of Code) geringer ist
- die Programmierzeit zu verkürzen und damit
- die Kosten zu reduzieren
Nicht alle 4GL sind resp. waren erfolgreich. Wenn aber eine Viertgenerationssprache für den Zweck eingesetzt wird, für den sie gebaut ist, gab und gibt es auch spektakuläre Erfolge.
Es gibt verschiedene Typen von Viertgenerationssprachen:
- 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 hundertausende von COBOL-Programmzeilen generiert. Ein neueres System sind die Werkzeuge von Oracle: Oracle Designer and Oracle Developer. Viertgenerationsprodukte erzeugen Datenbankschemata und die dazugehörenden Eingabeformulare und Berichte.
Einige erfolgreiche Viertgenerationssprachen:
- Datenbankabfrage
- SQL
- Oracle SQL*Plus
- Progress 4GL
- RPG-II
- S
- R
- IDL-PV/WAVE
- Gauss
- Mathematica
- Datenmanipulation, -analyse und Berichterstellung:
- Formularerstellung
- Oracle Forms
- Lotus Notes Makrosprache (@-Formula-Language)
- Werkzeuge zur Erstellung von grafischen Benutzeroberflächen GUI
- Lotus Notes Makrosprache (@-Formula-Language)
- Visual Basic
- MATLAB's GUIDE