Natural (Programmiersprache)

Natural – auch im deutschen Sprachraum meist englisch ausgesprochen – ist eine Familie von Softwareentwicklungsumgebungen der Software AG für die Erstellung von Anwendungsprogrammen. Natural unterstützt u. a. eine 4GL-Programmiersprache namens NPL (Natural Programming Language), die verwirrenderweise selbst oft Natural oder NATURAL genannt wird.

Geschichte

Die ersten Versionen der ersten Variante für Großrechner (engl.: mainframe) wurden ab 1975 von Peter Pagé unter Mitwirkung von Margit Neumann entwickelt. Natural ermöglichte von Anfang an auch auf Großrechnern eine dort zunächst nur selten mögliche interaktive Arbeitsweise (siehe Literatur).

System-Unterstützung

Ursprünglich wurde Natural für die Großrechner von IBM und Siemens entwickelt, steht aber mittlerweile auf sehr vielen Plattformen zur Verfügung. Dazu zählen u. a.

Mainframe-BetriebssystemeUnixLinuxWindows

Datenbank-Anbindung

In Natural kann sowohl mit teils hocheffizienten proprietären Zugriffsbefehlen als auch über Standard-SQL auf eine Vielzahl von Datenhaltungssystemen zugegriffen werden. Diese sind meist Datenbankverwaltungssysteme (DBVS, englisch DBMS). Die Zugriffe erfolgen dabei über native (d. h. spezifische) Treiber.

Natural unterstützt u. a. die folgenden Datenhaltungssysteme:

Programmiersprache NPL

Die Programmiersprache NPL ist Teil der umfassenden interaktiven Softwareentwicklungsumgebung Natural. Mit NPL wurde die erste Programmiersprache zur Erstellung kommerzieller Anwendungssysteme angeboten, für die der Begriff 4. Generation geprägt wurde. Wesentliches Merkmal der Sprachen der 4. Generation ist die Abstraktionsebene, in der das Problem formuliert wird. Verlangen Höhere Programmiersprachen der 3. Generation noch das Programmieren von prozeduralen technischen Einzelschritten, wird in Sprachen der 4. Generation die Anforderung eher problemnah formuliert und vom System in beliebigen Umgebungen unter Nutzung der technischen Möglichkeiten zur Ausführung gebracht. Weitere Merkmale sind: integrierte Gestaltung der Nutzeroberfläche, Listenerzeugung, Datenbankzugriff.

NPL-Code ist sehr gut lesbar. Kleine Applikationssysteme sind sehr schnell realisiert. Mit NPL wurden und werden aber auch sehr große Applikationssysteme aus zehntausenden von Programmbausteinen mit Millionen Codezeilen erfolgreich entwickelt. Natural-Anwendungen, besonders in Verbindung mit Adabas, sind als äußerst performant bekannt.

Beispiele:

* Hello World in Natural
WRITE 'Hello World!'
END
* Eine einfache Datenbank-Abfrage
DEFINE DATA
LOCAL
1    PERSONAL VIEW OF EMPLOYEES
 2   NAME
 2   CITY
END-DEFINE ;
FIND      ALL RECORDS
  IN FILE PERSONAL
  WITH    NAME = 'SCHMIDT' ;
  DISPLAY NAME CITY ;
END-FIND ;
END

Im Zuge der Modernisierung bestehender Natural-Anwendungen aus der Großrechnerzeit gibt es u. a. die Möglichkeit, diese in eine AJAX-Oberfläche mit Hilfe von Natural 4 Ajax zu integrieren.

Übersetzungs- und Laufzeit

NPL-Quellcode wird traditionell in Natural-Zwischencode kompiliert, der dann von der Natural-Laufzeitumgebung interpretiert wird. Dieses Vorgehen ähnelt dem der Java Virtual Machine. Jedoch ist in vielen Installationen der Optimizing Compiler im Einsatz, der zum großen Teil statt Zwischencode direkt Maschinenbefehle generiert. Dies kann die Effizienz der NPL-Programme erheblich steigern.

Literatur

  • Sylvia Scheu: Einführung in die effiziente NATURAL-Programmierung. Vieweg, 1995, ISBN 978-3-528-05291-1.
  • Michael Schlüter: Einführung in die Programmierung mit Natural (= Programmierung komplexer Systeme. Nr. 1). 2., überarbeitete Auflage. Lehmanns Media, Berlin 2013, ISBN 978-3-86541-526-4 (368 S.).
  • Michael Schlüter: Einführung in die Programmierung mit Natural & Adabas (E-Book) (= Programmierung komplexer Systeme. Nr. 4). 3., korrigierte und ergänzte Auflage. Lehmanns Media, Berlin 2019, ISBN 978-3-96543-059-4 (382 S.).
  • Michael Schlüter: Einführung in die Programmierung mit Natural & Adabas (= Programmierung komplexer Systeme. Nr. 4). 3., korrigierte und ergänzte Auflage. Lehmanns Media, Berlin 2019, ISBN 978-3-86541-994-1 (382 S.).
  • Michael Schlüter: Einführung in die Programmierung mit NATURAL (= Programmierung komplexer Systeme. Nr. 6). de Gruyter, Berlin / New York 1993, ISBN 3-11-013509-4.

Weblinks