From f3163986df9b19a9e36fe81b670bdc7dcfcc68cd Mon Sep 17 00:00:00 2001 From: Pascal Schneider Date: Fri, 3 Nov 2023 13:09:34 +0100 Subject: [PATCH] 3ter Push --- Lerntagebuch.md | 2 ++ Programmierparadigmen.md | 66 +++++++++++++++++++++++++++++++++++++++- 2 files changed, 67 insertions(+), 1 deletion(-) diff --git a/Lerntagebuch.md b/Lerntagebuch.md index 8259e8c..73cd6a8 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -48,3 +48,5 @@ Dieses Programmierparadigma trifft auf die ersten Programmiersprachen zu, die zu ### Kritik Ich habe keine Kritik zur letzten Vorlesungswoche + +Anmerkung: In der Übung haben wir Programmierparadigmen zu verschiedenen Programmiersprachen untersucht. Diese ist im Respository unter "Programmierparadigmen.md" zu finden diff --git a/Programmierparadigmen.md b/Programmierparadigmen.md index b56778d..3f7384a 100644 --- a/Programmierparadigmen.md +++ b/Programmierparadigmen.md @@ -1,4 +1,6 @@ -### Python: +### Python + + - Imperative Programmierung, die Teile aus der Declarative Programmierung unterstützt - unterstützt vier Programmierparadigmen: -> Objektorientierte Programmierparadigmen @@ -47,3 +49,65 @@ -> Durch geringe Syntax einfache Compilierung - Einrückung statt Klammern + + +- dynamische Typisierung (Duck Typing) + +- Protabilität + +### Prolog + + - Erstellung eines Regelwerks + - basiert auf logische Fakten + - funktioniert auf Backtracking + +### Java + + - Imperativ + - Objektorientierte Programmiersprache + - Plattform-unabhängig + - Konzept: Klassen/Objekte + - Vererbung/Kapselung/Polymorphie + - Multi-Threaded + - Modellierung komplexer Probleme leichter + - Funktional (seit neueren Funktionen) + +### C + +- Imperativ (also auch prozedural) +- streng typisiert +- Vorteil: Hardwarenähe, Kompatibilität +- Weitergabe von Daten über Funktionen +- Nachteil: Speicherverwaltung + +### Go + +- Modular, imperativ +- Breite Palette an Programmierparadigmen +- Teilweise Objektorientiert & Funktional +- Einfache, effektive Programmierung +- Typisierung: Statisch typisiert +- Vor der Kompilierung müssen Typen fest stehen +- Schnelligkeit von C & Anwendungsmöglichkeiten/Simplizität von Python +- Einfache, effektive Optimierung + +### JavaScript + +- Erweiterung von HTML +- Multi-Paradigmen + - OOP, Prezudural oder Funktional +- Dynamische Typisierung +- Anwendung: Interaktive Web-Anwendungen (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 +- Vererbung +- TypeScript hat Einfluss von JavaScript/Java/C# +- Baut auf Supermenge von JavaScript Bibliotheken auf +- Skalierbarkeit / Wartbarkeit -> Durch Einführung OOP