Programmiersprache der vierten Generation

A Programmiersprache der vierten Generation (4gl) ist jeder Computer Programmiersprache das gehört zu einer Klasse von Sprachen, die als Fortschritt auf Programmiersprachen der dritten Generation (3gl). Jedes von den Programmiersprache Generationen Ziel, ein höheres Maß an zu liefern Abstraktion des inneren Computerhardware Details, die Sprache mehr machen Programmierer-freundlich, kraftvoll und vielseitig. Während sich die Definition von 4GL im Laufe der Zeit geändert hat, kann sie durch mehr mit großen Informationssammlungen gleichzeitig typisiert werden, anstatt sich auf Just zu konzentrieren Bits und Bytes. Sprachen, die angeblich 4GL sind, kann die Unterstützung für die Unterstützung für Datenbank Management, Berichtsgenerierung, Mathematische Optimierung, GUI -Entwicklung, oder Web Entwicklung. Einige Forscher geben an, dass 4GLs eine Teilmenge von sind Domänenspezifische Sprachen.[1][2]

Das Konzept von 4GL wurde von den 1970er bis 1990er Jahren entwickelt und überlappte den größten Teil der Entwicklung von 3GL, wobei 4GLs als "nicht procedurale" oder "Programmgenerierende" Sprachen identifiziert wurden, im Gegensatz dazu, dass 3GLs algorithmische oder prozedurale Sprachen sind. Während 3gls mögen C, C ++, C#, Java, und JavaScript Bleiben Sie für eine Vielzahl von Verwendungszwecken beliebt.[3] Einige fortgeschrittene 3gls mögen Python, Rubin, und Perl Kombinieren Sie rund 4GL-Fähigkeiten in einer allgemeinen 3GL-Umgebung,[4] und Bibliotheken Mit 4GL-ähnlichen Funktionen wurden als Add-Ons für die meisten beliebten 3GLs entwickelt, wobei Sprachen produziert werden, die eine Mischung aus 3GL und 4GL sind und die Unterscheidung verwischen.[5]

In den 1980er und 1990er Jahren gab es Bemühungen, sich zu entwickeln Programmiersprachen der fünften Generation (5gl).

Geschichte

Obwohl früher in Papieren und Diskussion James Martin In seinem Buch von 1981 Anwendungsentwicklung ohne Programmierer[6] sich auf nicht procedurale, hochrangige Bezeichnung beziehen Spezifikationssprachen. Auf primitive Weise wurden frühe 4GLs in die enthalten Informatik Mark-IV (1967) Produkt und Sperry's Mapper (1969 Internal Use, 1979 Release).

Die Motivationen für die Inception und das anhaltende Interesse von '4GL' sind mehrere. Der Begriff kann für einen großen Satz von Softwareprodukten gelten. Es kann auch für einen Ansatz gelten, der nach größerer Ausstattung sucht semantisch Eigenschaften und Implementierungsleistung. So wie der 3GL dem Programmierer eine größere Leistung anbot, öffnete auch die 4GL die Entwicklungsumgebung für eine breitere Bevölkerung.

Das frühe Eingabeschema für den 4GL unterstützte Eintrag von Daten innerhalb der 72-Charakter-Grenze der Stempelkarte (8 Bytes, die für die Sequenzierung verwendet werden) wobei das Tag einer Karte den Typ oder die Funktion identifiziert. Mit vernünftiger Verwendung einiger Karten, die 4GL -Deck könnte eine Vielzahl von Verarbeitungs- und Berichtsfunktionen bieten, während die in a kodierte äquivalente Funktionalität kodiert 3gl Könnte vielleicht eine ganze Box oder mehr von Subsumum subsumieren Karten.[7]

Das 72-Charakter-Format fuhr eine Weile fort Als Hardware zu größeren Speicher- und Terminalschnittstellen führte. Trotz seiner Einschränkungen unterstützte dieser Ansatz hoch entwickelte Anwendungen.

Da sich die Grenzflächen verbesserten und längere Aussagenlängen und grammatikorientierte Eingangsbehandlung ermöglichten, kam es zu größerer Leistung. Ein Beispiel hierfür ist auf dem beschrieben Nomade Seite.

Ein weiteres Beispiel für Nomads Macht ist von Nicholas Rawlings in seinen Kommentaren für das Computer History Museum über NCSS (siehe Zitat unten). Er berichtet das James Martin fragte Rawlings um eine Nomad -Lösung für ein Standardproblem, das Martin das nannte Problem des Ingenieurs: "Geben Sie Ingenieuren 6% Erhöhungen, deren Arbeitsbewertungen durchschnittlich 7 oder besser hatten." Martin stellte eine "Dutzend Seiten Cobol" und dann nur ein oder zwei Seiten von Markus IV, aus Informatik. "Rawlings bot die folgende einzelne Anweisung an und führte einen Set-at-a-Time-Betrieb aus ...

Die Entwicklung des 4GL wurde von mehreren Faktoren beeinflusst, wobei die Hardware- und Betriebssystembeschränkungen ein großes Gewicht hatten. Als die 4GL zum ersten Mal eingeführt wurde, schrieb eine unterschiedliche Mischung aus Hardware- und Betriebssystemen eine für das System spezifische Unterstützung für die Entwicklung von benutzerdefinierten Anwendungen vor, um den Umsatz zu gewährleisten. Ein Beispiel ist das Mapper System entwickelt von Sperry. Obwohl es Wurzeln bis zum Anfang hat, hat sich das System in vielen Anwendungen als erfolgreich erwiesen und auf moderne Plattformen portiert. Die neueste Variante ist in die BIS eingebettet[8] Angebot von Unisys. Mark-IV ist jetzt als Vision bekannt: Builder und wird von angeboten Computer Associates.

Santa Fe Eisenbahn verwendet Mapper Um ein System zu entwickeln, in einem Projekt, das ein frühes Beispiel von 4GL war, war Rapid-Prototyping, und Programmierung durch Benutzer.[9] Die Idee war, dass es einfacher war, Eisenbahn -Experten zur Verwendung beizubringen Mapper als Programmierer die "Feinheiten der Eisenbahnoperationen" beizubringen.[10]

Eine der frühen (und tragbaren) Sprachen mit 4GL -Eigenschaften war Ramis entwickelt von Gerald C. Cohen bei Mathematica, ein mathematisches Softwareunternehmen. Cohen verließ Mathematica und gründete Informationsbauer, um eine ähnliche meldungsorientierte 4GL zu erstellen, die genannt wurde FOKUS.

Spätere 4GL -Typen sind an ein Datenbanksystem gebunden und unterscheiden sich weit von den früheren Typen bei der Verwendung von Techniken und Ressourcen, die sich aus der allgemeinen Verbesserung des Computers mit der Zeit ergeben haben.

Eine interessante Wendung in der 4GL -Szene ist die Erkenntnis, dass grafische Schnittstellen und die Verwandte Argumentation Durch den Benutzer bildet eine "Sprache", die schlecht verstanden wird.

Typen

Es gibt eine Reihe verschiedener Arten von 4GLs:

  • Tabellengesteuerte (codeless) Programmierung, in der Regel mit einem Laufzeit-Framework und Bibliotheken. Anstatt Code zu verwenden, definiert der Entwickler seine Logik, indem er einen Vorgang in einer vordefinierten Liste der Befehle für Speicher- oder Datentabellen ausgewählt hat. Mit anderen Worten, anstatt zu codieren, verwendet der Entwickler eine tabelgesteuerte Algorithmusprogrammierung (siehe auch Steuertabellen das kann zu diesem Zweck verwendet werden). Ein gutes Beispiel für diese Art von 4GL -Sprache ist Powerbuilder. Diese Arten von Tools können für die Entwicklung von Unternehmensanwendungen verwendet werden, die normalerweise aus einem Paket bestehen, das sowohl Manipulation als auch Berichterstattung für Geschäftsdaten ermöglicht. Daher werden sie mit GUI -Bildschirmen und Reporteditoren geliefert. Sie bieten normalerweise eine Integration mit DLLs mit niedrigerer Ebene, die aus einem typischen 3GL erzeugt werden, wenn der Bedarf für mehr Hardware-/Betriebssystem -spezifische Vorgänge erfolgt.
  • Programmiersprachen für Berichtsgenerator Nehmen Sie eine Beschreibung des Datenformates und des Berichts, um zu generieren, und erstellen entweder den erforderlichen Bericht direkt oder erstellen ein Programm, um den Bericht zu generieren. Siehe auch Rollenspiel
  • In ähnlicher Weise verwalten Formularegeneratoren Online -Interaktionen mit den Anwendungssystemnutzern oder generieren dafür Programme.
  • Ehrgeizigere 4GLs (manchmal bezeichnet Umgebungen der vierten Generation) Versuchen Sie, automatisch ganze Systeme aus den Ausgängen von zu generieren FALL Tools, Spezifikationen von Bildschirmen und Berichten sowie möglicherweise auch die Spezifikation einer zusätzlichen Verarbeitungslogik.
  • Datenmanagement 4gls wie SAS, SPSS, und Stata Bereitstellung anspruchsvoller Codierung Befehle Für Datenmanipulation, Dateiumformung, Fallauswahl und Datendokumentation bei der Erstellung von Daten für statistische Analyse und Berichterstattung.
  • Sogenannte "Xxtalk" -sprachen, die 1987 zunächst mit Apples Hypercard entwickelt wurden. Hypercard war der Vorläufer modernerer und leistungsfähigerer Programme wie Supercard, Toolbook und LiveCode.

Einige 4GLs haben integrierte Tools, die die einfache Spezifikation aller erforderlichen Informationen ermöglichen:

Niedrige Codeumgebungen

Im 21. Jahrhundert haben sich 4GL-Systeme als als Umgebungen oder Plattformen mit "niedriger Code" für das Problem der schnellen Anwendungsentwicklung in kurzen Zeiträumen. Anbieter bieten häufig Beispielsysteme wie CRM, Vertragsmanagement und Fehlerverfolgung, aus denen sich die Entwicklung mit wenig Programmierung ergeben kann.[11]

Beispiele

Allgemeiner Gebrauch / vielseitig

Datenbank Abfragesprachen

Berichtsgeneratoren

Extrahieren Sie Daten aus Dateien oder Datenbank, um Berichte in einer Vielzahl von Formaten zu erstellen.

Datenmanipulation, Analyse und Berichterstattungsprachen

Software Schöpfer

Mathematische Optimierung

Datenbankgetriebene GUI-Anwendungsentwicklung

Niedrige Code / keine Codeentwicklungsplattformen[12][13]

Bildschirmmaler und Generatoren

Webentwicklungssprachen

Siehe auch

Verweise

  1. ^ 35. Hawaii International Conference on System Sciences - 1002 Domänenspezifische Sprachen für Software-Engineering Archiviert 16. Mai 2011 bei der Wayback -Maschine
  2. ^ Arie van Deursen; Paul Klint; Joost Visser (1998). "Domänenspezifische Zeugensprachen: eine kommentierte Bibliographie". Archiviert von das Original am 2009-02-02. Abgerufen 2009-03-15.
  3. ^ Macdonell, Stephen (November 1993). "Softwareentwicklung, Fallwerkzeuge und 4GLs - eine Umfrage zur Neuseeland -Nutzung. Teil 1: 750 neuseeländische Organisationen". HDL:10523/928. {{}}: Journal zitieren erfordert |journal= (Hilfe)
  4. ^ "Roger Clarkes Software -Generationen".
  5. ^ "Definition der Sprache der vierten Generation". PCmag. Abgerufen 7. Mai 2020.
  6. ^ Martin, James. Anwendungsentwicklung ohne Programmierer. Prentice-Hall, 1981. ISBN0-13-038943-9.
  7. ^ "IBM Punch Cards". www.columbia.edu. Archiviert von das Original Am 2019-02-16. Abgerufen 2019-02-03.
  8. ^ "Data Mining -Software, Datenanalyse und mehr: UNISYS Business Information Server -Funktionen". Unisys. 2006-08-21. Archiviert von das Original am 2006-08-21. Abgerufen 2019-02-03.
  9. ^ Louis Schlueter (1988). Vom Benutzer gestaltete Computing: Die nächste Generation. [Buch über Bericht Generator und Mapper Systems]
  10. ^ Barbara Canning McNurlin; Ralph H. Sprague (2004). "Ch. 9". Informationssystemmanagement in der Praxis (PDF). Pearson/Prentice Hall. ISBN 978-0-13-101139-7.[Permanent Dead Link]
  11. ^ Forrest, Conner. "Wie Salesforce mit niedriger Code Orchestrierung verwendet wird, um 'schwenkte IoT-Projekte' zu sparen ''". ZDNET.
  12. ^ Marvin, Rob (10. August 2018). "Die besten Plattformen mit niedriger Codeentwicklung für 2019". PCmag.
  13. ^ Sayer, Martin Heller und Peter (6. April 2018). "25 einfache Tools zum schnellen Erstellen mobiler Apps". InfoWorld. Archiviert von das Original am 18. November 2017. Abgerufen 17. November 2017.
  14. ^ "Dronahq. Erstellen Sie Apps ohne Codierung". www.dronahq.com. Archiviert von das Original Am 2019-08-09. Abgerufen 2019-09-11.
  15. ^ "K2 - Digital Process Automation". www.k2.com. Archiviert von das Original Am 2017-11-21. Abgerufen 2017-11-20.
  16. ^ "Kony. Digitaler Erfolg beschleunigen". Kony. Archiviert von das Original Am 2017-11-24. Abgerufen 2017-11-20.
  17. ^ "WEM -Modellierer. Erstellen Sie moderne Anwendungen mit unglaublicher Geschwindigkeit". wem.io. Archiviert von das Original am 2021-09-07. Abgerufen 2021-09-07.