timm.root
2 years ago
1 changed files with 62 additions and 0 deletions
@ -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 |
Write
Preview
Loading…
Cancel
Save
Reference in new issue