Browse Source

Woche 2

master fetched-on-2023-11-06
Lucas Heil 1 year ago
parent
commit
a0b3afe33d
  1. 24
      Lerntagebuch.md
  2. 61
      Programmierparadigmen.md

24
Lerntagebuch.md

@ -19,3 +19,27 @@
### Kritik:
Noch keine
## Woche zwei (31.10.2023)
### Lernziel:
Ich war diese Woche krank und habe mir die Themen dieser Woche selber angeschaut.
In den Folien wird ueber Programmierparadigmen und Prinzipien geredet und die Unterschiede zwischen imperative, prozedurale, objektorientierte und deklarative Programmierung dargestellt.
Ich haben auch ueber typenlose und typisierte Sprachen gelernt.
Des Weiteren habe ich ueber Programmierprinzipien wie zum Beispiel SOLID, STUPID und KISS gelernt
### Erkenntnis:
Die Programmierprinzipien die ich gelernt haben kann ich gut in die Gruppenuebung einbringen. Vor allem STUPID und SOLID, damit man gut zusammen arbeiten kann und Fehler vermeidet, aber auch KISS damit man nichts zu komplex macht wodurch dann niemand es versteht
### Wiederholung:
Imperative Programmierung: Bei der imperativen Programmierung gibt man dem Programm eine Schritt fuer Schritt Anleitung fuer das was es machen und auch genau in der Reihenfolge. Es ist dadurch sehr gut nachvollziehbar.
### Kritik:
Noch keine

61
Programmierparadigmen.md

@ -0,0 +1,61 @@
# Uebung - Woche 2
## Sprachen
### Java
Plattformunabhaengigkeit —> quellcode zunaechst in bytecode kompiliert; auf zielsystem in jeweilige maschinensprache umgewandelt (durch Java Runtime Environment (JRE))
Bytecode als Zwischensprache
Objektorientierte Programmiersprache
5 Ziele
einfache objektorientierte, verteilte Programmiersprache sein
robust und sicher
architekturneutral und portabel
sehr leistungsfähig
Interpretierbar, parallelisiert und dynamisch gebunden sein
### C
Imperative und procedural Programmiersprache
eingesetzt fuer System- und Anwendungsprogrammierung eingesetzt (z.B. grundlegende Programme aller Unix- Systene und Systemkernel vieler Betriebssysteme)
Viele sprachen orientieren sich an der Syntax
### Python
universelle, ueblicherweise interpretierte, höhere Programmiersprache
unterstuetzt mehrere Programmierparadigmen z.B. objektorientiert, aspektorientierte und funktionale Programmierung.
Dynamische Typisierung
oft auch als skriptsprache benutzt
### Go
kompilierbare Programmierspreache, die Nebenlaefugkeit und automatisierte Speicherbereinigung unterstuetzt
im Hinblick auf skalierbare Netzwerkdienste, Cluster und Cloud-Computing entwickelt
bietet Closure, Reflexion und Typesicherheit
Unterstützt Objektorientierung
Auf Klassen und deren Vererbung wird verzichtet
### JavaScript
Skriptsprache
wird auf Browsern, Servern und Microcontrollern benutzt
Dynamisch typisierte, objektorientierte aber klassenlose Skriptsprache
laesst sich je nach bedarf objektorientiert, prozedural oder funktional programmieren
### TypeScript
echte Obermenge von JavaScript (javascript laeuft auch hier)
kann durch plugins verschiedene Managment-Tools integrieren
Paradigmen funktional, imperativ, objektorientiert
## Programmierprinzipien
### DRY (Dont Repeat Yourself)
when writing avoid duplication, if copy pasted it isnt dry anymore
### Single Responsibility
Every class or module should only provide one specific functionality
### Document the code
### Use comments to remind yourself or others what it is about
### Refractor
Review Code and optimize it
### Clean Code At All Cost
if code is easy to read its also easy to maintain, dont overcomplicate stuff
Loading…
Cancel
Save