From 472a51eb254eda4d38c2832ed6885ca0bea2ceaa Mon Sep 17 00:00:00 2001 From: fdai7777 Date: Tue, 31 Oct 2023 18:23:02 +0000 Subject: [PATCH] Update Lerntagebuch.md --- Lerntagebuch.md | 27 +++++++-------------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/Lerntagebuch.md b/Lerntagebuch.md index a04d40b..4ae3ea2 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -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**