|
|
@ -22,14 +22,11 @@ Ein Repository ist ein Ort, an dem zentral Dateien im Kontext von Softwareprojek |
|
|
|
- Folge aus Anweisungen |
|
|
|
- Reihenfolge vorgegeben |
|
|
|
- für hardwarenahe Programmierung |
|
|
|
**Beispiele:** |
|
|
|
- Kochrezepte, Checklisten |
|
|
|
- **Beispiele:** Kochrezepte, Checklisten |
|
|
|
- Deklarative Programmierung |
|
|
|
- beschreibung des Problems steht im Vordergrund |
|
|
|
- Lösungsweg wird automatisch ermittelt |
|
|
|
**Beispiele:** |
|
|
|
- SQL, XSLT, Prolog |
|
|
|
**Vorteile:** |
|
|
|
- **Beispiele:** SQL, XSLT, Prolog |
|
|
|
- kürzer als imperative Programme |
|
|
|
- mathematische beweise sind einfacher |
|
|
|
- partiell auswertbar |
|
|
@ -40,15 +37,12 @@ Ein Repository ist ein Ort, an dem zentral Dateien im Kontext von Softwareprojek |
|
|
|
- sequentielles Abarbeiten von Hierarchien von Funktionen |
|
|
|
- Startpunkt in der Hauptprozedur (vgl. "Main" Methode in Java) |
|
|
|
- bestimmte Rückgabewerte für Fehler |
|
|
|
**Beispiele:** |
|
|
|
- COBOL, C, Pascal |
|
|
|
- **Beispiele:** COBOL, C, Pascal |
|
|
|
- Objektorientierte Programmierung |
|
|
|
- Objekte, Klassen und Vererbungen werden unterstützt |
|
|
|
- Kapselung von Daten und Funktionen |
|
|
|
- Polymorphie |
|
|
|
**Beispiele:** |
|
|
|
- Smalltalk, C++, Java, Kotlin |
|
|
|
**Vorteile** |
|
|
|
- **Beispiele:** Smalltalk, C++, Java, Kotlin |
|
|
|
- bessere Struktur |
|
|
|
- Wiederverwendbarkeit von Programmteilen |
|
|
|
- bessere Testbarkeit |
|
|
@ -56,30 +50,23 @@ Ein Repository ist ein Ort, an dem zentral Dateien im Kontext von Softwareprojek |
|
|
|
- grundlegende Ausdrücke sind Erzeugungen und Anwendungen von Funktionen |
|
|
|
- ineinander verschachtelt |
|
|
|
- Daten fliessen durch das Programm |
|
|
|
**Beispiele:** |
|
|
|
- Lisp, Scala, (C++, Java, Kotlin nicht das Hauptfeature der Sprachen) |
|
|
|
**Vorteile:** |
|
|
|
- **Beispiele:** Lisp, Scala, (C++, Java, Kotlin nicht das Hauptfeature der Sprachen) |
|
|
|
- Berechnungen effizient und übersichtlich |
|
|
|
- neue Funktionen können in der Laufzeit generiert werden |
|
|
|
- für nebenläufige Prozesse geeignet |
|
|
|
- nur Berechnungen |
|
|
|
- typisierte Programmiersprachen |
|
|
|
- Datentyp von Variablen, Parametern und Rückgabewerten sind festgelegt (implizit oder explizit) |
|
|
|
**Beispiele:** |
|
|
|
- C, C++, Java, Typescript |
|
|
|
- **Beispiele:** C, C++, Java, Typescript |
|
|
|
**Vorteile** |
|
|
|
- Fehler schneller erkennen |
|
|
|
- Hilfe durch IDE |
|
|
|
**Nachteile:** |
|
|
|
- Typen müssen zum Programmmierzeitpunkt bekannt sein |
|
|
|
- nachträgliche Änderung an Typen können den Code brechen |
|
|
|
- typenlose Programmiersprachen |
|
|
|
- Datentyp wird nicht festgelegt |
|
|
|
**Beispiele:** |
|
|
|
- sh, cmd, JavaScript |
|
|
|
**Vorteile:** |
|
|
|
- **Beispiele:** sh, cmd, JavaScript |
|
|
|
- implizite Konvertierung |
|
|
|
**Nachteile:** |
|
|
|
- Typenfehler treten erst in der Laufzeit auf |
|
|
|
|
|
|
|
**Prinzipien der Programmierung** |
|
|
|