2.8 KiB
Analyse der verschiedenen Programmiersprachen
Java
- imperative objektorientierte plattformunabhängige Programmiersprache mit funktionalen Anteilen
- strikt typisierte Programmiersprache
- enthält Standardbibliothek
- automatische Speicherverwaltung
- gut testbar
C
- imperative prozedurale plattformunabhängige Programmiersprache
- typisierte Programmiersprache
- hardwarenahe
- manuelle Speicherverwaltung
- schnell (weil direkte Übersetzung Code in Maschinencode) & wenig Ressourchenverbrauch
- relativ kleiner Befehlsatz
Python
- imperative objektorientierte plattformunabhängige Programmiersprache
- dynamisch typisierte Programmiersprache
- automatische Speicherverwaltung
- kombiniert Eigenschaften von Compiler & Interpretersprachen
- minimalistisch (klare Syntax, gute Lesbarkeit, wenige Codezeilen, sehr wenige Schlüsselwörter)
- geringe Anfälligkeit für Programmierfehler
- basiert auf C
- als Skriptsprache nutzbar
Go
- imperative objektorientierte plattformunabhängige Programmiersprache
- statisch typisierte Programmiersprache
- automatische Speicherverwaltung
- Standardbibliothek
- plattformübergreifende Kompilierung (Go-Code auf einem Betriebssystem schreiben & auf anderem kompilieren)
- effizient
- orientiert sich an C
- als Skriptsprache nutzbar
JavaScript
- imperative objektorientierte plattformunabhängige Programmiersprache
- dynamisch typisierte Programmiersprache
- automatische Speicherverwaltung
- ähnliche Syntax wie C
- interaktive Benutzeroberfläche
- langsamer
- als Skriptsprache nutzbar
TypeScript
- imperative objektorientierte plattformunabhängige Programmiersprache
- statisch typisierte Programmiersprache
- automatische Speicherverwaltung
- als Skriptsprache nutzbar
- Erweiterung von JavaScript
- Codebasis robuster und leichter zu Warten
- oft in größeren Projekten verwendet
Weitere Programmierprinzipien
DRY - Don't Repeat Yourself
Der Code sollte nicht wiederholt werden. Stattdessen sollten Funktionen, Klassen oder Module erstellt werden, die den Code wiederverwendbar machen. Der Code wird dadurch verständlicher, korrekter, robuster und wartbarer.
DP - Defensive Programming
Um die Robustheit und Zuverlässigkeit einer Software zu erhöhen, beinhaltet dieses Prinzip das Schreiben von Code, der auf unerwartete Situationen vorbereitet ist und Fehler frühzeitig abfängt. Vorallem beim Interagieren mit externen Datenquellen oder beim Arbeiten in sicherheitskritischen Anwendungen ist dies sehr wichtig.
TDD - Test-Driven-Development
Durch das Schreiben von Tests vor dem eigentlichen Code wird die Korrektheit, Funktionalität und Wartbarkeit sichergestellt. Es ist eine effektive Methode um qualitativ hochwertige Codes zu schreiben und Fehler frühzeitig zu erkennen.