Zum Inhalt springen

4GL

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 3. April 2009 um 14:56 Uhr durch MarketingGY (Diskussion | Beiträge) (URL eingefügt). Sie kann sich erheblich von der aktuellen Version unterscheiden.

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.

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
Formularerstellung
Werkzeuge zur Erstellung von grafischen Benutzeroberflächen