Browse Source

Mein 3ter Push

remotes/origin/HEAD fetched-on-2023-11-06
Kevin Schellberg 1 year ago
parent
commit
b5493459e8
  1. 23
      Lerntagebuch.md
  2. 81
      Programmierparadigmen.md

23
Lerntagebuch.md

@ -22,4 +22,25 @@ Das Repository ist unsere sogenannte Projektsammlung ueber GitLab, in der wir be
Es liegt keine Kritik gegenüber der Vorlesung oder Uebungsstunde vor.
---
## SU 02 (28.10.2023)
## SU 02 (03.11.2023)
### Lernziel
Unterschiedliche Programmierparadigmen zum Beispiel imperative und deklarative Programmierung
Prinzipien der Programmierung im Sinne von Do's and Don'ts
### Erkenntnis
In der Vorlesung habe ich gelernt, dass es viele verschiedene Arten gibt zu programmieren sei es, objektorientiert oder imperative Programmierung.
Es gibt Programmiersprachen die mehrere Paradigmen erfüllen.
### Wiederholung
Die imperative Programmierung besteht daraus, dass man aufeinanderfolgend Befehle in den Code tippt, die der Computer in der genannten Reihenfolge ausführen soll.
### Kritik
Es liegt keine Kritik gegenüber der Vorlesung oder Uebungsstunde vor.
---
## SU 03 (10.11.2023

81
Programmierparadigmen.md

@ -0,0 +1,81 @@
Python
Multiparadigmensprache -> nutzt geeignete Paradigmensprache
Verwendet 3 Paradigmen -> Objekt-, Verfahren- oder Funktional
Im Kern Objektorientiert - > Datentypen sind Objekte
Einfach zu erlernen, saubere Struktur
Weniger Codezeilen im Vergleich mit anderen Programmiersprachen
Einrückungen statt Klammern
Verwendet angegebene Datentyp oder impliziert einen sinnvollen Wert
Free to use
Weiterentwicklung stetig
Große Community für Hilfestellung
# Java
* Imperativ
* Objektorientiert
* Streng objekt-orientiert
* Konzept: Klassen/Objekte
* Vererbung/Kapselung/Polymorphie
* Modellierung komplexer Problem leichter
* Wartbar/Skalierbar
* Typisierung: strikt
* Plattform unabhängig
* Cross-Platform Kompatibilität
* Multi-Threaded
* Funktional (seit neueren Versionen)
# C
* Imperativ (also auch prozedural)
* Weitergabe von Daten über Funktionen
* Streng typisiert
* Vorteil: Hardwarenähe, Kompatibilität
* Schnelligkeit
* Nachteil: Speicherverwaltung
# Python
* Imperativ
* Objekt-orientiert
* Klassen und Objekte
* Hierachien
* Funktional
* Kompakte Syntax
* Interpretierte Sprache
* Übersetzung in andere Sprache möglich
* Portabilität
* 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
* Vor der Compilierung müssen Typen fest stehen
* Mix: Schnelligkeit von C & Anwendungsmöglichkeiten & Simplizität von Python
* Multi-Threading
# Javascript
* Erweiterung von HTML
* Multi-Paradigmen
* OOP, Prozedural oder Funktional
* Dynamische Typisierung
* Anwendung: Interaktive Web-Anwendungen (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 Einführung OOP
Loading…
Cancel
Save