Browse Source

Update Programmierparadigmen.md

remotes/origin/HEAD
fdai7775 1 year ago
parent
commit
1d989e902d
  1. 109
      Programmierparadigmen.md

109
Programmierparadigmen.md

@ -1,42 +1,79 @@
# Programmierparadigmen
## Java
* Objektorientiert
* Klassen, Vererbung, Polymorphie
* Objektorientiert
* Klassen, Vererbung, Polymorphie
* Imperativ
* Ähnlichkeit zu C++
* Standart-Bibliotheken
* Strikt typisiert
* Funktionale Anteile seit neueren Java-Versionen
* Anwendung: Web-Applikationen, Desktop-Anwendungen
## C
* Imperativ
* Prozedual
* Typisierte Sprache
* Anwendung:Hardwarenahe Programmierung
* Direkter Speicherzugriff
* Nutzung auf so ziemlich allen Systemen
* Schnell & verbraucht wenig Ressourcen
* Befehlssatz ist relativ klein
* Kann Vorteil oder Nachteil sein
* Selber schreiben oder einbinden externer Bibliotheken
# Python
* Prozedural
* Imperativ
* Dynamische Typisierung
* Duck Typing
* Objektorientiert
* Vererbung
* Functional
* Python wird zur Bytecode Übersetzt bevor er interpretiert wird
* Klare Syntax, kompakter Code, geringe Schlüsselwörter
* Kompilierter Bytecode wird vom Interpreter ausgeführt
## Go
* Imperativ / 00P (aber keine Klassen/Vererbung)
* Einfach/lesbar
* Effizient
* Orientierung an C
* Low-Level
* Statische Typisierung
* Variablen haben festen Datentyp
* Fehlerfindung frühzeitig
* Standardbibliothek
* Cross Platform Compilation
# JavaScript
* Ähnliche Syntax zu C
* Typenlose
* Imperative Programmiersprache
* Funktionale Programmiersprache
* Objektorientierte Sprache
* Prototypenbasiert also Klassenlos
* Asynchrone Verarbeitung (Callbacks)
* Modulare Programmierung (ES6)
* Vorteile: Verwendung für Frontend & Backend
* Altere Sprache, Große Community
* Interaktive Benutzeroberflächen
* Unterstützung verschiedener Browser
* Anfälligkeit zu XSS
* Läuft im Browser
* Beispiele
* Ursprung
* Vorteile
2) Declarative Programmierung
* Definition
* Beispiele
* Vorteile
3) Prozedurale Programmierung
3.1 Definition
3.2 Beispiele
4 Objektorientierte Programmierung
4.1 Definition: Polymorphie
4.2 Beispiele: Simula-67
4.3 Vorteile: bessere Strukturierung und Testbarkeit
5 Funktionale Programmierung
5.1 Definition
5.2 Beispiele: Lisp, Hskell, Erlang, etc.
5.3 Vorteile: Generierung neuer Funktionen zur Laufzeit
5.4 Nachteile: nur für Berechnungen
6 typisierte Programmiersprachen
6.1 Definition
6.2 Beispiele: C, Java, Python, C++, go, etc.
6.3 Vorteile: Vervollständigungsvorschläge durch die IDE
6.4 Nachteile
7 typenlose Programmiersprachen
7.1 Definition
7.2 Beispiele: sh, cmd, JavaScript, x86 Assembler
7.3 Vorteile: nur faktische Kompatibilität und implizite Konvertierung
7.4 Nachteile
8 Prinzipien der Programmierung
8.1 do’s & don’ts
8.2 weitere Prinzipien der Programmierung
# TypeScript
* imperativ
* Superset von JavaScript
* Starke Typisierung im Gegensatz zu Javascript
* Statische & Dynamische Datentypen werden unterstützt
* TypeScript ist objekt-orientiert
* Vererbung
* Schnittstellen
* Funktional (weil auf JavaScript aufbauend)
* Einsatzzweck für große Web-Applikationen/Frameworks
* Bessere Strukturierung
* Konsistener durch Type-Checking/Typisierung
## Programmierprinzipien
STUPID, SOLID
STUPID, SOLID
Loading…
Cancel
Save