Browse Source

Merge branch 'fdai7396-main-patch-99582' into 'main'

Update Lerntagebuch.md

See merge request fdai7396/lerntagebuch!3
main rated-lesson-2022-11-02__100
fdai7396 2 years ago
parent
commit
7fee267fb3
  1. 50
      Lerntagebuch.md

50
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.
Loading…
Cancel
Save