Browse Source

Programmierparadigmen

remotes/origin/HEAD
sandro welte 1 year ago
parent
commit
283d907d5d
  1. 48
      Programmierparadigmen.md

48
Programmierparadigmen.md

@ -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

Loading…
Cancel
Save