Klassifikation von Programmiersprachen Flashcards
- Generation
Name: Maschinencode
Eigenschaften:
-Binäre Befehle z.B. Daten aus dem Speicher in ein Prozessorregister holen (oder umgekehrt) oder einfache Arithmetik mit den Inhalten der Register
Vor- und Nachteile:
+sehr schnell arbeitende Programme
-schwer zu lernen und zu lesen
-stark abhängig vom Prozessor
- Generation
Name: Assemblercode
Eigenschaften:
- symbolische Befehle(Mnemonics) für die Binärcodes
- Bezeichner für Speicherstellen
- > erleichtert die Programmierung enorm
- mittels eines Assemblers werden symbolische Befehle in Maschinencode übersetzt
Vor- und Nachteile:
+sehr schnell arbeitende Programme
-viel Zeit zur Programmierung notwendig anstatt zur eigentlichen Problemlösung
-abhängig vom Prozessor
- Generation
Name: Höhere Programmiersprachen
Eigenschaften:
- höheres Abstraktionsniveau, näher am zu lösenden Problem
- Verwendung von Variablen, Komplexen Datentypen
- Blockweiser Aufbau mit klaren Kontrollstrukturen
- Prozeduren und Funktionen erlauben einfache Mehrfachverwendung von Code-Teilen
- verschiedene Paradigmen: prozedual/objektorientiert
Vor- und Nachteile: \+leicht erlernbar \+schnell \+geringe Abhängigkeit von der Hardware -teilweise Unterschiede zwischen Betriebssystemen, Rechnertypen, Übersetzern
- Generation
Eigenschaften:
- das “Was” ist wichtiger als das “Wie”
- nur für spezielle Einsatzgebiete
Vor- und Nachteile:
+problemnah
+keine Definition von Einzelschritten notwendig
-wenig flexibel
- Generation
Eigenschaften:
- keine Lösung des Problems wird angegeben, sondern Rand- und Zwangsbedingungen
- Einsatzgebiete: künstliche Intelligenz, Forschung
Vor- und Nachteile: \+allgemein \+maschinenunabhängig \+kurze Programme für komplexe Probleme -langsam
Imperativer Programmierparadigma
Das Programm besteht aus ganz klar formulierten, eindeutigen Anweisungen die beschreiben, wie das Programm seine Ergebnisse erzeugt
Beispiele: C, Pascal, Fortran
Deklarativer Programmierparadima
Programm besteht aus Bedingungen (dem Was), welche die Ausgabe des Programms vollständig erfüllen muss. Der Ablauf des dahinterstehenden Programms und weitere Details sind nicht von Bedeutung.
Beispiele: Prolog, Haskell, SQL
Objektorientierter Programmparadigma
Daten und die darauf arbeitenden Routinen werden zu Einheiten (“Objekten”) zusammengefasst. Ein Computerprogramm ist eine Menge miteinander interagierender Objekte.
Beispiele: Java, Python, C++