Browse Source

Updated lerntagebuch for SU02

remotes/origin/HEAD
Can 2 years ago
parent
commit
9b810b8007
  1. 20
      lerntagebuch.md

20
lerntagebuch.md

@ -2,7 +2,7 @@
## SU 01
"Eine Laie macht versehentlich etwas richtig, ein Profi mit Absicht."
*"Eine Laie macht versehentlich etwas richtig, ein Profi mit Absicht."*
Ein Profi hat:
- Fachwissen
@ -28,3 +28,21 @@ Wichtige Git Commands:
- git commit -m "Message"
- git push -uf origin main
## SU 02
### Lernziele
- Imperative Programmierung: Hardwarenahe, nahvollziehbar.
- Declarative Programmierung: Problems im Vordergrund, kürzer Programme, Beweise sind leichter durführbar, z.B. Haskell, Lisp, Prolog, XAML.
- Prozedurale Programmierung: Hierarchie von Funktionen, sequentiell abgearbeitet. Startpunkt ist in der Hauptprozedur. z.B. Fortran, COBOL, C, Pascal.
- Objektorientierte Programmierung: Objekte, Klassung, Polymorphie und Vererbung. z.B. C#, Java, C++... bessere Strukturierung, bessere Tetbarkeit, Wiederverwendbarkeit von Programmteilen.
- Funktionale Programmierung: z.B. Lisp, Haskell, OCAml, Erlang... Berechnungen sind effizient aber ist nur für Berechnungen.
- typisierte Programmiersprachen: fail Fast, Vervollständigungsvorschläge durch die IDE. z.B. C, Java, Typescript...
- typenlose Programmiersprachen: z.B. sh, cmd, JavaScript... nur faktische Kompatibilität, implizite Konvertierung, Typenfehler treten erst zur Laufzeit des Programms auf.
- Prinzipien der Programmierung:
- KISS Keep It Simple (and) Stupid
- FCoH Favor Composition over Inheritance
- SLA Single Layer of Abstraction
- YAGNI You Ain't Gonna Need It
- IOC Inversion of Control
- DI Dependency Injection
Loading…
Cancel
Save