Browse Source

Update 'programmierparadigmen.md'

master
timm.root 2 years ago
parent
commit
aeb130f822
  1. 62
      programmierparadigmen.md

62
programmierparadigmen.md

@ -0,0 +1,62 @@
Java
- Objektorientierte, typisierte & funktionale (Verfeinerung des deklarativen Paradigmas) Programmierung
- beteiligte Objekte stehen im Fokus
- Verwendung von Klassen und Objekten
- Unterstützt Objekte, Klassen und Vererbung
- Neue Klassen können die Eigenschaften und Verhalten von bereits existierenden Klassen erben
- Kapselung von (Zustands-) Daten und Methoden
- Polymorphie (Behandlung von Objekten basierend auf ihrem Typ)
- Bessere Strukturierung
- Wiederverwendbarkeit von Programmteilen
- Einmal geschriebene Code kann künftig leicht gepflegt und modifiziert werden
- Bessere Testbarkeit
C
- (1) Prozedurale, typisierte Programmierung
(1)
- Erweiterung des imperativen Paradigmas, um Algorithmen in überschaubare Teile zu zerlegen
- Kontrollstrukturen (Sequenz, Schleife, Verzweigung) zur Steuerung der Befehlsausführung
- Datenwerte definiert als benannte Variablen und darüber angesprochen
- Diesen Variablen sind Datentypen zugeordnet -> erlauben nur bestimmte Instruktionen
- Konzept der Abstraktion -> Entstehung von Gruppierungen und Hierarchie
(2)
- Korrekte Verwendung der Objekte
- Sicherstellung, dass auf den Inhalt von Variablen keine Operationen ausgeführt werden, die syntaktisch oder semantische fehlerhaft sind
- Vermeidung von Laufzeitfehlern
Python
- Ist eine universelle Open-Source-Programmiersprache
- Nutzt mehrere Programmierparadigmen, u.a. die objektorientierte, aspektorientierte und die funktionale Programmierung
- Funktionen sind nicht nur definiert und anwendbar, sondern auch wie Daten miteinander verknüpft, als Parameter verwendet und können als Funktionsergebnisse auftreten
- Ermöglicht, auf die in der imperativen Programmierung benötigten, inneren Zustände eines Berechnungsprozesses ebenso zu verzichten, wie auf die zugehörigen Zustandsänderungen
- Verzicht auf Seiteneffekte vereinfacht semantische Analyse eines Computerprogramms
- Möglichkeit zur regelbasierten, algebraischen Programmtransformation und -synthese
- Vereinfacht, Algorithmen ohne Berücksichtigung der Beschaffenheit der bearbeiteten Datenobjekte zu beschreiben und dadurch generischen Programmcode zu schreiben
Go
- Kombinierbare Programmiersprache, die Nebenläufigkeit und automatische Speicherbereinigung unterstützt
- Bereinigung der Compiler-Ineffizienz in C und C++
- Erleichterung von Softwareentwicklung mit Codebasen und Entwicklerteams
- Orientiert sich syntaktisch an der Programmiersprache C
-
JavaScript
- Typenlose Programmiersprache (Typ von Variablen, Parametern & Rückgabewert wird nicht festgelegt)
- Nur faktische Kompatibilität
- Implizite Konvertierung
- Typenfehler treten erst zur Laufzeit des Programms auf
TypeScript
- Compiler kompilierte Programmiersprache
- Unterstützt Kapseln von Klassen, Interfaces, Funktionen und Variablen in eigene Namensräume
- Bietet, existierenden JavaScript-Code und -Bibliotheken zu verwenden (JavaScript-Code = TypeScript-Code)
Programmierprinzipien
Clean Code > Clever Code
- Vermeidung von komplexem Code in einer Zeile
- Man sollte den Idiome der Sprache Acht geben
Zusammensetzung > Vererbung
- statt Klassen zu erben, neues Verhalten für Objete mit komplexem Verhalten hinzufügen
Loading…
Cancel
Save