|
|
@ -1,6 +1,6 @@ |
|
|
|
# Mein Lerntagebuch für Programmiermethoden und -werkzeuge |
|
|
|
|
|
|
|
## SU 01 (27.10.2023) |
|
|
|
## SU 01 (24.10.2023) |
|
|
|
|
|
|
|
### Lernziel |
|
|
|
-Organisatorische Informationen |
|
|
@ -11,11 +11,94 @@ Derzeit liegen noch keine wesentlichen Erkenntnisse vor, die für das Gruppenpro |
|
|
|
### Wiederholung |
|
|
|
Das Gitlab dient als Plattform fuer Studierende, um Projekte miteinander zu bearbeiten und zu teilen. |
|
|
|
Befehle die ich erlernt habe: |
|
|
|
-Nano Lerntagebuch.md : Bearbeitung des Lerntagebuchs |
|
|
|
-nano Lerntagebuch.md : Bearbeitung des Lerntagebuchs |
|
|
|
-Git add . |
|
|
|
-Git commit |
|
|
|
-Git push |
|
|
|
### Kritik |
|
|
|
|
|
|
|
--- |
|
|
|
## SU 02 (03.11.2023) |
|
|
|
## SU 02 (31.10.2023) |
|
|
|
|
|
|
|
### Lernziel |
|
|
|
-Programmiersprachen kennenlernen |
|
|
|
-TypeScript und JavaScript ausarbeiten |
|
|
|
### Erkenntnis |
|
|
|
|
|
|
|
### Wiederholung |
|
|
|
Prolog |
|
|
|
Paradigmen |
|
|
|
-Deklarativ |
|
|
|
--Programmierbeschreibung ist deklarativ |
|
|
|
--aehnlich wie bei |
|
|
|
Staerken |
|
|
|
Schwaechen |
|
|
|
Praxisanwendungen |
|
|
|
Logik |
|
|
|
|
|
|
|
# Java |
|
|
|
*Imperativ |
|
|
|
*Objektorientiert (OOP) |
|
|
|
*Streng objekt-orientiert |
|
|
|
*Konzept: Klassen/Objekte |
|
|
|
*Vererbung/Kapselung/Polymorphie |
|
|
|
*Modellierung komplexer Probleme leichter |
|
|
|
*Wartbar/Skalierbar |
|
|
|
*Typisierung: Strikt Typisiert |
|
|
|
*Plattform-unabhaengig |
|
|
|
*Cross-Platform Kompatibilitaet |
|
|
|
*Multi-Threaded |
|
|
|
*Funktional (seit neueren Versionen) |
|
|
|
|
|
|
|
# C |
|
|
|
*Imperativ (also auch prozedural) |
|
|
|
*Weitergabe von Daten über Funktionen |
|
|
|
*Streng typisiert |
|
|
|
*Vorteile: Hardwarenaee, Kompatibilitaet |
|
|
|
*Schnelligkeit |
|
|
|
*Zwei Stufen unter den Maschinencode |
|
|
|
Nachteil: Speicherverwaltung (selbst übernehmen noetig) |
|
|
|
|
|
|
|
# Python |
|
|
|
*Imperativ |
|
|
|
*Objekt-orientiert |
|
|
|
*Klassen und Objekte |
|
|
|
*Hierachien |
|
|
|
*Funktional |
|
|
|
*Kompackte Syntax |
|
|
|
+Interpretierte Sprache |
|
|
|
*Übersetzung in andere Sprache möglich (Cython, etc.) |
|
|
|
*Portabilitaet |
|
|
|
*Typisierung |
|
|
|
*Dynamisch (Duck Typing) |
|
|
|
|
|
|
|
#Go |
|
|
|
*Modular, imperativ |
|
|
|
*Breite Palette an Programmierparadigmen |
|
|
|
*Teilweise Objektorientiert & Funktional |
|
|
|
*Keine Vererbung |
|
|
|
*Statt Klassen werden Structs verwendet |
|
|
|
*Einfache, effektive Programmierung |
|
|
|
*Typisierung: Statisch typisiert |
|
|
|
*Vor der Kompilierung müssen Typen fest stehen |
|
|
|
*Mix: Schnelligkeit von C & Anwendungsmöglichkeiten/Symplizität von Python |
|
|
|
*Multi-Threading |
|
|
|
|
|
|
|
JavaScript/TypeScript |
|
|
|
*Erweiterung von HTML |
|
|
|
*Multi-Paradigmen |
|
|
|
*OOP, Prozedural oder Funktional |
|
|
|
*Dynamische Typisierung |
|
|
|
*Anwendung: Interaktive Web-Anwendung (z.B. Google Maps) |
|
|
|
*Vorteile: Modernes Erscheinungsbild, Günstiger Server-Traffic (läuft im Browser) |
|
|
|
*Dynamische Elemente |
|
|
|
*Event-basiert (Callbacks) |
|
|
|
*asynchrone Verarbeitung |
|
|
|
Typescript |
|
|
|
*typisiert |
|
|
|
*Imperativ, OOP |
|
|
|
*TypeScript hat Einfluss von JavaScript/Java/C# |
|
|
|
*Baut auf Supermenge von Javascript Bibliotheken auf |
|
|
|
Skalierbarkeit / Wartbarkeit -> Durch Einfuehrung OOP |
|
|
|
|
|
|
|
SOLID UND STUPID ERARBEITEN |