Celine Khazarian
1 year ago
3 changed files with 92 additions and 78 deletions
@ -1,27 +1,31 @@ |
|||||
# Mein Lerntagebuch für Programmiermethoden und -werkzeuge |
|
||||
|
# Mein Lerntagebuch fuer Programmiermethoden und -werkzeuge |
||||
|
|
||||
## SU 01 (24.10.2023) |
## SU 01 (24.10.2023) |
||||
|
|
||||
### Lernziel |
### Lernziel |
||||
-Organisatorische Informationen |
|
||||
-Lerntagebuch erstellen und bearbeiten |
|
||||
-Git repositories erstellen |
|
||||
|
- Organisatorische Informationen |
||||
|
- Lerntagebuch erstellen und bearbeiten |
||||
|
- Git repositories erstellen |
||||
### Erkenntnis |
### Erkenntnis |
||||
Derzeit liegen noch keine wesentlichen Erkenntnisse vor, die für das Gruppenprojekt angewendet werden können. |
|
||||
|
Gitlab naeher kennenlernen koennen und das bearbeiten vom Lerntagebuch erlernt. |
||||
|
Derzeit liegen noch keine wesentlichen Erkenntnisse vor, die für das Gruppenprojekt angewendet werden koennen. |
||||
### Wiederholung |
### Wiederholung |
||||
Das Gitlab dient als Plattform fuer Studierende, um Projekte miteinander zu bearbeiten und zu teilen. |
Das Gitlab dient als Plattform fuer Studierende, um Projekte miteinander zu bearbeiten und zu teilen. |
||||
Befehle die ich erlernt habe: |
Befehle die ich erlernt habe: |
||||
-nano Lerntagebuch.md : Bearbeitung des Lerntagebuchs |
|
||||
-Git add . |
|
||||
-Git commit |
|
||||
-Git push |
|
||||
|
- nano Lerntagebuch.md : Bearbeitung des Lerntagebuchs |
||||
|
- Git add . |
||||
|
- Git commit |
||||
|
- Git push |
||||
|
|
||||
--- |
--- |
||||
## SU 02 (31.10.2023) |
## SU 02 (31.10.2023) |
||||
|
|
||||
### Lernziel |
### Lernziel |
||||
-Programmiersprachen kennenlernen |
|
||||
-TypeScript und JavaScript ausarbeiten |
|
||||
|
- Paradigmen kennenlernen |
||||
|
- Programmiersprachen kennenlernen |
||||
|
- Die Programmiersprachen (TypeScript, JavaScript etc.) ausarbeiten in einer Gruppe aus 3-4 Leuten |
||||
### Erkenntnis |
### Erkenntnis |
||||
|
|
||||
|
Durch die Erkenntnis verschiedener Programmiersprachen und Paradigmen kann ich diese in Gruppenprojekte verwenden. Natuerlich nachdem man Erkenntnisse gewonnen hat. |
||||
### Wiederholung |
### Wiederholung |
||||
|
Imperative Programmierung ist ein Programmierparadigma, in dem ein Programm aus eine Folge von Anweisungen besteht, die vorgeben, in welcher Reihenfolge was vom Computer getan werden soll. Beispiele hierzu waeren natuerlich Programmiersprachen, sowie Koch Rezepte oder Prozess-Checklisten. Hier sieht man auch, dass vieles nur in einer bestimmten Reihenfolge funktioniert. Ansonsten waere das Endergebnis nicht zufriedenstellend. |
||||
|
Die ersten Programmiersprachen, die Imperativ als Paradigma enthalten waren sehr hardwarenahe und benoetigten eine "Schritt fuer Schritt" Anweisung. |
@ -1,75 +1,83 @@ |
|||||
Prolog |
|
||||
Paradigmen |
|
||||
-Deklarativ |
|
||||
--Programmierbeschreibung ist deklarativ |
|
||||
--aehnlich wie bei |
|
||||
Staerken |
|
||||
Schwaechen |
|
||||
Praxisanwendungen |
|
||||
Logik |
|
||||
|
# Prolog |
||||
|
- Paradigmen |
||||
|
- -Deklarativ |
||||
|
- --Programmierbeschreibung ist deklarativ |
||||
|
- --aehnlich wie bei |
||||
|
- Staerken |
||||
|
- Schwaechen |
||||
|
- Praxisanwendungen |
||||
|
- Logik |
||||
|
|
||||
|
|
||||
# Java |
# 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) |
|
||||
|
- 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 |
# 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) |
|
||||
|
- 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 |
# 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) |
|
||||
|
- 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 1/2 |
||||
|
- 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 |
||||
|
|
||||
#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 |
|
||||
|
# Typescript 2/2 |
||||
|
- typisiert |
||||
|
- Imperativ, OOP |
||||
|
- TypeScript hat Einfluss von JavaScript/Java/C# |
||||
|
- Baut auf Supermenge von Javascript Bibliotheken auf |
||||
|
- Skalierbarkeit / Wartbarkeit -> Durch Einfuehrung OOP |
||||
|
|
||||
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 |
SOLID UND STUPID ERARBEITEN |
@ -0,0 +1,2 @@ |
|||||
|
### Zeile 36 bis 38 aktiviert |
||||
|
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue