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.

124 lines
3.7 KiB

1 year ago
  1. # JavaScript
  2. # Übersicht
  3. * ähnliche Syntax wie in C
  4. * Vererbung nicht durch Klassen, sondern durch Prototypen (klassenlose Objektorientierung)
  5. * typenlose Programmiersprache
  6. # Imperative Programmierung:
  7. * grundlegende Art der Programmierung, bei der Schritt-für-Schritt Anweisungen angegeben werden, um Aufgaben auszuführen
  8. * beispielsweise Verweundung von Schleifen, bedingten Anweisungen und dekleration von Variablen
  9. # Funktionale Programmierung
  10. * Funktionen können wie Daten behandelt werden oder als Argumente für andere Funktionen dienen
  11. * hohe Ordnungsfunktion
  12. # Objektorierentierung
  13. * JavaScript ist prototypbasiert, erlaubt die Erstellung und Vererbung von Objekten
  14. * Erstellung von Klassen und Objekten
  15. * Hinzufügen von Methoden zu Objekten
  16. # Asynchrone Programmierung
  17. * Aufgaben können parallel oder nebenläufig ausgeführt werden, ohne Hauptprogramme zu blockieren
  18. * besonders nützlich für Aufgaben wie das Laden von Daten auf einen Server oder das Verarbeiten von Benutzereingaben
  19. # Modulare Programmierung
  20. * JavaScript unterstützt die modulare Programmierung mit ES6 und späteren Versionen
  21. * Erstellen von Modulen und der Import von Modulen wird ermöglicht
  22. * Fördert die Wiederverwendbarkeit
  23. # Vorteile
  24. * Universelle Verwendung
  25. * Verwendung von JavaScript im Webbrowser(Frontend) oder auf Serverseiten(Backend)
  26. * Leicht zu erlernen
  27. * große Entwicklungsgemeinschaft und viele Ressourcen für das Lernen
  28. * Interaktive Benutzeroberfläche
  29. * Erstellen von interaktiven und dynamischen Webseiten
  30. * Verbessert die Benutzererfahrug
  31. * Asynchrone Programmierung
  32. * gut für die Handhabung asynchroner Aufgaben
  33. * wichtig für Webanwendungen
  34. # Nachteile
  35. * Browser-Kompatiblität
  36. * unterschiede Browser interpretieren JavaScript-Code unterschiedlicdh
  37. * Sicherheitsprobleme
  38. * anfällig für Corss-Site-Scripting und Cross-Site-Request-Forgery, wenn Sicherheitsvorkehrungen nicht richtig getroffen werden
  39. * Typisierungsprobleme
  40. * schwer zu debuggen und Typfehler treten erst während der Laufzeit auf
  41. * Ladezeit
  42. * JavaScript Daten müssen erst vom Browser heruntergeladen und interpretiert werden
  43. * beeinflusst die Ladezeiten von Webseiten
  44. * Begrenzte Serverseitenfähigkeit
  45. * keine gute serverseite Sprache, da es viele Einschränkungen gibt im Vergleich zu spezialisierten severseitigen Sprachen
  46. # Go
  47. * Imperativ / OOP (aber keine Klassen/Vererbung)
  48. * Einfach/lesbar
  49. * effizient
  50. * Orientierung an C
  51. * Low-Level
  52. * Statische Typisierung
  53. * Varibalen haben festen Datentyp
  54. * Fehlerfindung frühzeitig
  55. * Standardbibliothek
  56. * Cross Platform Compilation
  57. # TypeScript
  58. * Superset von JavaScript
  59. * Starke Typisierung im Gegensatz zu JavaScript
  60. * Statische & Dynamische Dartentypen werden unterstützt
  61. * TypeScript ist objekt-orientiert
  62. * Vererbung
  63. * Schnittstellen
  64. * Funktional (weil auf JavaScript aufbauend)
  65. * Anwendung: große Aplikationen/Frameworks
  66. * bessere Strukturierung
  67. # Java
  68. * Imperativ
  69. * Objekt-orientiert
  70. * Klassenbasiert
  71. * Zugriff wird klar definiert
  72. + Vererbung/Polymorphismus
  73. * Ähnlichkeiten
  74. * Standard-Bibliotheken
  75. * Strikt typisiert
  76. * Funktionale Anteile seit neuren Java-Versionen
  77. * Anweundung: Web-Applikationen, Desktop-Anwendungen
  78. # C
  79. * Imperativ
  80. * Prozedural
  81. * Typisierte Sprache
  82. * Anwendung: Hardwarenahme Programmierung
  83. * Direkter Speicherzugriff
  84. * Nutzung auf so ziemlich allen Systemen
  85. * Schnell & verbraucht wenig Ressourchen
  86. * Befehlsatz ist relativ klein
  87. * Kann Vorteil oder Nachteil sein
  88. * Selber schreiben oder einbinden externer Bibliotheken
  89. # Python
  90. * basierend auf C
  91. * imperativ und prozedural
  92. * typisierte Sprache
  93. * macht das Programm automatisch (dynamische Typisierung)
  94. * Objektorientierung
  95. * Ersellen von Funktionen
  96. * Kompiler in sich intigriert
  97. * sehr klare Syntax