Browse Source

Updated Lerntagebuch.md (SU 02)

remotes/origin/HEAD
Julian Wenzel 1 year ago
parent
commit
dc8f306919
  1. 19
      Lerntagebuch.md
  2. 55
      Programmierparadigmen.md

19
Lerntagebuch.md

@ -13,3 +13,22 @@ Das Versionskontrollsystem Git wird uns im Projekt helfen gemeinsam zu arbeiten.
### Wiederholung
Git ist ein Versionskontrollsystem das darauf basiert Änderungen zu verfolgen. Dadurch können verschiedene Änderungen von verschiedenen Personen am gleichen Projekt vorgenommen und dann zusammengeführt werden. Außerdem ist es damit einfach Änderungen rückgängig zu machen und zu einer früheren version des Projekts zurückzukehren.
## SU 02 (31.10.2023)
### Lernziel
- Programmierparadigmen/Prinzipien
- Imperative Programmierung
- Deklarative Programmierung
- Prozedurale Programmierung
- Objektorientierte Programmierung
- Funktionale Programmierung
- Typisierte Programmierung
- Typenlose Programmierung
- Do's und Don'ts der Programmierung
### Erkenntnis
Programmiersprachen haben viele Eigenschaften, in denen sie sich voneinander unterscheiden, deshalb ist es eine gute Idee, vor dem Begin eines Projekts abzuwägen, welche Programmiersprache sich mit ihren speziellen Eigenschaften am besten für das Projekt eignet.
### Wiederholung
Typisierte Programmiersprachen schreiben strikt vor, welche Datentypen in einem Speicherbereich liegen können. In typisierten Programmiersprachen kann ein Compiler in der Regel verstöße gegen Typen-Vorgaben feststellen ohne das Programm auszuführen. Bei dynamisch oder nicht typisierten Programmiersprachen werden falsche Zuweisungen in der Regel erst zur Laufzeit festgestellt.

55
Programmierparadigmen.md

@ -0,0 +1,55 @@
# Java
## Imperative Programmierung
Bei der imperativen Programmierung werden festgelegte Befehle in einer festgelegten Reihenfolge abgearbeitet. Ähnlich wie bei einem Koch-Rezept gibt es in der Regel keine Verzweigungen.
Java ist imperativ.
C ist imperativ.
Python ist imperativ.
go ist imperativ.
JavaScript ist imperativ.
TypeScript ist imperativ.
## Deklarative Programmierung
Bei deklarativer Programmierung liegt der Fokus auf einer Beschreibung des Problems. Der Ablauf wird dabei automatisch ermittelt. Das führt vor allem zu lesbarem Code. Auch das Auslagern von Funktionalität in Funktionen ist eine Eigenschaft der deklarativen Programmierung.
Java ist auch deklarativ.
C ist nicht deklarativ.
Python ist nicht deklarativ.
go ist nicht deklarativ.
JavaScript nicht deklarativ.
TypeScript nicht deklarativ.
## Prozedurale Programmierung
Prozedurale Programmierung erlaubt neben der Funktionalität der imperativen Programmierung das segmentieren von code in "Prozeduren" oder Funktionen. Dadurch können Funktionalitäten voneinander getrennt werden, was die Lesbarkeit und Wiederverwendbarkeit von Code stark verbessert und Tests vereinfacht.
Java ist prozedural
C ist prozedural.
Python ist prozedural.
go ist prozedural.
JavaScript ist prozedural.
TypeScript ist prozedural.
## Objektorientierte Programmierung
In der Objektorientierten Programmierung gibt es Klassen die Funktionen haben und Objekte von Klassen, die Eigenschaften haben. Diese Struktur ist oft realitätsnah.
Java ist ein objektorientiere Programmiersprache.
C ist nicht objektorientiert.
Python ist teilweise objektorientiert.
go ist nicht objektorientiert.
JavaScript ist objektorientiert.
TypeScript ist objektorientiert.
## Funktionale Programmierung
In der funktionalen Programmierung sind die Definitionen und die Aufrufe von Funktionen grundlegende Ausdrücke. Das bedeutet vor allen dass man mit Funktionsaufrufen in der Regel auf einer Abstraktionsebene arbeitet.
Java ist funktional.
C ist funktional.
Python ist funktional.
go ist funktional.
JavaScript ist funktional.
TypeScript ist funktional.
## Typisierte/Typenlose Programmiersprachen
Typisierte Programmiersprachen schreiben strikt vor, welche Datentypen in einem Speicherbereich liegen können. In typisierten Programmiersprachen kann ein Compiler in der Regel verstöße gegen Typen-Vorgaben feststellen ohne das Programm auszuführen. Bei dynamisch oder nicht typisierten Programmiersprachen werden falsche Zuweisungen in der Regel erst zur Laufzeit festgestellt.
Java ist typisiert.
C ist typisiert.
Python ist dynamisch typisiert.
go ist typisiert.
JavaScript ist dynamisch Typisiert.
TypeScript ist typisiert.
Loading…
Cancel
Save