1. Imperative Programmierung: ein Programm bestehend aus einer Folge
von Anweisungen, die sequenziell von der Maschine ausgeführt werden
2. Prozedurale Programmierung: Erweiterung der Imperativen Programmierung mit dem Unterschied,
Algorithmen werden in übersichtliche Teile (Unterprogramm/Routine/Prozedur/Funktion) zerlegt
3. Declarative Programmierung: grundlegend ist die Beschreibung eines Problems/Funktion eines Programms,
nicht die Umsetzung
4. Funktionale Programmierung: Erweiterung der declarativen Programmierung, Deklarierung von Funktionen und Verknüpfung von Daten,
Computerprogamme = Funktionen, die zu einer Eingabe eine Ausgabe liefern
5. Objektorientierte Programmierung: Struktur einer Software ist an realtitätsnahe Anwendung angelehnt,
unterstützt Klassen, Objekte und Vererbung
6. typisierte Programmiersprachen: für Variablen/Parameter/Rückgabewerte ist der Datentyp implizit/explizit definiert, Vervollständigungsvorschläge durch IDE
7. typenlose Programmiersprachen: Datentyp für Variablen/Parameter/Rückgabewerte ist nicht deklariert
8. Prinzipien der Programmierung: STUPID vs. SOLID
### Erkenntnisse
Programmieren liegt bestimmten Prinzipien zugrunde,
dabei sollte die Software so komplex wie nötig, aber so einfach wie möglich sein.
Das bedeutet, das jede Klasse nur eine einizige Verantwortung zugeordnet werden soll,
um Fehler zu vermeiden. Ein Code sollte zudem offen für Erweiterungen (z.B. Vererbungen), aber geschlossen für Änderungen sein.
Zudem sollten große Schnittstellen (Interfaces) vermieden werden und diese in kleinere aufgeteilt, um die Anforderungen besser zu erfüllen.
Das Solid Prinzip an sich ist somit ein Prinzip, um einen sauberen, guten Code zu programmieren und das im Gruppenprojekt evtl. von Vorteil sein kann.
### Wiederholung
Programmierparadigmen beschreiben grundlegend den Stil, in dem ein Programm entworfen wird.
Es gibt verschiedene, unterschiedliche Programmierparadigmen, die sich darin unterscheiden,
dass sie unterschiedlichen Prinzipien und Herangehensweisen zugrundeliegen. Ein Beispiel ist die Imperative Programmierung,
hierbei besteht das Programm aus einer bestimmten Reihenfolge von Anweisungen, die Schritt für Schritt von der Maschine ausgeführt wird.
Es ist analog wie ein Kochrezept zu verstehen und sehr hardwarenahe.
### Kritik
Für mich persönlich wäre es angenehmer gewesen, da ich noch sehr wenig Programmiererfahrung habe und
das ganze Thema für mich sehr komplex war,
die Programmierparadigmen anhand von konkreten bildlichen Beispielen erklärt zu bekommen.
Beispielsweise direkt an einem Code in dem jeweiligen Programm, sodass man diese gegenüberstellen und verlgeichen kann.