Browse Source

Update Lerntagebuch.md

remotes/origin/HEAD
fdai7777 1 year ago
parent
commit
f5fa5f3759
  1. 11
      Lerntagebuch.md

11
Lerntagebuch.md

@ -26,10 +26,10 @@ Ein Repository ist ein Ort, an dem zentral Dateien im Kontext von Softwareprojek
- Deklarative Programmierung - Deklarative Programmierung
- beschreibung des Problems steht im Vordergrund - beschreibung des Problems steht im Vordergrund
- Lösungsweg wird automatisch ermittelt - Lösungsweg wird automatisch ermittelt
- **Beispiele:** SQL, XSLT, Prolog
- kürzer als imperative Programme - kürzer als imperative Programme
- mathematische beweise sind einfacher - mathematische beweise sind einfacher
- partiell auswertbar - partiell auswertbar
- **Beispiele:** SQL, XSLT, Prolog
- Prozedurale Programmierung - Prozedurale Programmierung
- imperativer Algorithmus kann in überschaubare Teile zerlegt werden: - imperativer Algorithmus kann in überschaubare Teile zerlegt werden:
- Unterprogramm, Routine, Prozedur, Funktion - Unterprogramm, Routine, Prozedur, Funktion
@ -42,32 +42,31 @@ Ein Repository ist ein Ort, an dem zentral Dateien im Kontext von Softwareprojek
- Objekte, Klassen und Vererbungen werden unterstützt - Objekte, Klassen und Vererbungen werden unterstützt
- Kapselung von Daten und Funktionen - Kapselung von Daten und Funktionen
- Polymorphie - Polymorphie
- **Beispiele:** Smalltalk, C++, Java, Kotlin
- bessere Struktur - bessere Struktur
- Wiederverwendbarkeit von Programmteilen - Wiederverwendbarkeit von Programmteilen
- bessere Testbarkeit - bessere Testbarkeit
- **Beispiele:** Smalltalk, C++, Java, Kotlin
- Funktionale Programmierung - Funktionale Programmierung
- grundlegende Ausdrücke sind Erzeugungen und Anwendungen von Funktionen - grundlegende Ausdrücke sind Erzeugungen und Anwendungen von Funktionen
- ineinander verschachtelt - ineinander verschachtelt
- Daten fliessen durch das Programm - Daten fliessen durch das Programm
- **Beispiele:** Lisp, Scala, (C++, Java, Kotlin nicht das Hauptfeature der Sprachen)
- Berechnungen effizient und übersichtlich - Berechnungen effizient und übersichtlich
- neue Funktionen können in der Laufzeit generiert werden - neue Funktionen können in der Laufzeit generiert werden
- für nebenläufige Prozesse geeignet - für nebenläufige Prozesse geeignet
- nur Berechnungen - nur Berechnungen
- **Beispiele:** Lisp, Scala, (C++, Java, Kotlin nicht das Hauptfeature der Sprachen)
- typisierte Programmiersprachen - typisierte Programmiersprachen
- Datentyp von Variablen, Parametern und Rückgabewerten sind festgelegt (implizit oder explizit) - Datentyp von Variablen, Parametern und Rückgabewerten sind festgelegt (implizit oder explizit)
- **Beispiele:** C, C++, Java, Typescript
**Vorteile**
- Fehler schneller erkennen - Fehler schneller erkennen
- Hilfe durch IDE - Hilfe durch IDE
- Typen müssen zum Programmmierzeitpunkt bekannt sein - Typen müssen zum Programmmierzeitpunkt bekannt sein
- nachträgliche Änderung an Typen können den Code brechen - nachträgliche Änderung an Typen können den Code brechen
- **Beispiele:** C, C++, Java, Typescript
- typenlose Programmiersprachen - typenlose Programmiersprachen
- Datentyp wird nicht festgelegt - Datentyp wird nicht festgelegt
- **Beispiele:** sh, cmd, JavaScript
- implizite Konvertierung - implizite Konvertierung
- Typenfehler treten erst in der Laufzeit auf - Typenfehler treten erst in der Laufzeit auf
- **Beispiele:** sh, cmd, JavaScript
**Prinzipien der Programmierung** **Prinzipien der Programmierung**
| SOLID | STUPID | | SOLID | STUPID |

Loading…
Cancel
Save