Programmiersprache Generationen
Programmiersprachen wurden in mehrere eingeteilt Programmiersprache Generationen. In der Vergangenheit wurde diese Klassifizierung verwendet, um eine zunehmende Leistung von Programmierstilen anzuzeigen. Spätere Autoren haben die Bedeutungen, die zuvor als wichtig angesehen angesehen wurden, für die aktuelle Praxis etwas signifikant neu definiert.
Generationen
Erste Generation (1GL)
Beispiele: Maschinenebene Programmiersprachen
Eine Programmiersprache der ersten Generation (1GL) ist a Maschinenebene Programmiersprache.[1]
Eine Sprache der ersten Generation (Programmierung) (1GL) ist eine Gruppierung von Programmiersprachen, die zum Programmiersprachen verwendet werden Computer der ersten Generation. Ursprünglich nein Übersetzer wurde gewohnt kompilieren oder montieren Die Sprache der ersten Generation. Die Programmieranweisungen der ersten Generation wurden durch die eingegeben Frontblende Schalter des Computersystems.
Die Anweisungen in 1GL bestehen aus Binärzahlen, dargestellt durch 1s und 0s. Dies macht die für das Verständnis der Maschine geeignete Sprache, aber vom menschlichen Programmierer weitaus schwieriger zu interpretieren und zu lernen.
Zweite Generation (2gl)
Beispiele: Assemblersprachen
Programmiersprache der zweiten Generation (2GL) ist ein Generations Weg, um zu kategorisieren Assemblersprachen.[1][2][3]
Dritte Generation (3gl)
Beispiele: C, C ++, Java, Python, Php, Perl, C#, BASIC, Pascal, Forran, Algol, Cobol
3GLs sind viel maschinenunabhängiger (tragbar) und Programmiererfreundlicher. Dies umfasst Funktionen wie eine verbesserte Unterstützung für aggregierte Datentypen und das Ausdrücken von Konzepten auf eine Weise, die den Programmierer und nicht den Computer begünstigt. Eine Sprache der dritten Generation verbessert sich über eine Sprache der zweiten Generation, indem der Computer nicht wesentliche Details kümmert. 3GLs sind abstrakter als frühere Generationen von Sprachen und können daher als ihre Gegenstücke der ersten und zweiten Generation als höhere Sprachen angesehen werden. Zum ersten Mal in den späten 1950er Jahren eingeführt, Forran, Algol, und Cobol sind Beispiele für frühe 3gls.
Die beliebtesten allgemeinen Sprachen heute, wie z. C, C ++, C#, Java, BASIC und Pascal, sind auch Sprachen der dritten Generation, obwohl jede dieser Sprachen basierend auf anderen zeitgenössischen Merkmalen in andere Kategorien unterteilt werden kann. Die meisten 3GLS -Unterstützung Strukturierte Programmierung. Viele Unterstützung Objekt orientierte Programmierung. Merkmale wie diese werden häufiger verwendet, um eine Sprache zu beschreiben, anstatt nur ein 3GL zu sein.
Vierte Generation (4GL)
Beispiele: Abap, Unix Shell, Sql, PL/sql, Oracle berichtet, R
Sprachen der vierten Generation sind in der Regel auf sehr spezifische Spezialitäten spezialisiert Programmierdomänen.[4][5] 4GLs können Unterstützung für die Unterstützung für Datenbank Management, Berichterstellung, Mathematische Optimierung, GUI -Entwicklung, oder Web Entwicklung.
Fünfte Generation (5gl)
Beispiele: Prolog, Ops5, Quecksilber
Eine Programmiersprache der fünften Generation (5GL) ist jeder Programmiersprache basierend auf Problemlösung unter Verwendung von Einschränkungen, die dem Programm angegeben sind, anstatt eine zu verwenden Algorithmus Geschrieben von einem Programmierer.[6] Die meisten Einschränkung basiert und Logikprogrammierung Sprachen und einige andere deklarative Sprachen sind Sprachen der fünften Generation. Es verwendet künstliche Intelligenz oder (KI) -Technologie, um Probleme selbst zu lösen.
Während Programmiersprachen der vierten Generation Für die Erstellung bestimmter Programme sind Sprachen der fünften Generation entwickelt, um den Computer ein bestimmtes Problem ohne den Programmierer zu lösen. Auf diese Weise muss sich der Benutzer nur darum kümmern, welche Probleme gelöst werden müssen und welche Bedingungen erfüllt werden müssen, ohne sich Gedanken darüber zu machen, wie eine Routine oder ein Algorithmus implementiert werden soll, um sie zu lösen. Sprachen der fünften Generation werden hauptsächlich in verwendet Künstliche Intelligenz oder KI -Forschung. Ops5 und Quecksilber sind Beispiele für Sprachen der fünften Generation,[7] wie es ist ICAD, was aufgebaut wurde Lispeln. Kl-eins ist ein Beispiel für eine verwandte Idee, a Rahmensprache.
Sechste Generation (6gl)
Beispiele: Bubble.io
Eine Programmiersprache der sechsten Generation (6GL) ist jede Programmiersprache, die auf der visuellen Entwicklung basiert. Der Gesamtdarm für diese ist "Nocode" oder "visuelle Entwicklung". Sehen hier Weitere Details zu Nocode -Entwicklungsplattformen
Geschichte
Die Begriffe "Programmiersprache der ersten Generation" und "zweite Generation" wurden nicht vor der Maße des Begriffs "dritte Generation" verwendet. Keiner dieser drei Begriffe wird in frühen Kompendien der Programmiersprachen erwähnt. Die Einführung einer dritten Generation von Computertechnologie fiel mit der Schaffung einer neuen Generation von Programmiersprachen zusammen. Das Marketing für diese Generationsverschiebung in Maschinen korrelierte mit mehreren wichtigen Änderungen in den genannten sogenannten hochrangige Programmiersprachenunten diskutiert und technische Inhalte für die Unterscheidung der zweiten/dritten Generation zwischen hochrangigen Programmiersprachen, während sie rückwirkend umbenannt werden Maschinensprache Sprachen als erste Generation, und Assemblersprachen wie zweite Generation.
Zunächst wurden alle Programmiersprachen auf einer höheren Ebene als die Versammlung bezeichnet. "dritte Generation", aber später der Begriff"vierte Generation"wurde eingeführt, um zu versuchen, das (damals) neue zu differenzieren deklarative Sprachen (wie zum Beispiel Prolog und domänenspezifische Sprachen), die behaupteten, auf einer noch höheren Ebene zu arbeiten, und in einer Domäne noch näher am Benutzer (z. B. auf natürlicher Sprache) als die ursprünglichen, imperativen Sprachen auf hoher Ebene wie z. B. Pascal, C, Algol, Forran, BASIC, etc.
Die Klassifizierung von Sprachen auf hoher Ebene (dritte Generation und später) war nie vollständig genau und wurde später vielleicht aufgegeben, wobei präzisere Klassifikationen gemeinsame Verwendung erlangten, wie z. objektorientierter, deklarativ und funktional. C hatte zur Folge C ++ und später zu Java und C#; Lispeln zu Schloss; ADA an ADA 2012; und sogar COBOL bis COBOL 2002. Auch in dieser "Generation" sind neue Sprachen entstanden.
Siehe auch
Verweise
- ^ a b "Computer Hoffnung, Generationsprachen".
- ^ Brookshear, J. Glenn. Informatik: Ein Überblick (11. Aufl.). Addison-Wesley. S. 240–241. ISBN 0-13-256903-5.
- ^ Vass, Péter. "Programmiersprache Generationen und Programmierparadigmen" (PDF). Archiviert von das Original (PDF) am 2020-01-29.
- ^ 35. Hawaii International Conference on System Sciences - 1002 Domänenspezifische Sprachen für Software-Engineering. Archiviert 16. Mai 2011 bei der Wayback -Maschine.
- ^ Arie van Deursen; Paul Klint; Joost Visser (1998). "Domänenspezifische Sprachen: eine kommentierte Bibliographie". Archiviert von das Original am 2009-02-02. Abgerufen 2009-03-15.
- ^ Dong, Jielin, hrsg. (2007). Netzwerkwörterbuch. Saratoga, Kalifornien: Javvin Technologies, Inc. p. 195. ISBN 9781602670006.
- ^ E. Balagurusamy, Grundlagen von Computern, McGraw Hill Education (Indien), 2009, ISBN978-0070141605, p. 340.