fdai7775
1 year ago
1 changed files with 73 additions and 36 deletions
@ -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 |
Write
Preview
Loading…
Cancel
Save
Reference in new issue