Prolog Paradigmen -Deklarativ --Programmierbeschreibung ist deklarativ --aehnlich wie bei Staerken Schwaechen 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) # 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) # 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) #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 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