From 7b100de2f81355f8c0e19ffbffc71e443938e011 Mon Sep 17 00:00:00 2001 From: fdai7396 Date: Wed, 9 Nov 2022 20:22:14 +0000 Subject: [PATCH] Update Lerntagebuch.md --- Lerntagebuch.md | 50 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/Lerntagebuch.md b/Lerntagebuch.md index 961f888..902c930 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -15,3 +15,53 @@ Die Prinzipien sind essenziell für einen guten Handweker (Softwareentwickler*innen). Es muss sich dran gehalten werden um so viel wie möglich richtig zu machen und um Fehler zu minimieren. Es gibt mehrere Prinzipien. Wie z.B. immer einen Unitest aus zu führen, um Fehler früh zu erkennen und zu beheben. + + +# Programmierparadigmen, 2. Woche +## Lernziele/Takeaway + Wir haben dieses Woche 5 Programmierparadigmen kennen gelernt. + 1. Imperative Programmierung + Imperative Programmierung gibt dem Computer eine Schritt für Schritt Anweisung, in welcher Reihenfolge was getan werden muss. + Die imperative Programmierungssprachen waren sehr Hardware nah. + 2. Declarative Programmierung + Bei der declarativen Programmierung wird das Problem beschrieben, im Anschluss wird das Problem automatisch ermittelt. + Die bekanntesten declarativen Programmierungssprachen sind Haskell, Lisp, Prolog, Xaml & im weiteren Sinne auch SQL & XSLT. + Declarative Programmierung ist in vergleichbaren Programmen kürzer als Imperative Programmierung. + 3. Prozedurale Programmierung + Prozedurale Programmierung ist so zu sagen der vorgänger der Objektorientierten Programmierung. Prozedurale Programmierung + ist eine erweiterung vom imperativen Programmierung. Diese Programmierparadigma folgt dem System mit aufeinander folgenden Befehlen, + teilt diese jedoch in überschaubere Teile. + Bekannte Bespiele wären Fortran, COBOL, ALGOL, C & Pascal + 4. Objektorientierte Programmierung + Objektorientierte Programmierung ist ein Modell der Computerprogrammierung, bei dem das Softwaredesign auf Daten + oder Objekten basiert und nicht auf Funktionen und Logik. Ein Objekt kann als ein Datenfeld definiert werden, + das eindeutige Attribute und Verhaltensweisen aufweist. + Diese Art der Programmierung weißt eine bessere Strucktur auf & Teile des Programms können wieder verwendet werden. Ein weiterer + Vorteil ist, dass die Programme besser testbar sind. + Bekannte Objektorientierte Programmierungssprachen sind C#, C++ & Java. + 5. Funktionale Programmierung + Die Funktionale Programmierung ist eine erweiterung von der declarative Programmierung. Hier können Funktionen + nicht nur definiert und angewendet werden können, sondern auch wie Daten miteinander verknüpft werden. + Ein Vorteile der Funktionale Programmierung wäre, dass Berechnungen effizient & übersichtlich dargestellt werden, jedoch + kann die Funktionale Programmierung nur für Berechnungen verwendet werden. + Bekannte Funktionale Programmierungssprachen sind C++ (ab Version 11) & Java (ab Version 8). + + Zu dem haben wir 2 Arten der Programmiersprachen kennen gelernt. + Die erste wäre die typisierte Programmiersprachen. Mit der Typisierung werden Variablen oder Konstanten in Programmiersprachen + bestimmte Type-Eigenschaften innerhalb des Computer-Systems zugewiesen. In der Informatik verstehen Programmierung unter + Typisierung die Zuweisung eines Objekts zu einem Datentyp. Datentypen könne implizit oder explizit festgelegt werden. + Ein Vorteil der typisierte Programmiersprache ist, dass man Vervollständigungsvorschläge durch die IDE bekommt. + Bekannte typisierte Programmiersprachen wären z.B.: C, C++, C#, Java usw.. + Die zweite Programmiersprache ist die typenlose. Hier werden die Variablen, Parameter & Rückgabewerte, im gegensatz zur + typisierte Programmiersprachen, nicht festgelegt. + Bekannte typenlose Programmiersprachen wären z.B. cmd & JavaScript. + + Zu letzt haben wir do's & dont's vorgestellt bekommen, um gute & übersichtliche Programme zu schreiben. + Die zwei Stichwört sind SOLID & STUPID. + Hier steht jeder Buchstabe für einen Punkt den man beachten soll. +### Erkenntnis/preception + Ich habe in dieser Vorlesung gelernt, welche Art von Programmiersprachen wann am Sinnvollsten wäre. + Zu dem habe ich mitgenommen auf was ich achten muss um ein gutes Programm zu schreiben. +#### Wiederholung/repetition + Separations of Concern ist ein Prinzip von SOLID. Diese besagt, dass man ein Programm in verschiedene Abschnitte unterteilt, die jeweils + ein Problem behandeln. Um eine gute Übersicht über das Programm zu erhalten.