From 868cf06a2a853a2a450369c01248b8828a485438 Mon Sep 17 00:00:00 2001 From: fdai7720 Date: Wed, 1 Nov 2023 16:36:10 +0000 Subject: [PATCH] Update Lerntagebuch.md --- Lerntagebuch.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/Lerntagebuch.md b/Lerntagebuch.md index 0b18a5b..8e675b5 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -12,4 +12,54 @@ Der Künstler ist Kreativ, neugierig und sehr frei. Ebenso befasst er sich mit k --- -## SU (28.10.2021 +## SU (31.10.2023 + +### Lernziel +-Allgemeine Prinzipien der Programmierung +-Arten der Programmierung +Do's and Don'ts, Stupidand Solid +### Erkenntnis +Wir haben in der Vorlesung die effetiven Methoden kenngelernt wie man am besten Programmiert. Ebenso haben wir über die Do's and Dont's geredet, also was man beim Programmieren machen sollte und was nicht. +### Wiederholung +Besprochen wurden 7 Methoden +Imperative Programmierung: +•Es wird den Computer eine Reihenfolge vorglegt +(bsp:Kochrezepte, Prozess-Checklisten) +Deklarative Programmierung: +•Problemebene steht im Vordergrund und sind kürzer als imperative Programme +•Gibt Code Anweisung, die die Hardware mit bestimmten veraussetzungen ausführt +Programmiersprachen: Haskell, Lisp,XAML +(bsp: Korrektheitsbeweis) +Prozedurale Programmierung: +•eine Erweiterung zur Imperativen Programmierung ->Lässt sich jetzt besser in überschaubare Teile zerlegen +Programmiersprachen:Fortan, COBOL, C +Objektorientierte Programmierung: +•Hier wird sich an der Natur orientiert und Objektorientiert gearbeitet +(Landtier --> Saugetier --> Hund --> Hundrassen) +Programmiersprachen: C#, C++, Java +Funktionale Programmierung: +•vereinfachung des Programmes durch Funktionen +Programmiersprachen: Lips, F#, Scla: C++ +Typisierte Programmierung: +•Varialblen, Parameter und Rückgabewerte bekommen eine festgelegte Typisierung +Programmiersprachen: C, C++, Java, C# +typenlose Programmierung: +•Varialblen, Parameter und Rückgabewerte bekommen keine festgelegte Typisierung Programmiersprachen:sh, cmd, JavaScript + +Programmierprinziepien +Programmierprinziepien: lassen sich durch 2 Wörter am besten beschreiben. SOLID and STUPID +-Separation of Concern: +•verschiedene Aufgaben einer Anwendung sollen hier in eigene Berreichen ausgelagert werden +•Übersicht zu behalten +•Teilösung besser verstehen +-Open/Closed Principle: +•Quellcode soll vom Anfang ausgelegt sein +•Veränderungen sollen vermieden werden +-Liskov Substitution: +•Wenn was im Programm ausgetauscht wird soll das so passieren dass keine Funktionen verloren gehen +-Interface Segeration: +•Schnittstellen solle einfach und überschaubar gehalten werden +-Dependency Inversion: +•man sollte unabhängig sein +•wenn man von einer Implementierung abhängig ist, kann man diese nicht mehr ohne weiteres variieren --> Somit immer Schnittstellen nutzen +### Kritik