Programmierparadigmen im Vergleich: Imperativ, Logisch, Funktional & OO
Eingeordnet in Informatik
Geschrieben am in
Deutsch mit einer Größe von 18,15 KB
Grundlagen der Programmierparadigmen
Identifizieren Sie die Säulen (Hauptmerkmale) der Paradigmen: imperativ, logisch, funktional und objektorientiert.
Imperative Programmierung
- Zustandsmanagement: Verwaltung von Variablen und deren Werten.
- Programmstruktur: Ein Programm ist eine Folge von Zuweisungen.
- Berechnungsmodell: Eine Berechnung ist eine Folge von Zustandsänderungen.
- Grundtypen von Anweisungen: Zuweisungen, Schleifen, bedingte Verzweigungen und unbedingte Sprünge.
Logische Programmierung
Basiert auf einer Menge von Werten, der Definition von Beziehungen und logischen Schlüssen.
- Programm: Eine Definition von Beziehungen.
- Berechnung: Ein Test (Folge von logischen Schlussfolgerungen).
- Komponenten: Fakten, Regeln, Variablen und Abfragen.
Funktionale Programmierung
- Grundlagen: Menge von Werten, Funktionen und Operationen durch Funktionsanwendung und -komposition.
- Higher-Order Functions: Funktionen können andere Funktionen als Argumente entgegennehmen und als Ergebnisse zurückgeben.
- Programmstruktur: Eine Sammlung von Funktionsdefinitionen.
- Berechnungsmodell: Auswertung eines Ausdrucks mittels normaler Reduktionsordnung, Lazy Evaluation, statischer Typinferenz und Polymorphismus.
Objektorientierte Programmierung (OOP)
Die zentralen Konzepte sind: Identifizierung, Klassifizierung, Vererbung, Kapselung und Polymorphie.
Wichtige Konzepte der Softwareentwicklung
Starke Typisierung
- Fehlererkennung zur Laufzeit.
- Der Programmierer ist nicht verpflichtet, den Typ von Ausdrücken explizit zu deklarieren.
- Ein Algorithmus leitet den Typ von Ausdrücken ab.
- Bei expliziter Deklaration überprüft der Interpreter die Korrektheit.
Vereinheitlichung: Bindung von Variablen.
Sequentielle imperative Programmierung: Nur sequentielle Anweisungen können auf Basis der von-Neumann-Architektur ausgeführt werden.
Klasse: Definiert die Eigenschaften und das Verhalten eines bestimmten Objekttyps.
Objekt: Eine Instanz einer Klasse.
Akteur: Die interaktiven Funktionen, die eine Person oder ein Systembenutzer mit unserem System ausführt.
API (z. B. Swing, AWT, io, lang): Eine große Auswahl an einsatzbereiten Softwarekomponenten, gruppiert in Bibliotheken von Klassen und Schnittstellen-Paketen.
Unterschiede zwischen den Paradigmen
Virtuelle Maschine
Der Compiler analysiert die Syntax des Quellcodes. Wenn kein Fehler vorliegt, wird Bytecode erzeugt, der von der virtuellen Maschine ausgeführt wird.