diff --git a/Programmierparadigmen.md b/Programmierparadigmen.md index 0ad6522..d7a12b4 100644 --- a/Programmierparadigmen.md +++ b/Programmierparadigmen.md @@ -1,4 +1,4 @@ -Prolog +# Prolog Paradigmen -Deklarativ --Programmierbeschreibung ist deklarativ @@ -9,68 +9,74 @@ Praxisanwendungen Logik # 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 -*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 -*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 -*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