Programmiersprache der vierten Generation

Eine Programmiersprache der vierten Generation (die 1970er Jahre 1990) (abgekürzt 4GL) ist eine Programmiersprache oder Programmierumgebung, die mit einem spezifischen Zweck im Sinn wie die Entwicklung der kommerziellen Geschäftssoftware entworfen ist. In der Geschichte der Informatik, 4GL ist 3GL in einem Aufwärtstrend zur höheren Abstraktion und Behauptungsmacht gefolgt. 4GL wurde von Anstrengungen gefolgt, zu definieren und 5GL zu verwenden.

Die natürliche Sprache, die Block-strukturierte Weise der der dritten Generation Programmiersprachen hat den Prozess der Softwareentwicklung verbessert. Jedoch 3GL können Entwicklungsmethoden langsam und fehlbar sein. Es ist klar geworden, dass einige Anwendungen schneller durch das Hinzufügen einer Programmiersprache des höheren Niveaus und Methodik entwickelt werden konnten, die die Entsprechung von sehr kompliziertem 3GL Instruktionen mit weniger Fehlern erzeugen würde. In einigen Sinnen ist Softwaretechnik entstanden, um 3GL Entwicklung zu behandeln. 4GL und 5GL werden Projekte am Problem-Lösen und der Systemtechnik mehr orientiert.

Alle 4GLs werden entworfen, um Programmieraufwand, die Zeit zu reduzieren, die man braucht, um Software und die Kosten der Softwareentwicklung zu entwickeln. Sie sind in dieser Aufgabe nicht immer erfolgreich, manchmal auf uneleganten und unhaltbaren Code hinauslaufend. Jedoch, in Anbetracht des richtigen Problems, kann der Gebrauch eines passenden 4GL eindrucksvoll erfolgreich sein, wie mit dem ZEICHEN-IV und MAPPER gesehen wurde (sieh Geschichtsabteilung, Santa Fe das Echtzeitverfolgen ihrer Güterwägen - wie man schätzte, waren die Produktivitätsgewinne 8mal über das COBOL). Die Brauchbarkeitsverbesserungen, die von einigen 4GLs (und ihre Umgebung) erhalten sind, haben bessere Erforschung für heuristische Lösungen erlaubt, als 3GL getan hat.

Eine quantitative Definition 4GL ist durch Kapern Jones als ein Teil seiner Arbeit an der Funktionspunkt-Analyse gesetzt worden. Jones definiert die verschiedenen Generationen von Programmiersprachen in Bezug auf die Entwickler-Produktivität, die in Funktionspunkten pro personalmonatigen gemessen ist. 4GL wird als eine Sprache definiert, die 12-20 Funktionspunkte pro Personalmonat unterstützt. Das entspricht ungefähr 16-27 Linien des Codes pro Funktionspunkt, der in 4GL durchgeführt ist.

Sprachen der vierten Generation sind häufig im Vergleich zu bereichsspezifischen Programmiersprachen (DSLs) gewesen. Einige Forscher stellen fest, dass 4GLs eine Teilmenge von DSLs sind.

Geschichte

Obwohl verwendet, früher in Zeitungen und Diskussionen wurde der Begriff 4GL zuerst formell von James Martin gebraucht seinen 1982 bestellen Anwendungsentwicklung Ohne Programmierer vor, um sich auf nichtverfahrensrechtliche, Spezifizierungssprachen auf höchster Ebene zu beziehen. Auf eine primitive Weise, früh 4GL's wurden ins Informatik-ZEICHEN-IV (1967) Produkt und der MAPPER von Sperry (1969 innerer Gebrauch, 1979 Ausgabe) eingeschlossen.

Die Motivationen für '4GL' hat Beginn und weitergegangen Interesse sind mehrere. Der Begriff kann für einen großen Satz von Softwareprodukten gelten. Es kann auch für eine Annäherung gelten, die nach größeren semantischen Eigenschaften und Durchführungsmacht sucht. Ebenso 3GL hat größere Macht dem Programmierer angeboten, so auch hat 4GL getan öffnen die Entwicklungsumgebung zu einer breiteren Bevölkerung.

Gewissermaßen, 4GL ist ein Beispiel des 'schwarzen Kastens' Verarbeitung, jede Generation (im Sinne der Seite) ist weiter von der Maschine (sieh die Informatik-Geschichte hinsichtlich Datenstruktur-Verbesserungen und Informationsverheimlichung). Es ist diese letzte Natur, die mit 4GL direkt vereinigt wird Fehler zu haben, die in vielen Fällen härter sind, die Fehler zu beseitigen. In Bezug auf Anwendungen, 4GL konnte orientiertes Geschäft sein, oder es konnte sich mit einem technischen Gebiet befassen. Weiter von der Maschine zu sein, bedeutet, am Gebiet näher zu sein. In Anbetracht der breiten Verschiedenheit von Konzepten und Methoden über Gebiete 4GL führen Beschränkungen zu Anerkennung des Bedürfnisses nach 5GL.

Das frühe Eingangsschema für 4GL hat Zugang von Daten innerhalb der Grenze-Buchstaben 72 der geschlagenen Karte unterstützt (8 Bytes, die für sequencing verwendet sind), wo ein Anhängsel einer Karte den Typ oder die Funktion identifizieren würde. Mit dem vernünftigen Gebrauch von einigen Karten 4GL konnte Deck ein großes Angebot an der Verarbeitung und dem Melden der Fähigkeit anbieten, wohingegen die gleichwertige Funktionalität, die in 3GL codiert ist, vielleicht, einen ganzen Kasten oder mehr von Karten unterordnen konnte.

Die Metapher-Buchstaben 72 hat eine Zeit lang weitergegangen, als Hardware zum größeren Gedächtnis und den Endschnittstellen fortgeschritten ist. Sogar mit seinen Beschränkungen hat diese Annäherung hoch hoch entwickelte Anwendungen unterstützt.

Da Schnittstellen verbessert haben und längere Behauptungslängen und das Grammatik-gesteuerte Eingangsberühren erlaubt haben, hat größere Macht gefolgt. Ein Beispiel davon wird auf der nomadischen Seite beschrieben.

:: Ein anderes Beispiel der Macht des Nomaden wird von Nicholas Rawlings in seinen Anmerkungen für das Computergeschichtsmuseum über NCSS illustriert (sieh Zitat unten). Er berichtet, dass James Martin Rawlings um eine nomadische Lösung eines Standardproblems gebeten hat, das Martin das Problem des Ingenieurs genannt hat: "Geben Sie 6 % erhebt Ingenieuren, deren Job-Einschaltquoten einen Durchschnitt 7 oder besser hatten." Martin hat ein "Dutzend Seiten des COBOL, und dann gerade eine Seite oder zwei von IV Zeichen von der Informatik zur Verfügung gestellt." Rawlings hat die folgende einzelne Behauptung angeboten, einen Satz auf einmal Operation durchführend...

Die Entwicklung 4GL war unter Einfluss mehrerer Faktoren, mit der Hardware und den Betriebssystemeinschränkungen, die ein großes Gewicht haben. Als 4GL zuerst eingeführt wurde, hat eine ungleiche Mischung der Hardware und Betriebssysteme kundenspezifische Anwendungsentwicklungsunterstützung beauftragt, die zum System spezifisch war, um Verkäufe zu sichern. Ein Beispiel ist das MAPPER von Sperry entwickelte System. Obwohl es Wurzeln zurück zum Anfang hat, hat sich das System erfolgreich in vielen Anwendungen erwiesen und ist zu modernen Plattformen getragen worden. Die letzte Variante wird im BIS-Angebot von Unisys eingebettet. ZEICHEN-IV ist jetzt als VISION:BUILDER bekannt und wird von Computer Associates angeboten.

Gleise von Santa Fe hat MAPPER verwendet, um ein System in einem Projekt zu entwickeln, das ein frühes Beispiel 4GL, schneller prototyping und Programmierung durch Benutzer war. Die Idee bestand darin, dass es leichter war, Gleise-Experten zu lehren, MAPPER zu verwenden, als, Programmierer die "Kompliziertheit von Gleise-Operationen" zu unterrichten.

Einer der frühen (und tragbar) Sprachen, die 4GL Eigenschaften hatten, war Ramis, der von Gerald C. Cohen an Mathematica, einer mathematischen Softwaregesellschaft entwickelt ist. Cohen hat Mathematica verlassen und hat Informationsbaumeister gegründet, einen ähnlichen Bericht-orientiert 4GL, genannt Fokus zu schaffen.

Spätere Typen 4GL werden an ein Datenbanksystem gebunden und sind weit von den früheren Typen in ihrem Gebrauch von Techniken und Mitteln verschieden, die sich aus der allgemeinen Verbesserung der Computerwissenschaft mit der Zeit ergeben haben.

Eine interessante Drehung zu 4GL ist Szene Verwirklichung, dass grafische Schnittstellen und das zusammenhängende vom Benutzer getane Denken eine 'Sprache' bilden, die schlecht verstanden wird.

Typen

Mehrere verschiedene Typen 4GLs bestehen:

  • Tabellengesteuert (codeless) Programmierung, gewöhnlich mit einem Laufzeitfachwerk und Bibliotheken laufend. Anstatt Code zu verwenden, definiert der Entwickler seine Logik, indem er eine Operation in einer vorherbestimmten Liste des Gedächtnisses oder der Datentabellenmanipulationsbefehle auswählt. Mit anderen Worten, statt des Codierens, verwendet der Entwickler tabellengesteuerte Algorithmus-Programmierung (Siehe auch Steuertabellen, die für diesen Zweck verwendet werden können). Ein gutes Beispiel dieses Typs 4GL Sprache ist PowerBuilder. Diese Typen von Werkzeugen können für die Entwicklung der kommerziellen Anwendung verwendet werden, die gewöhnlich in einem Paket besteht, sowohl Geschäftsdatenmanipulation als auch Bericht berücksichtigend, deshalb kommen sie mit Schirmen GUI und zeigen Redakteure an. Sie bieten gewöhnlich Integration mit der niedrigeren Ebene DLLs an, der von einem typischen 3GL dafür erzeugt ist, wenn das Bedürfnis für mehr hardware/OS spezifische Operationen entsteht.
  • Reportprozessor-Programmiersprachen nehmen eine Beschreibung des Datenformats und den Bericht zu erzeugen und davon sie entweder erzeugen den erforderlichen Bericht direkt, oder sie erzeugen ein Programm, um den Bericht zu erzeugen. Siehe auch RPG
  • Ähnlich führen Form-Generatoren Online-Wechselwirkungen mit den Anwendungssystembenutzern oder erzeugen Programme, um so zu tun.
  • Ehrgeiziger 4GLs (hat manchmal die vierten Generationsumgebungen genannt), versuchen, ganze Systeme von den Produktionen von FALL-Werkzeugen, Spezifizierungen von Schirmen und Berichten, und vielleicht auch der Spezifizierung von etwas zusätzlicher in einer Prozession gehender Logik automatisch zu erzeugen.
  • Datenverwaltung 4GLs wie SAS, SPSS und Stata stellt hoch entwickelte Codierbefehle für Datenmanipulation, das Dateiumgestalten, die Fall-Auswahl und die Datendokumentation in der Vorbereitung von Daten für die statistische Analyse und den Bericht zur Verfügung.

Einige 4GLs haben Werkzeuge integriert, die die leichte Spezifizierung der ganzen erforderlichen Information berücksichtigen:

  • Die Version von James Martin der Informationstechniksystementwicklungsmethodik wurde automatisiert, um den Eingang der Ergebnisse der Systemanalyse und des Designs in der Form von Datenflussschemen, Entitätsbeziehungsdiagrammen, Entitätslebensgeschichtsdiagrammen usw. zu erlauben, aus denen Hunderttausende von Linien des COBOL über Nacht erzeugt würden.
  • Das Orakel-Entwerfer- und Orakel-Entwickler-Gefolge von mehr kürzlich Oracle Corporation 4GL Produkte konnte integriert werden, um Datenbankdefinitionen und die Formen und Berichtsprogramme zu erzeugen.

Einige Sprachen der vierten Generation

Allgemeiner Gebrauch / vielseitiger

  • Trompetenschall
  • Klipper
  • Cognos PowerHouse 4GL
  • DataFlex
  • Forté WERKZEUG (transactional objektorientierte Sprache)
  • Fokus von Information Builders Inc.
  • FoxPro
  • GeneXus (wissensbasiertes Mehrplattform-Entwicklungswerkzeug)
  • IBM Rational EGL (Unternehmensgenerationssprache)
  • Omnis Studio SDK
  • Panther
  • PowerBuilder
  • SheerPower4GL (Windows von Microsoft nur)
  • SQLWindows/Team Entwickler
  • Einseitige Prägung
  • Visueller DataFlex (Windows von Microsoft nur)
  • WinDev
  • XBase ++

Datenbankanfragensprachen

  • FOKUS
  • Informix-4GL
  • NATÜRLICHER
  • Fortschritt 4GL
  • Ingres 4GL
  • Ramis
  • SQL

Reportprozessoren

  • BuildProfessional
  • LINC
NATÜRLICHER
  • Orakel meldet
  • Fortschritt 4GL Abfrage/Ergebnisse
  • Suche
  • RPG-II

Datenmanipulation, Analyse und das Melden von Sprachen

  • Ab initio
  • ABAP
  • Aubit-4GL
  • Bilanzbefehl-Sprache
  • Laute Programmiersprache
  • CorVision
  • Schuldiger
  • ANZEIGEN / Online (plus die Transaktionsverarbeitung)
  • Easytrieve
FOKUS
  • GraphTalk
  • IDL
  • IGOR Pro
Informix-4GLNATÜRLICHER
  • Nomade
  • PL/SQL
Fortschritt 4GL
  • PROIV
  • R
  • Ramis
  • S
  • Scilab
  • SAS
  • SPSS
  • Stata
  • Synon
XBase ++
  • SQR
  • Xquery, der mit SQL rückwärts kompatibel ist und vorwärts mit XML Datenquellen vereinbar ist.

GUI Schöpfer

  • 4. Dimension (Software)
  • DER FÜHRER VON MATLAB
  • Omnis Studio
  • OpenROAD
  • Fortschritt 4GL AppBuilder
  • Revolution
  • XUL Kann mit Xquery verwendet werden, um Web GUI Datenbankanwendungen schnell zu schaffen.

Mathematische Optimierung

  • AIMMS
  • AMPL
  • GAMS

Datenbankgesteuerte GUI Anwendungsentwicklung

  • Handlungsbitte-System
  • Genexus
  • SB +/SystemBuilder
  • Fortschritt-Dynamik
  • EINSEITIGE PRÄGUNG

Schirm-Maler und Generatoren

SB +/SystemBuilder
  • Orakel bildet
  • Fortschritt 4GL ProVision

Webentwicklungssprachen

  • ColdFusion
  • Wavemaker offene Quelle, Browser-basierte Entwicklungsplattform für die Entwicklung von Ajax, die auf Dojo, Frühling gestützt ist, Überwintern
  • OutSystems

Siehe auch

  • Bereichsspezifische Programmiersprache
  • Schnelle Anwendungsentwicklung

Links


Fabio Taglioni / Frank Capra
Impressum & Datenschutz