You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
3.7 KiB

1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
  1. ## Programmiersprachen
  2. ### Java
  3. * Paradigmen: Hauptsächlich objektorientiert, unterstützt aber auch Aspekte der funktionalen Programmierung.
  4. * Typsystem: Statisch typisiert.
  5. * Memory Management: Verwendet Garbage Collection zur automatischen Speicherverwaltung.
  6. * Bibliotheken und Frameworks: Hat eine reichhaltige Standardbibliothek und unterstützt zahlreiche Frameworks, darunter Spring und Hibernate.
  7. * Anwendungsbereiche: Häufig verwendet für Enterprise-Anwendungen, Android-App-Entwicklung und Webanwendungen.
  8. ### C
  9. * Paradigmen: Hauptsächlich prozedural und imperativ.
  10. * Typsystem: Statisch typisiert.
  11. * Memory Management: Manuelle Speicherverwaltung, was potenziell zu Speicherlecks führen kann.
  12. * Bibliotheken und Frameworks: Hat eine Standardbibliothek, aber weniger umfangreich als andere Sprachen.
  13. * Anwendungsbereiche: Systemprogrammierung, Embedded-Systeme, Betriebssysteme.
  14. ### Python
  15. * Paradigmen: Multiparadigmen, darunter objektorientiert und funktional.
  16. * Typsystem: Dynamisch typisiert.
  17. * Memory Management: Verwendet Garbage Collection zur automatischen Speicherverwaltung.
  18. * Bibliotheken und Frameworks: Bietet eine umfangreiche Standardbibliothek und unterstützt zahlreiche Frameworks wie Django und Flask.
  19. * Anwendungsbereiche: Webentwicklung, wissenschaftliches Rechnen, Automatisierung.
  20. ### Go (Golang)
  21. * Paradigmen: Hauptsächlich imperativ und konkurrierend.
  22. * Typsystem: Statisch typisiert.
  23. * Memory Management: Verwendet Garbage Collection zur automatischen Speicherverwaltung, ist jedoch für eine bessere Leistung optimiert.
  24. * Bibliotheken und Frameworks: Hat eine effiziente Standardbibliothek und wird in der Cloud-Entwicklung (z.B. Docker, Kubernetes) eingesetzt.
  25. * Anwendungsbereiche: Serverseitige Entwicklung, Netzwerkanwendungen.
  26. ### JavaScript
  27. * Paradigmen: Hauptsächlich objektorientiert, unterstützt jedoch auch funktionale Programmierung.
  28. * Typsystem: Schwach typisiert (dynamisch) und verwendet Typumwandlungen.
  29. * Memory Management: Verwendet Garbage Collection zur automatischen Speicherverwaltung.
  30. * Bibliotheken und Frameworks: Hat eine Vielzahl von Bibliotheken und Frameworks, einschließlich React, Angular und Vue.js.
  31. * Anwendungsbereiche: Webentwicklung, sowohl auf der Server- als auch auf der Clientseite.
  32. ### TypeScript
  33. * Paradigmen: Eine typisierte Übermenge von JavaScript, die die Vorteile der statischen Typisierung bietet.
  34. * Typsystem: Statisch typisiert, was zu sicherem Code und besseren Entwicklungspraktiken führt.
  35. * Memory Management: Wie JavaScript, da es eine Erweiterung von JavaScript ist.
  36. * Bibliotheken und Frameworks: Kann alle JavaScript-Bibliotheken und -Frameworks verwenden und bietet statische Typprüfung.
  37. * Anwendungsbereiche: Webentwicklung, insbesondere für größere und komplexe Projekte.
  38. ## Progammierprinzipien
  39. * DRY (Don't Repeat Yourself): Dieses Prinzip besagt, dass Code nicht dupliziert werden sollte, um die Wartbarkeit und Erweiterbarkeit zu verbessern.
  40. * KISS (Keep It Simple, Stupid): Dieses Prinzip fördert die Einfachheit im Design und die Vermeidung von übermäßiger Komplexität.
  41. * YAGNI (You Aren't Gonna Need It): Dieses Prinzip rät davon ab, unnötigen Code oder Funktionalität im Voraus zu implementieren.
  42. * SOLID: besteht aus fünf Designprinzipien zur Verbesserung der Softwarearchitektur.
  43. * Clean Code: Ein Grundsatz, der die Bedeutung von sauberem, verständlichem und gut strukturiertem Code betont.
  44. * 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.
  45. * Design by Contract: Ein Prinzip, bei dem Verträge zwischen Teilen eines Systems definiert werden, um sicherzustellen, dass die Schnittstellen korrekt verwendet werden.