|
@ -8,15 +8,25 @@ |
|
|
### Java |
|
|
### Java |
|
|
|
|
|
|
|
|
Imperativ |
|
|
Imperativ |
|
|
|
|
|
|
|
|
Objekt-orientiert (OOP) |
|
|
Objekt-orientiert (OOP) |
|
|
|
|
|
|
|
|
Streng objekt-orientiert |
|
|
Streng objekt-orientiert |
|
|
|
|
|
|
|
|
Konzept: Klassen/Objekte |
|
|
Konzept: Klassen/Objekte |
|
|
|
|
|
|
|
|
Vererbung/Kapselung/Polymorphie |
|
|
Vererbung/Kapselung/Polymorphie |
|
|
|
|
|
|
|
|
Modellierung komplexer Probleme leichter |
|
|
Modellierung komplexer Probleme leichter |
|
|
|
|
|
|
|
|
Wartbar/Skalierbar |
|
|
Wartbar/Skalierbar |
|
|
|
|
|
|
|
|
Plattform unabhängig |
|
|
Plattform unabhängig |
|
|
|
|
|
|
|
|
-> Cross-Plattform Kompatibilität |
|
|
-> Cross-Plattform Kompatibilität |
|
|
|
|
|
|
|
|
Multi-Threaded |
|
|
Multi-Threaded |
|
|
|
|
|
|
|
|
Funktional (seit neueren Versionen) |
|
|
Funktional (seit neueren Versionen) |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -24,12 +34,19 @@ Funktional (seit neueren Versionen) |
|
|
### C |
|
|
### C |
|
|
|
|
|
|
|
|
Imperative Programmiersprache |
|
|
Imperative Programmiersprache |
|
|
|
|
|
|
|
|
Prozedurale Programmiersprache |
|
|
Prozedurale Programmiersprache |
|
|
|
|
|
|
|
|
Weitergabe von Daten über Funktionen |
|
|
Weitergabe von Daten über Funktionen |
|
|
|
|
|
|
|
|
Typisierte Programmiersprache |
|
|
Typisierte Programmiersprache |
|
|
|
|
|
|
|
|
-> Streng typisiert |
|
|
-> Streng typisiert |
|
|
|
|
|
|
|
|
Vorteil: Hardwarenähe, Kompatibilität |
|
|
Vorteil: Hardwarenähe, Kompatibilität |
|
|
|
|
|
|
|
|
Schnelligkeit |
|
|
Schnelligkeit |
|
|
|
|
|
|
|
|
Nachteil: Speicherverwaltung |
|
|
Nachteil: Speicherverwaltung |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -37,14 +54,23 @@ Nachteil: Speicherverwaltung |
|
|
### Python |
|
|
### Python |
|
|
|
|
|
|
|
|
Imperativ |
|
|
Imperativ |
|
|
|
|
|
|
|
|
Objekt-orientiert |
|
|
Objekt-orientiert |
|
|
|
|
|
|
|
|
Klassen und Objekte |
|
|
Klassen und Objekte |
|
|
|
|
|
|
|
|
Hierarchien |
|
|
Hierarchien |
|
|
|
|
|
|
|
|
Funktional |
|
|
Funktional |
|
|
|
|
|
|
|
|
Kompakte Syntax |
|
|
Kompakte Syntax |
|
|
|
|
|
|
|
|
Interpretierte Sprache |
|
|
Interpretierte Sprache |
|
|
|
|
|
|
|
|
Übersetzung in andere Sprachen möglich (Cython, etc.) |
|
|
Übersetzung in andere Sprachen möglich (Cython, etc.) |
|
|
|
|
|
|
|
|
Portabilität |
|
|
Portabilität |
|
|
|
|
|
|
|
|
Typisierung Dynamisch (Duck Typing) |
|
|
Typisierung Dynamisch (Duck Typing) |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -52,14 +78,23 @@ Typisierung Dynamisch (Duck Typing) |
|
|
### Go |
|
|
### Go |
|
|
|
|
|
|
|
|
Modular, imperativ |
|
|
Modular, imperativ |
|
|
|
|
|
|
|
|
Breite Palette an Programmierparadigmen |
|
|
Breite Palette an Programmierparadigmen |
|
|
|
|
|
|
|
|
Teilweise Objektorientiert & Funktional |
|
|
Teilweise Objektorientiert & Funktional |
|
|
|
|
|
|
|
|
Keine Vererbung |
|
|
Keine Vererbung |
|
|
|
|
|
|
|
|
Statt Klassen werden Structs verwendet |
|
|
Statt Klassen werden Structs verwendet |
|
|
|
|
|
|
|
|
Einache, effektive Programmierung |
|
|
Einache, effektive Programmierung |
|
|
|
|
|
|
|
|
Typisierung: Statisch typisiert |
|
|
Typisierung: Statisch typisiert |
|
|
|
|
|
|
|
|
Vor der Kompilierung müssen Typen fest stehen |
|
|
Vor der Kompilierung müssen Typen fest stehen |
|
|
|
|
|
|
|
|
Mix: Schnelligkeit von C & Anwendungsmöglichkeiten/Simplizität von Python |
|
|
Mix: Schnelligkeit von C & Anwendungsmöglichkeiten/Simplizität von Python |
|
|
|
|
|
|
|
|
Multi-Threading |
|
|
Multi-Threading |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -67,13 +102,21 @@ Multi-Threading |
|
|
### JavaScript |
|
|
### JavaScript |
|
|
|
|
|
|
|
|
Erweiterung von HTML |
|
|
Erweiterung von HTML |
|
|
|
|
|
|
|
|
Multi-Paradigmen |
|
|
Multi-Paradigmen |
|
|
|
|
|
|
|
|
OOP, Prozedural oder Funktional |
|
|
OOP, Prozedural oder Funktional |
|
|
|
|
|
|
|
|
Dynamische Typisierung |
|
|
Dynamische Typisierung |
|
|
|
|
|
|
|
|
Anwendung: Interaktive Web-Anwendungen (z.B. Google Maps) |
|
|
Anwendung: Interaktive Web-Anwendungen (z.B. Google Maps) |
|
|
|
|
|
|
|
|
Vorteile: Modernes Erscheinungsbild, Günstiger Server-Traffic (läuft im Browser) |
|
|
Vorteile: Modernes Erscheinungsbild, Günstiger Server-Traffic (läuft im Browser) |
|
|
|
|
|
|
|
|
Dynamische Elemente |
|
|
Dynamische Elemente |
|
|
|
|
|
|
|
|
Event-basiert (Callbacks) |
|
|
Event-basiert (Callbacks) |
|
|
|
|
|
|
|
|
Asynchrone Verarbeitung |
|
|
Asynchrone Verarbeitung |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -81,10 +124,15 @@ Asynchrone Verarbeitung |
|
|
### TypeScript |
|
|
### TypeScript |
|
|
|
|
|
|
|
|
Typisiert |
|
|
Typisiert |
|
|
|
|
|
|
|
|
Imperativ, OOP |
|
|
Imperativ, OOP |
|
|
|
|
|
|
|
|
Vererbung |
|
|
Vererbung |
|
|
|
|
|
|
|
|
TypeScript hat Einfluss von JavaScript/Java/C# |
|
|
TypeScript hat Einfluss von JavaScript/Java/C# |
|
|
|
|
|
|
|
|
Baut auf Supermenge von JavaScript Bibliotheken auf |
|
|
Baut auf Supermenge von JavaScript Bibliotheken auf |
|
|
|
|
|
|
|
|
Skalierbarkeit/Wartbarkeit -> Durch Einführung OOP |
|
|
Skalierbarkeit/Wartbarkeit -> Durch Einführung OOP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|