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

poo

Virtuelle Maschine

Der Compiler analysiert die Syntax des Quellcodes. Wenn kein Fehler vorliegt, wird Bytecode erzeugt, der von der virtuellen Maschine ausgeführt wird.

Verwandte Einträge: