Java ist eine plattformübergreifende, Objektorientierte und netzzentrierte Sprache. Java wird auch als ComputingßPlattform verwendet.
Vorteil
Java
unterstützt multi-threading.
ist Objektorientierte
ist dynamisch, was das Runtime-system angeht. Klassen werden dann gelinkt, wenn sie benötigt werden.
Nachtteil
die Performance ist verringert, da java-code vom Interpreter (der die Plattformunabhängigkeit erst möglich macht) interpretiert wird.
C
C ist eine universelle Programmiersprache, die sehr beliebt, einfach und flexibel ist. Es ist eine strukturierte Programmiersprache, die maschinenunabhängig ist und ausgiebig zum Schreiben verschiedener Anwendungen, Betriebssysteme wie Windows und vieler anderer komplexer Programme wie Oracle-Datenbank, Git, Python-Interpreter und mehr verwendet wird.
Vorteil
Es ist eine robuste Sprache.
Es handelt sich um eine Sprache mit niedrigem Programmierniveau, die der Maschinensprache nahe kommt.
Sie wird häufig in der Softwareentwicklung eingesetzt.
Es handelt sich um eine prozedur- und strukturorientierte Sprache.
Sie hat die volle Unterstützung verschiedener Betriebssysteme und Hardware-Plattformen.
Nachtteil
Eine allzu große Freiheit beim Kodieren kann dazu führen, dass schwer lesbarer Code geschrieben wird.
Als Anfänger haben Sie bereits direkten Zugriff auf die Hardware und können somit vieles durcheinander bringen, wenn Sie nicht wissen, was Sie genau tun.
Fehler, die bei anderen Sprachen beim Compiler-Lauf abgeschaltet werden, werden unter Umständen nicht gefunden. Meist treten solche Fehler erst dann auf, wenn das Programm bereits freigegeben wurde.
Python
Python ist eine interpretierte, objektorientierte High-Level-Programmiersprache mit dynamischer Semantik. Seine hochentwickelten, integrierten Datenstrukturen, kombiniert mit dynamischer Typisierung und dynamischer Bindung, machen es sehr attraktiv für die schnelle Anwendungsentwicklung sowie für die Verwendung als Skript- oder Klebesprache, um bestehende Komponenten miteinander zu verbinden.
Vorteil
Python bietet für fast alle Anwendungsprobleme eine Lösung.
Python ist leichter zu lernen als viele andere Programmiersprachen.
Python ist aufgrund seiner Struktur gut lesbar, so können Bugs schnell gefunden und behoben werden
Python ist dynamisch typisiert. Es ist also in Python nicht notwendig, den Typ von Variablen oder Funktionsargumenten zu definieren.
Nachtteil
Python ist etwas langsam und eignet sich für bestimme Anwendungen nur bedingt.
wenn man noch nicht so viel Erfahrung hat, kann es vorkommen, dass man den Code umständlicher gestaltet, als unbedingt notwendig.
Go (Golang)
Go (auch Golang oder Go-Sprache genannt) ist eine Open-Source-Programmiersprache, die für allgemeine Zwecke verwendet wird. Go wurde von Google-Ingenieuren entwickelt, um verlässliche und effiziente Software zu erstellen. Go ist ähnlich wie C modelliert, ist statisch typisiert und explizit.
Vorteil
Schnelle Kompilierung und Ausführungsgeschwindigkeit
Keine virtuelle Maschine (VM) erforderlich
Übertragbarkeit
Leichtgewichtige Goroutinen, die Gleichzeitigkeit unterstützen
Keine Unterstützung von Generika oder der Möglichkeit, abstrakten, - - impliziten Code zu schreiben
Fehlende Sicherheit zur Laufzeit
Erzwingt strenge Regeln
Unvereinbar mit Funktionsüberladung
Konventionell nicht objektorientiert
JavaScript
JavaScript (JS) ist eine Programmier- bzw. Skriptsprache, die hauptsächlich im Web verwendet wird. Sie wird zur Verbesserung und Interaktivität von HTML-Seiten eingesetzt und ist häufig in HTML-Code eingebettet. JavaScript ist eine interpretierte Sprache.
Vorteil
Moderenes Erscheinungsbild
leichter zu erlernen als typbasierte Sprachen wie (C#, Java, C++ etc)
läuft überall (windows, linux, mac etc.)
läuft im Browser (Webanwendungen werden immer beliebter)
große Community weshalb fast jede Frage die auftreten könnte schon im Internet beantwortet wurde
Nachtteil
code wird schnell unleserlich und somit sehr schwer auf Dauer zu pflegen
viele der Librarys haben Abhängigkeiten was bedeutet dass sobald einer diese Abhängigkeiten sich ändert oder kaputt geht die Library an sich kaputt geht und somit auch deine Applikation
-das debugging, also die Fehlersuche ist enorm schwer und lästig da kein Editor in der Lage ist dir im vorhinein zu sagen ob eine Variabel existiert oder nicht und du so sehr schnell deine Schreibfehler übersiehts und Sie meist erst nach langer Sucherei findest
javascript ist vergleichsweise sehr langsam jedoch macht dies mit der heutigen Technik eher weniger aus.
# Lerntagebuch
###### Übung 2 08.11.2022
## Analysieren Programmierparadigmen
### Java
Java ist eine plattformübergreifende, Objektorientierte und netzzentrierte Sprache. Java wird auch als ComputingßPlattform verwendet.
#### Vorteil
Java
- unterstützt multi-threading.
- ist Objektorientierte
- ist dynamisch, was das Runtime-system angeht. Klassen werden dann gelinkt, wenn sie benötigt werden.
#### Nachtteil
- die Performance ist verringert, da java-code vom Interpreter (der die Plattformunabhängigkeit erst möglich macht) interpretiert wird.
### C
C ist eine universelle Programmiersprache, die sehr beliebt, einfach und flexibel ist. Es ist eine strukturierte Programmiersprache, die maschinenunabhängig ist und ausgiebig zum Schreiben verschiedener Anwendungen, Betriebssysteme wie Windows und vieler anderer komplexer Programme wie Oracle-Datenbank, Git, Python-Interpreter und mehr verwendet wird.
#### Vorteil
- Es ist eine robuste Sprache.
- Es handelt sich um eine Sprache mit niedrigem Programmierniveau, die der Maschinensprache nahe kommt.
- Sie wird häufig in der Softwareentwicklung eingesetzt.
- Es handelt sich um eine prozedur- und strukturorientierte Sprache.
- Sie hat die volle Unterstützung verschiedener Betriebssysteme und Hardware-Plattformen.
#### Nachtteil
- Eine allzu große Freiheit beim Kodieren kann dazu führen, dass schwer lesbarer Code geschrieben wird.
- Als Anfänger haben Sie bereits direkten Zugriff auf die Hardware und können somit vieles durcheinander bringen, wenn Sie nicht wissen, was Sie genau tun.
- Fehler, die bei anderen Sprachen beim Compiler-Lauf abgeschaltet werden, werden unter Umständen nicht gefunden. Meist treten solche Fehler erst dann auf, wenn das Programm bereits freigegeben wurde.
### Python
Python ist eine interpretierte, objektorientierte High-Level-Programmiersprache mit dynamischer Semantik. Seine hochentwickelten, integrierten Datenstrukturen, kombiniert mit dynamischer Typisierung und dynamischer Bindung, machen es sehr attraktiv für die schnelle Anwendungsentwicklung sowie für die Verwendung als Skript- oder Klebesprache, um bestehende Komponenten miteinander zu verbinden.
#### Vorteil
- Python bietet für fast alle Anwendungsprobleme eine Lösung.
- Python ist leichter zu lernen als viele andere Programmiersprachen.
- Python ist aufgrund seiner Struktur gut lesbar, so können Bugs schnell gefunden und behoben werden
- Python ist dynamisch typisiert. Es ist also in Python nicht notwendig, den Typ von Variablen oder Funktionsargumenten zu definieren.
#### Nachtteil
- Python ist etwas langsam und eignet sich für bestimme Anwendungen nur bedingt.
- wenn man noch nicht so viel Erfahrung hat, kann es vorkommen, dass man den Code umständlicher gestaltet, als unbedingt notwendig.
### Go (Golang)
Go (auch Golang oder Go-Sprache genannt) ist eine Open-Source-Programmiersprache, die für allgemeine Zwecke verwendet wird. Go wurde von Google-Ingenieuren entwickelt, um verlässliche und effiziente Software zu erstellen. Go ist ähnlich wie C modelliert, ist statisch typisiert und explizit.
#### Vorteil
- Schnelle Kompilierung und Ausführungsgeschwindigkeit
- Keine virtuelle Maschine (VM) erforderlich
- Übertragbarkeit
- Leichtgewichtige Goroutinen, die Gleichzeitigkeit unterstützen
- Schnittstellen ermöglichen lose gekoppelte Systeme
- Automatische Garbage Collection
- Speichersicherheit
- Unabhängige Fehlerbehandlung
- Umfangreiche integrierte Bibliotheken
#### Nachtteil
- Keine Unterstützung von Generika oder der Möglichkeit, abstrakten, - - impliziten Code zu schreiben
- Fehlende Sicherheit zur Laufzeit
- Erzwingt strenge Regeln
- Unvereinbar mit Funktionsüberladung
- Konventionell nicht objektorientiert
### JavaScript
JavaScript (JS) ist eine Programmier- bzw. Skriptsprache, die hauptsächlich im Web verwendet wird. Sie wird zur Verbesserung und Interaktivität von HTML-Seiten eingesetzt und ist häufig in HTML-Code eingebettet. JavaScript ist eine interpretierte Sprache.
#### Vorteil
- Moderenes Erscheinungsbild
- leichter zu erlernen als typbasierte Sprachen wie (C#, Java, C++ etc)
- läuft überall (windows, linux, mac etc.)
- läuft im Browser (Webanwendungen werden immer beliebter)
große Community weshalb fast jede Frage die auftreten könnte schon im Internet beantwortet wurde
#### Nachtteil
- code wird schnell unleserlich und somit sehr schwer auf Dauer zu pflegen
- viele der Librarys haben Abhängigkeiten was bedeutet dass sobald einer diese Abhängigkeiten sich ändert oder kaputt geht die Library an sich kaputt geht und somit auch deine Applikation
-das debugging, also die Fehlersuche ist enorm schwer und lästig da kein Editor in der Lage ist dir im vorhinein zu sagen ob eine Variabel existiert oder nicht und du so sehr schnell deine Schreibfehler übersiehts und Sie meist erst nach langer Sucherei findest
- javascript ist vergleichsweise sehr langsam jedoch macht dies mit der heutigen Technik eher weniger aus.
## Porgrammier Prinziple
#### SOLID
**S**eparations of Concern
**O**pen/Closed Principle
**L**iskov Substitution Principle
**I**nterface Segregation Principle
**D**ependency Inversion Principle
#### STUPID
**S**ingelton
**T**ight Coupling
**U**ntestability
**P**remature Optimization
**I**ndescriptive Naming
**D**uplication
#### KISS
**K**eep **I**t **S**imple (and) **S**tupid
#### FCoH
**F**avor **C**omposition **o**ver **I**nheritance
####SLA
**S**ingle **L**ayer of **A**bstraction
#### YAGNI
**Y**ou **A**in’t **G**onna **N**eed **I**t
#### IOC
**I**nversion **o**f **C**ontrol
####DI
**D**ependency **I**njection
#### DRY
**D**on't **R**epeat **Y**ourself
### DYC
**D**ocument **Y**our **C**ode
#### Clean Code At All Costs
Bewerteter commit=85888486c5898f2539178cb47598039676b964bf: keine Einträge für die bewertete Woche
Lerntagebuch
Übung 2 08.11.2022
Analysieren Programmierparadigmen
Java
Java ist eine plattformübergreifende, Objektorientierte und netzzentrierte Sprache. Java wird auch als ComputingßPlattform verwendet.
Vorteil
Java
Nachtteil
C
C ist eine universelle Programmiersprache, die sehr beliebt, einfach und flexibel ist. Es ist eine strukturierte Programmiersprache, die maschinenunabhängig ist und ausgiebig zum Schreiben verschiedener Anwendungen, Betriebssysteme wie Windows und vieler anderer komplexer Programme wie Oracle-Datenbank, Git, Python-Interpreter und mehr verwendet wird.
Vorteil
Nachtteil
Python
Python ist eine interpretierte, objektorientierte High-Level-Programmiersprache mit dynamischer Semantik. Seine hochentwickelten, integrierten Datenstrukturen, kombiniert mit dynamischer Typisierung und dynamischer Bindung, machen es sehr attraktiv für die schnelle Anwendungsentwicklung sowie für die Verwendung als Skript- oder Klebesprache, um bestehende Komponenten miteinander zu verbinden.
Vorteil
Nachtteil
Go (Golang)
Go (auch Golang oder Go-Sprache genannt) ist eine Open-Source-Programmiersprache, die für allgemeine Zwecke verwendet wird. Go wurde von Google-Ingenieuren entwickelt, um verlässliche und effiziente Software zu erstellen. Go ist ähnlich wie C modelliert, ist statisch typisiert und explizit.
Vorteil
Nachtteil
JavaScript
JavaScript (JS) ist eine Programmier- bzw. Skriptsprache, die hauptsächlich im Web verwendet wird. Sie wird zur Verbesserung und Interaktivität von HTML-Seiten eingesetzt und ist häufig in HTML-Code eingebettet. JavaScript ist eine interpretierte Sprache.
Vorteil
große Community weshalb fast jede Frage die auftreten könnte schon im Internet beantwortet wurde
Nachtteil
-das debugging, also die Fehlersuche ist enorm schwer und lästig da kein Editor in der Lage ist dir im vorhinein zu sagen ob eine Variabel existiert oder nicht und du so sehr schnell deine Schreibfehler übersiehts und Sie meist erst nach langer Sucherei findest
Porgrammier Prinziple
SOLID
Separations of Concern
Open/Closed Principle
Liskov Substitution Principle
Interface Segregation Principle
Dependency Inversion Principle
STUPID
Singelton
Tight Coupling
Untestability
Premature Optimization
Indescriptive Naming
Duplication
KISS
Keep It Simple (and) Stupid
FCoH
Favor Composition over Inheritance
####SLA
Single Layer of Abstraction
YAGNI
You Ain’t Gonna Need It
IOC
Inversion of Control
####DI
Dependency Injection
DRY
Don't Repeat Yourself
DYC
Document Your Code
Clean Code At All Costs
commit=85888486c5898f2539178cb47598039676b964bf: Einträge für die bewertete Woche