SOFTWAREENTWICKLUNG Allgemeines Generationen 1. Generation: Maschinensprachen Befehle werden direkt in einer Maschinensprache notiert, d.h. als Folge von Zahlencodes. Da sich der Befehlssatz von verschiedenen Prozessoren unterscheidet, sind solche Programme nur schwer übertragbar. Die direkte Programmierung in einer Maschinensprache wird heute kaum noch verwendet. 2. Generation: Assembler Anstelle von Zahlencodes wird mit Hilfe von symbolischen Bezeichnern codiert. Eine Assembleranweisung wird in genau einen Maschinenbefehl umgesetzt. Auch Assemblerprogramme sind an einen bestimmten Prozessortyp gebunden. Der Anteil der Assemblerprogrammierung ist im Sinken. 3. Generation: höhere Sprachen Sprachen der 3. Generation ((high level language) unterstützen unmittelbar die Notation von Algorithmen, sie sind weitgehend anwendungsneutral und maschinenunabhängig. Programmiersprachen Objektorientierte Programmiersprachen passen nicht in das bisherige GenerationenModell. Sie werden daher in der Literatur oft als "OO-Generation" bezeichnet. Arten Prozedurale Programmiersprache In einer prozeduralen Programmiersprache wird Programmieren als Festlegung einer Folge von Befehlen aufgefasst, die in einer vorgegebenen Reihenfolge auszuführen sind. Prozedurale Programmierung stellt die historisch älteste Auffassung von Programmierung dar, die in neuerer Zeit durch andere Paradigmen, wie etwa funktionaler oder objektorientierter Programmierung abgelöst wird. ALGOL, BASIC, C, COBOL, FORTRAN, Pascal, PL/1 Funktional Programmiersprache In einer funktionalen Programmiersprache werden Berechnungen als Auswertung mathematischer Funktionen verstanden. Im Unterschied dazu werden in prozeduralen Programmiersprachen Berechnungen als Befehlssequenzen dargestellt, die nacheinander abgearbeitet werden. LISP, Logo, ML, Scheme, Haskell, Opal, Miranda Erste höhere Programmiersprachen entstanden ab Mitte der 50er Jahre (FORTRAN, COBOL, ALGOL-60). Weitere Sprachen sin z.B. PASCAL, MODULA-2, PL1, C, BASIC, SIMULA. 4. Generation Sprachen der 4. Generation (Fourth Generation Language, 4GL) sind anwendungsbezogene, applikative Sprachen. 4GL stellen wichtigsten Gestaltungsmittel von Sprachen der 3. Generation zur Verfügung. Damit sind anwendungsbezogenen Operationen, beispielsweise zum Zugriff auf Datenbanken und zur Gestaltung von Benutzeroberflächen (GUI) möglich: z.B. Berichtgeneratoren, Eingabeformulargeneratoren, SQL. Die Viertgenerationssprachen haben zum Ziel: gegenüber Dritt-Generationssprachen den Programmieraufwand zu verringern, die Programmierzeit zu verkürzen und damit die Kosten zu reduzieren. 5. Generation Sprachen der 5. Generation (Very High Level Language, VHLL) gestatten das Beschreiben von Sachverhalten und Problemen. Sie kommen vor allem im Bereich der KI (künstliche Intelligenz) zum Einsatz. Objektorientierte Programmiersprachen BHAK/BHAS Amstetten Objektorientierte Programmiersprachen OO-Sprachen arbeiten nicht mehr (wie bei der prozeduralen Programmierung) so, dass sequentiell einzelne Schritte eines Algorithmus durchlaufen werden, sondern die Programmlogik entfaltet sich in der Kommunikation und den internen Zustandsveränderungen der Objekte, aus denen das Programm aufgebaut ist. Vorteile der objektorientierten Programmierung liegen in der besseren Modularisierung des Codes, dadurch eine bessere Wartbarkeit und Wiederverwendbarkeit der Einzelmodule, sowie in einer höheren Flexibilität des Programms insgesamt. C++, Java, C#, Visual Basic .NET, Delphi, Python Scriptsprachen Skriptsprachen sind vor allem für kleine, überschaubare Programmieraufgaben gedacht. Skriptsprachen verzichten oft auf bestimmte Sprachelemente, wie z.B. auf den Deklarationszwang von Variablen. Programme, die in Skriptsprachen geschrieben sind, werden auch Skripte genannt. Skripte werden für gewöhnlich ohne getrennte Übersetzungsphase ausgeführt. VBScript, JScript, JavaScript, ActionScript, PHP Abfrage-/Datenbanksprachen Als Abfrageoder Datenbanksprache bezeichnet man Sprachen, die für den Einsatz Helmut Wurzer SOFTWAREENTWICKLUNG Allgemeines Programmiersprachen im Zusammenhang mit Datenbanksystemen entwickelt wurden. Die meisten Datenbanksprachen eignen sich lediglich zur Formulierung von Datenbankabfragen. SQL, XQuery BHAK/BHAS Amstetten Helmut Wurzer