You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

2.0 KiB

Programmierparadigmen

Java

  • Objektorientiert
    • Klassen, Vererbung, Polymorphie
  • Imperativ
  • Ähnlichkeit zu C++
  • Standart-Bibliotheken
  • Strikt typisiert
  • Funktionale Anteile seit neueren Java-Versionen
  • Anwendung: Web-Applikationen, Desktop-Anwendungen

C

  • Imperativ
  • Prozedual
  • Typisierte Sprache
  • Anwendung:Hardwarenahe Programmierung
    • Direkter Speicherzugriff
  • Nutzung auf so ziemlich allen Systemen
  • Schnell & verbraucht wenig Ressourcen
  • Befehlssatz ist relativ klein
    • Kann Vorteil oder Nachteil sein
    • Selber schreiben oder einbinden externer Bibliotheken

Python

  • Prozedural
  • Imperativ
  • Dynamische Typisierung
    • Duck Typing
  • Objektorientiert
    • Vererbung
  • Functional
  • Python wird zur Bytecode Übersetzt bevor er interpretiert wird
  • Klare Syntax, kompakter Code, geringe Schlüsselwörter
  • Kompilierter Bytecode wird vom Interpreter ausgeführt

Go

  • Imperativ / 00P (aber keine Klassen/Vererbung)
  • Einfach/lesbar
  • Effizient
    • Orientierung an C
    • Low-Level
  • Statische Typisierung
    • Variablen haben festen Datentyp
    • Fehlerfindung frühzeitig
  • Standardbibliothek
  • Cross Platform Compilation

JavaScript

  • Ähnliche Syntax zu C
  • Typenlose
  • Imperative Programmiersprache
  • Funktionale Programmiersprache
  • Objektorientierte Sprache
    • Prototypenbasiert also Klassenlos
  • Asynchrone Verarbeitung (Callbacks)
  • Modulare Programmierung (ES6)
  • Vorteile: Verwendung für Frontend & Backend
  • Altere Sprache, Große Community
  • Interaktive Benutzeroberflächen
  • Unterstützung verschiedener Browser
  • Anfälligkeit zu XSS
  • Läuft im Browser

TypeScript

  • imperativ
  • Superset von JavaScript
  • Starke Typisierung im Gegensatz zu Javascript
    • Statische & Dynamische Datentypen werden unterstützt
  • TypeScript ist objekt-orientiert
    • Vererbung
    • Schnittstellen
  • Funktional (weil auf JavaScript aufbauend)
  • Einsatzzweck für große Web-Applikationen/Frameworks
    • Bessere Strukturierung
    • Konsistener durch Type-Checking/Typisierung

Programmierprinzipien

STUPID, SOLID