You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3.3 KiB

Programmierparadigmen Übung (07.11.22)

Java

  • Objektorientierte, Funktionale (ab Version 8) und typisierte Programmiersprache
  • Objektorientiert: Kapselung von (Zustands-) Daten und Methoden
  • Vorteil: bessere Strukturierung, bessere Testbarkeit, Wiederverwendbar von Programmteilen
  • Funktional: Verfeinerung des deklarativen Paradigmas
  • Vorteil: übersichtliche und effiziente Berechnungen
  • Nachteile: nur für Berechnungen
  • Typisiert: Festlegung Art des Datentyps für Variablen sowie Parameter und Rückgabewerte von Prozeduren
  • Vorteil: Vervollständigungsvorschlage durch IDE, fail fast, gesteigerte Sicherheit bereits im Erstellungsprozess von Software
  • Nachteil: verwendete Typen müssen zum Programmierzeitpunkt bekannt sein, nachträgliche Änderungen am Typen können bestehenden Code brechen

C

  • typisierte Programmiersprache
  • Definition: Festlegung Art des Datentyps für Variablen sowie Parameter und Rückgabewerte von Prozeduren
  • Vorteil: Vervollständigungsvorschlage durch IDE, fail fast, gesteigerte Sicherheit bereits im Erstellungsprozess von Software
  • Nachteil: verwendete Typen müssen zum Programmierzeitpunkt bekannt sein, nachträgliche Änderungen am Typen können bestehenden Code brechen

Phyton

  • typisierte Programmiersprache
  • Definition: Festlegung Art des Datentyps für Variablen sowie Parameter und Rückgabewerte von Prozeduren
  • Vorteil: Vervollständigungsvorschlage durch IDE, fail fast, gesteigerte Sicherheit bereits im Erstellungsprozess von Software
  • Nachteil: verwendete Typen müssen zum Programmierzeitpunkt bekannt sein, nachträgliche Änderungen am Typen können bestehenden Code brechen

Go

  • typisierte Programmiersprache
  • Definition: Festlegung Art des Datentyps für Variablen sowie Parameter und Rückgabewerte von Prozeduren
  • Vorteil: Vervollständigungsvorschlage durch IDE, fail fast, gesteigerte Sicherheit bereits im Erstellungsprozess von Software
  • Nachteil: verwendete Typen müssen zum Programmierzeitpunkt bekannt sein, nachträgliche Änderungen am Typen können bestehenden Code brechen

JavaScript

  • typenlose Programmiersprache
  • Definition: Der Typ von Variablen, Parametern und Rückgabewerten wird nicht festgelegt
  • Vorteil: nur faktische Kompatibilität, implizite Konvertierung
  • Nachteil: Typenfehler treten erst zur Laufzeit des Programms auf

TypeScript

  • typisierte Programmiersprache
  • Definition: Festlegung Art des Datentyps für Variablen sowie Parameter und Rückgabewerte von Prozeduren
  • Vorteil: Vervollständigungsvorschlage durch IDE, fail fast, gesteigerte Sicherheit bereits im Erstellungsprozess von Software
  • Nachteil: verwendete Typen müssen zum Programmierzeitpunkt bekannt sein, nachträgliche Änderungen am Typen können bestehenden Code brechen

weitere Programmierprinzipien

  • Single Responsibility Prinzip: Kernaussage des Prinzips ist, dass jede Klasse nur genau eine fest definierte Aufgabe zu erfüllen hat
  • Continuity: Schreibe den Code so, dass minimale Änderungen auch nur minimale Folgen für den Code haben
  • Writability: Verwende ein Programmierwerkzeug/tool, welches dich beim Schreiben des Codes unterstützt
  • Customizability: Konstante Werte sollten im Allgemeinen nicht direkt in den Code eingefügt werden, sondern als konstante Werte separat definiert werden