fdai7775
1 year ago
1 changed files with 73 additions and 36 deletions
@ -1,42 +1,79 @@ |
|||||
|
|
||||
# Programmierparadigmen |
# Programmierparadigmen |
||||
|
|
||||
## Java |
## 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 |
## Programmierprinzipien |
||||
STUPID, SOLID |
|
||||
|
STUPID, SOLID |
Write
Preview
Loading…
Cancel
Save
Reference in new issue