Browse Source

neue Teil

remotes/origin/HEAD
fdai7801 1 year ago
parent
commit
2127a169dd
  1. 59
      Programmierparadigmen.md

59
Programmierparadigmen.md

@ -0,0 +1,59 @@
## Programmiersprachen
###Java:
* Paradigmen: Hauptsächlich objektorientiert, unterstützt aber auch Aspekte der funktionalen Programmierung.
* Typsystem: Statisch typisiert.
* Memory Management: Verwendet Garbage Collection zur automatischen Speicherverwaltung.
* Bibliotheken und Frameworks: Hat eine reichhaltige Standardbibliothek und unterstützt zahlreiche Frameworks, darunter Spring und Hibernate.
* Anwendungsbereiche: Häufig verwendet für Enterprise-Anwendungen, Android-App-Entwicklung und Webanwendungen.
###C:
* Paradigmen: Hauptsächlich prozedural und imperativ.
* Typsystem: Statisch typisiert.
* Memory Management: Manuelle Speicherverwaltung, was potenziell zu Speicherlecks führen kann.
* Bibliotheken und Frameworks: Hat eine Standardbibliothek, aber weniger umfangreich als andere Sprachen.
* Anwendungsbereiche: Systemprogrammierung, Embedded-Systeme, Betriebssysteme.
###Python:
* Paradigmen: Multiparadigmen, darunter objektorientiert und funktional.
* Typsystem: Dynamisch typisiert.
* Memory Management: Verwendet Garbage Collection zur automatischen Speicherverwaltung.
* Bibliotheken und Frameworks: Bietet eine umfangreiche Standardbibliothek und unterstützt zahlreiche Frameworks wie Django und Flask.
* Anwendungsbereiche: Webentwicklung, wissenschaftliches Rechnen, Automatisierung.
###Go (Golang):
* Paradigmen: Hauptsächlich imperativ und konkurrierend.
* Typsystem: Statisch typisiert.
* Memory Management: Verwendet Garbage Collection zur automatischen Speicherverwaltung, ist jedoch für eine bessere Leistung optimiert.
* Bibliotheken und Frameworks: Hat eine effiziente Standardbibliothek und wird in der Cloud-Entwicklung (z.B. Docker, Kubernetes) eingesetzt.
* Anwendungsbereiche: Serverseitige Entwicklung, Netzwerkanwendungen.
###JavaScript:
* Paradigmen: Hauptsächlich objektorientiert, unterstützt jedoch auch funktionale Programmierung.
* Typsystem: Schwach typisiert (dynamisch) und verwendet Typumwandlungen.
* Memory Management: Verwendet Garbage Collection zur automatischen Speicherverwaltung.
* Bibliotheken und Frameworks: Hat eine Vielzahl von Bibliotheken und Frameworks, einschließlich React, Angular und Vue.js.
* Anwendungsbereiche: Webentwicklung, sowohl auf der Server- als auch auf der Clientseite.
###TypeScript:
* Paradigmen: Eine typisierte Übermenge von JavaScript, die die Vorteile der statischen Typisierung bietet.
* Typsystem: Statisch typisiert, was zu sicherem Code und besseren Entwicklungspraktiken führt.
* Memory Management: Wie JavaScript, da es eine Erweiterung von JavaScript ist.
* Bibliotheken und Frameworks: Kann alle JavaScript-Bibliotheken und -Frameworks verwenden und bietet statische Typprüfung.
* Anwendungsbereiche: Webentwicklung, insbesondere für größere und komplexe Projekte.
##Progammierprinzipien
* DRY (Don't Repeat Yourself): Dieses Prinzip besagt, dass Code nicht dupliziert werden sollte, um die Wartbarkeit und Erweiterbarkeit zu verbessern.
* KISS (Keep It Simple, Stupid): Dieses Prinzip fördert die Einfachheit im Design und die Vermeidung von übermäßiger Komplexität.
* YAGNI (You Aren't Gonna Need It): Dieses Prinzip rät davon ab, unnötigen Code oder Funktionalität im Voraus zu implementieren.
* SOLID: besteht aus fünf Designprinzipien zur Verbesserung der Softwarearchitektur.
* Clean Code: Ein Grundsatz, der die Bedeutung von sauberem, verständlichem und gut strukturiertem Code betont.
* TDD (Test-Driven Development): Dieses Prinzip fördert die Entwicklung von Tests vor der eigentlichen Implementierung, um die Qualität und Zuverlässigkeit des Codes sicherzustellen.
* Design by Contract: Ein Prinzip, bei dem Verträge zwischen Teilen eines Systems definiert werden, um sicherzustellen, dass die Schnittstellen korrekt verwendet werden.
Loading…
Cancel
Save