|
@ -1,4 +1,4 @@ |
|
|
Prolog |
|
|
|
|
|
|
|
|
# Prolog |
|
|
Paradigmen |
|
|
Paradigmen |
|
|
-Deklarativ |
|
|
-Deklarativ |
|
|
--Programmierbeschreibung ist deklarativ |
|
|
--Programmierbeschreibung ist deklarativ |
|
@ -9,68 +9,74 @@ Praxisanwendungen |
|
|
Logik |
|
|
Logik |
|
|
|
|
|
|
|
|
# Java |
|
|
# Java |
|
|
*Imperativ |
|
|
|
|
|
*Objektorientiert (OOP) |
|
|
|
|
|
*Streng objekt-orientiert |
|
|
|
|
|
*Konzept: Klassen/Objekte |
|
|
|
|
|
*Vererbung/Kapselung/Polymorphie |
|
|
|
|
|
*Modellierung komplexer Probleme leichter |
|
|
|
|
|
*Wartbar/Skalierbar |
|
|
|
|
|
*Typisierung: Strikt Typisiert |
|
|
|
|
|
*Plattform-unabhaengig |
|
|
|
|
|
*Cross-Platform Kompatibilitaet |
|
|
|
|
|
*Multi-Threaded |
|
|
|
|
|
*Funktional (seit neueren Versionen) |
|
|
|
|
|
|
|
|
- Imperativ |
|
|
|
|
|
- Objektorientiert (OOP) |
|
|
|
|
|
- -Streng objekt-orientiert |
|
|
|
|
|
- -Konzept: Klassen/Objekte |
|
|
|
|
|
- -Vererbung/Kapselung/Polymorphie |
|
|
|
|
|
- -Modellierung komplexer Probleme leichter |
|
|
|
|
|
- -Wartbar/Skalierbar |
|
|
|
|
|
- Typisierung: Strikt Typisiert |
|
|
|
|
|
- Plattform-unabhaengig |
|
|
|
|
|
- -Cross-Platform Kompatibilitaet |
|
|
|
|
|
- Multi-Threaded |
|
|
|
|
|
- Funktional (seit neueren Versionen) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# C |
|
|
# C |
|
|
*Imperativ (also auch prozedural) |
|
|
|
|
|
*Weitergabe von Daten über Funktionen |
|
|
|
|
|
*Streng typisiert |
|
|
|
|
|
*Vorteile: Hardwarenaee, Kompatibilitaet |
|
|
|
|
|
*Schnelligkeit |
|
|
|
|
|
*Zwei Stufen unter den Maschinencode |
|
|
|
|
|
Nachteil: Speicherverwaltung (selbst übernehmen noetig) |
|
|
|
|
|
|
|
|
- Imperativ (also auch prozedural) |
|
|
|
|
|
- -Weitergabe von Daten über Funktionen |
|
|
|
|
|
- -Streng typisiert |
|
|
|
|
|
- -Vorteile: Hardwarenaee, Kompatibilitaet |
|
|
|
|
|
- -Schnelligkeit |
|
|
|
|
|
- Zwei Stufen unter den Maschinencode |
|
|
|
|
|
- Nachteil: Speicherverwaltung (selbst übernehmen noetig) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Python |
|
|
# Python |
|
|
*Imperativ |
|
|
|
|
|
*Objekt-orientiert |
|
|
|
|
|
*Klassen und Objekte |
|
|
|
|
|
*Hierachien |
|
|
|
|
|
*Funktional |
|
|
|
|
|
*Kompackte Syntax |
|
|
|
|
|
*Interpretierte Sprache |
|
|
|
|
|
*Übersetzung in andere Sprache möglich (Cython, etc.) |
|
|
|
|
|
*Portabilitaet |
|
|
|
|
|
*Typisierung |
|
|
|
|
|
*Dynamisch (Duck Typing) |
|
|
|
|
|
|
|
|
- Imperativ |
|
|
|
|
|
- Objekt-orientiert |
|
|
|
|
|
- -Klassen und Objekte |
|
|
|
|
|
- -Hierachien |
|
|
|
|
|
- Funktional |
|
|
|
|
|
- -Kompackte Syntax |
|
|
|
|
|
- Interpretierte Sprache |
|
|
|
|
|
- -Übersetzung in andere Sprache möglich (Cython, etc.) |
|
|
|
|
|
- Portabilitaet |
|
|
|
|
|
- Typisierung |
|
|
|
|
|
- -Dynamisch (Duck Typing) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#Go |
|
|
#Go |
|
|
*Modular, imperativ |
|
|
|
|
|
*Breite Palette an Programmierparadigmen |
|
|
|
|
|
*Teilweise Objektorientiert & Funktional |
|
|
|
|
|
*Keine Vererbung |
|
|
|
|
|
*Statt Klassen werden Structs verwendet |
|
|
|
|
|
*Einfache, effektive Programmierung |
|
|
|
|
|
*Typisierung: Statisch typisiert |
|
|
|
|
|
*Vor der Kompilierung müssen Typen fest stehen |
|
|
|
|
|
*Mix: Schnelligkeit von C & Anwendungsmöglichkeiten/Symplizität von Python |
|
|
|
|
|
*Multi-Threading |
|
|
|
|
|
|
|
|
- Modular, imperativ |
|
|
|
|
|
- Breite Palette an Programmierparadigmen |
|
|
|
|
|
- Teilweise Objektorientiert & Funktional |
|
|
|
|
|
- -Keine Vererbung |
|
|
|
|
|
- -Statt Klassen werden Structs verwendet |
|
|
|
|
|
- Einfache, effektive Programmierung |
|
|
|
|
|
- Typisierung: Statisch typisiert |
|
|
|
|
|
- -Vor der Kompilierung müssen Typen fest stehen |
|
|
|
|
|
- Mix: Schnelligkeit von C & Anwendungsmöglichkeiten/Symplizität von Python |
|
|
|
|
|
- Multi-Threading |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# JavaScript/TypeScript 1/2 |
|
|
|
|
|
- Erweiterung von HTML |
|
|
|
|
|
- Multi-Paradigmen |
|
|
|
|
|
- -OOP, Prozedural oder Funktional |
|
|
|
|
|
- Dynamische Typisierung |
|
|
|
|
|
- Anwendung: Interaktive Web-Anwendung (z.B. Google Maps) |
|
|
|
|
|
- Vorteile: Modernes Erscheinungsbild, Günstiger Server-Traffic (läuft im Browser) |
|
|
|
|
|
- -Dynamische Elemente |
|
|
|
|
|
- Event-basiert (Callbacks) |
|
|
|
|
|
- -asynchrone Verarbeitung |
|
|
|
|
|
|
|
|
|
|
|
# Typescript 2/2 |
|
|
|
|
|
- typisiert |
|
|
|
|
|
- Imperativ, OOP |
|
|
|
|
|
- TypeScript hat Einfluss von JavaScript/Java/C# |
|
|
|
|
|
- Baut auf Supermenge von Javascript Bibliotheken auf |
|
|
|
|
|
- Skalierbarkeit / Wartbarkeit -> Durch Einfuehrung OOP |
|
|
|
|
|
|
|
|
JavaScript/TypeScript |
|
|
|
|
|
*Erweiterung von HTML |
|
|
|
|
|
*Multi-Paradigmen |
|
|
|
|
|
*OOP, Prozedural oder Funktional |
|
|
|
|
|
*Dynamische Typisierung |
|
|
|
|
|
*Anwendung: Interaktive Web-Anwendung (z.B. Google Maps) |
|
|
|
|
|
*Vorteile: Modernes Erscheinungsbild, Günstiger Server-Traffic (läuft im Browser) |
|
|
|
|
|
*Dynamische Elemente |
|
|
|
|
|
*Event-basiert (Callbacks) |
|
|
|
|
|
*asynchrone Verarbeitung |
|
|
|
|
|
Typescript |
|
|
|
|
|
*typisiert |
|
|
|
|
|
*Imperativ, OOP |
|
|
|
|
|
*TypeScript hat Einfluss von JavaScript/Java/C# |
|
|
|
|
|
*Baut auf Supermenge von Javascript Bibliotheken auf |
|
|
|
|
|
Skalierbarkeit / Wartbarkeit -> Durch Einfuehrung OOP |
|
|
|
|
|
|
|
|
|
|
|
SOLID UND STUPID ERARBEITEN |
|
|
SOLID UND STUPID ERARBEITEN |