Karl-Rufus Witzel
1 year ago
2 changed files with 170 additions and 14 deletions
@ -0,0 +1,124 @@ |
|||||
|
# JavaScript |
||||
|
|
||||
|
# Übersicht |
||||
|
* ähnliche Syntax wie in C |
||||
|
* Vererbung nicht durch Klassen, sondern durch Prototypen (klassenlose Objektorientierung) |
||||
|
* typenlose Programmiersprache |
||||
|
|
||||
|
# Imperative Programmierung: |
||||
|
* grundlegende Art der Programmierung, bei der Schritt-für-Schritt Anweisungen angegeben werden, um Aufgaben auszuführen |
||||
|
* beispielsweise Verweundung von Schleifen, bedingten Anweisungen und dekleration von Variablen |
||||
|
|
||||
|
# Funktionale Programmierung |
||||
|
|
||||
|
* Funktionen können wie Daten behandelt werden oder als Argumente für andere Funktionen dienen |
||||
|
* hohe Ordnungsfunktion |
||||
|
|
||||
|
# Objektorierentierung |
||||
|
* JavaScript ist prototypbasiert, erlaubt die Erstellung und Vererbung von Objekten |
||||
|
* Erstellung von Klassen und Objekten |
||||
|
* Hinzufügen von Methoden zu Objekten |
||||
|
|
||||
|
# Asynchrone Programmierung |
||||
|
* Aufgaben können parallel oder nebenläufig ausgeführt werden, ohne Hauptprogramme zu blockieren |
||||
|
* besonders nützlich für Aufgaben wie das Laden von Daten auf einen Server oder das Verarbeiten von Benutzereingaben |
||||
|
|
||||
|
|
||||
|
# Modulare Programmierung |
||||
|
* JavaScript unterstützt die modulare Programmierung mit ES6 und späteren Versionen |
||||
|
* Erstellen von Modulen und der Import von Modulen wird ermöglicht |
||||
|
* Fördert die Wiederverwendbarkeit |
||||
|
|
||||
|
# Vorteile |
||||
|
* Universelle Verwendung |
||||
|
* Verwendung von JavaScript im Webbrowser(Frontend) oder auf Serverseiten(Backend) |
||||
|
|
||||
|
* Leicht zu erlernen |
||||
|
* große Entwicklungsgemeinschaft und viele Ressourcen für das Lernen |
||||
|
|
||||
|
* Interaktive Benutzeroberfläche |
||||
|
* Erstellen von interaktiven und dynamischen Webseiten |
||||
|
* Verbessert die Benutzererfahrug |
||||
|
|
||||
|
* Asynchrone Programmierung |
||||
|
* gut für die Handhabung asynchroner Aufgaben |
||||
|
* wichtig für Webanwendungen |
||||
|
|
||||
|
# Nachteile |
||||
|
* Browser-Kompatiblität |
||||
|
* unterschiede Browser interpretieren JavaScript-Code unterschiedlicdh |
||||
|
|
||||
|
* Sicherheitsprobleme |
||||
|
* anfällig für Corss-Site-Scripting und Cross-Site-Request-Forgery, wenn Sicherheitsvorkehrungen nicht richtig getroffen werden |
||||
|
|
||||
|
* Typisierungsprobleme |
||||
|
* schwer zu debuggen und Typfehler treten erst während der Laufzeit auf |
||||
|
|
||||
|
* Ladezeit |
||||
|
* JavaScript Daten müssen erst vom Browser heruntergeladen und interpretiert werden |
||||
|
* beeinflusst die Ladezeiten von Webseiten |
||||
|
|
||||
|
* Begrenzte Serverseitenfähigkeit |
||||
|
* keine gute serverseite Sprache, da es viele Einschränkungen gibt im Vergleich zu spezialisierten severseitigen Sprachen |
||||
|
|
||||
|
|
||||
|
# Go |
||||
|
* Imperativ / OOP (aber keine Klassen/Vererbung) |
||||
|
* Einfach/lesbar |
||||
|
* effizient |
||||
|
* Orientierung an C |
||||
|
* Low-Level |
||||
|
* Statische Typisierung |
||||
|
* Varibalen haben festen Datentyp |
||||
|
* Fehlerfindung frühzeitig |
||||
|
* Standardbibliothek |
||||
|
* Cross Platform Compilation |
||||
|
|
||||
|
|
||||
|
# TypeScript |
||||
|
* Superset von JavaScript |
||||
|
* Starke Typisierung im Gegensatz zu JavaScript |
||||
|
* Statische & Dynamische Dartentypen werden unterstützt |
||||
|
* TypeScript ist objekt-orientiert |
||||
|
* Vererbung |
||||
|
* Schnittstellen |
||||
|
* Funktional (weil auf JavaScript aufbauend) |
||||
|
* Anwendung: große Aplikationen/Frameworks |
||||
|
* bessere Strukturierung |
||||
|
|
||||
|
# Java |
||||
|
* Imperativ |
||||
|
* Objekt-orientiert |
||||
|
* Klassenbasiert |
||||
|
* Zugriff wird klar definiert |
||||
|
+ Vererbung/Polymorphismus |
||||
|
* Ähnlichkeiten |
||||
|
* Standard-Bibliotheken |
||||
|
* Strikt typisiert |
||||
|
* Funktionale Anteile seit neuren Java-Versionen |
||||
|
* Anweundung: Web-Applikationen, Desktop-Anwendungen |
||||
|
|
||||
|
|
||||
|
# C |
||||
|
* Imperativ |
||||
|
* Prozedural |
||||
|
* Typisierte Sprache |
||||
|
* Anwendung: Hardwarenahme Programmierung |
||||
|
* Direkter Speicherzugriff |
||||
|
|
||||
|
* Nutzung auf so ziemlich allen Systemen |
||||
|
* Schnell & verbraucht wenig Ressourchen |
||||
|
* Befehlsatz ist relativ klein |
||||
|
* Kann Vorteil oder Nachteil sein |
||||
|
* Selber schreiben oder einbinden externer Bibliotheken |
||||
|
|
||||
|
|
||||
|
# Python |
||||
|
* basierend auf C |
||||
|
* imperativ und prozedural |
||||
|
* typisierte Sprache |
||||
|
* macht das Programm automatisch (dynamische Typisierung) |
||||
|
* Objektorientierung |
||||
|
* Ersellen von Funktionen |
||||
|
* Kompiler in sich intigriert |
||||
|
* sehr klare Syntax |
Write
Preview
Loading…
Cancel
Save
Reference in new issue