+1 Daumen
2,7k Aufrufe

Guten Tag,

in der Schule programmiere ich mit Java. Der Lehrer hat auch etwas über JavaScript programmiert.

Gibt es Unterscheide zwischen Java und JavaScript? Ist der Quellcode anders?

Was vom beiden ist einfacher?


Danke im Voraus

Nikola

Avatar von

2 Antworten

+3 Daumen
 
Beste Antwort
Gibt es Unterscheide zwischen Java und JavaScript?

Es gibt einige Unterschiede zwischen Java und JavaScript:

- In Java müssen Datentypen explizit angegeben werden (z. B. String, double, int, boolean, ...) wohingegen in JavaScript das Keyword var ausreicht, um verschiedene Datentypen zu kodieren. In JavaScript werden die benötigten Typen implizit umgerechnet (in Java gibt es allerdings auch eine implizite Typkonversion). Nicht verwirren lassen: Es gibt sehr wohl eine Trennung in die verschiedenen Datentypen (siehe https://www.stacklounge.de/729/wie-kann-man-in-javascript-0x00-als-variable-speichern). Allerdings ist diese für den Programmierer nur aus dem Kontext zu erschließen, wenn man sich alleinig auf var verlässt.

- Java und JavaScript benötigen unterschiedliche Plugins.

- Java ist eine objektorientierte Programmiersprache, wohingegen JavaScript eine objektorientierte Scriptingsprache, was der Name "JavaScript" bereits vermuten lässt.

- In Java geschriebener Code muss kompiliert werden, wohingegen JavaScript-Code im Text integriert ist.

- Übergabewerte von Funktionen müssen nicht mit dem Keyword var eingeleitet werden. Also z. B. 

public static int add(int a, int b) {...} (Java)

VS.

function add(a, b){...} (JavaScript)

- Funktionen werden in JavaScript mit dem Keyword function definiert.

- Für Funktionen muss kein Rückgabetyp definiert sein (auch wenn die Funktion einen Rückgabewert liefert).

- JavaScript wird nur im Browser ausgeführt, wohingegen Java Anwendungen erstellt, die auf virtuellen Rechnern oder in Browsern ausgeführt laufen.

- ...

Ist der Quellcode anders?

Ja. Die Syntax der beiden Sprachen unterscheidet sich u.a. in den oben genannten Punkten.

Was vom beiden ist einfacher?

Das muss jeder individuell für sich entscheiden. Viele halten JavaScript von der Syntax her für einfacher. Zudem wird oft gesagt, dass durch die fehlende Notwendigkeit der expliziten Typangabe von Variablen eine weitere Vereinfachung vorgenommen wird. Allerdings birgt das meiner Ansicht nach (aus didaktischer Perspektive) einige Schwierigkeiten beim Erlernen des Programmierens im Allgemeinen, da man nicht immer direkt einsehen kann, welcher Datentyp im Laufe eines Programms wann vorliegt und man sehr "verwöhnt" an das Erlernen anderer Programmiersprachen herangeht. So ging es mir damals mit dem Wechsel von Java zu C/C++ (Pointer!).

Avatar von

Ich kann nur jedem aus eigener Erfahrung raten, wenn man anfängt, Programmieren zu lernen, statt Java das tolerante Javascript zu verwenden.

Wir mussten damals im Studium Java durchpauken, ätzend. Oder es lag am Lehrpersonal, wer weiß.

Weitestgehenden Genuss beim Programmieren habe ich bei PHP und Javascript (mit JQuery!) erfahren. Klar geht nicht alles und einiges ist umständlich, doch weitaus besser als das super strikte Java, bei dem man als Anfänger oft aufgeschmissen ist.

Weitere Alternativen für Anfänger: Python und Ruby (mit hochbezahlten Jobs). 

Zu Python kommen ja hoffentlich bald ein paar Wissensartikel ;)

Letztlich bleibt aber festzuhalten, dass man in erster Linie die Konzepte verstehen muss. Denn dann ist es nur die Syntax, die anders ist, und Deklarationen etc.

statt Java das tolerante Javascript zu verwenden.

Wenn man schnell sichtbare (und vor allem anwendbare) Ergebnisse produzieren möchte, stimme ich Dir zu. Dennoch: Durch die vielen Freiheiten (insbesondere beim Verwenden von Datentypen, was oft nicht transparent ist) wird der Umstieg später umso schwieriger (insbesondere dann, wenn es in Java heißt: "So, ab jetzt bitte sinnvoll mit Datentypen arbeiten!"). Wenn man das jedoch im Hinterkopf behält, kann man auch gerne mit JavaScript einsteigen ;-)

mit hochbezahlten Jobs

Ja, dem kann ich nur zustimmen :-D

Zu Python kommen ja hoffentlich bald ein paar Wissensartikel ;)

Nicht nur ein paar, sondern eine ganze Tutorial-Reihe. Die Planung läuft ;-)

dass man in erster Linie die Konzepte verstehen muss.

Richtig! Und genau deshalb sehe ich bei JavaScript hier bezogen auf die Datentypen ein Problem (außer, man lernt mit einem Tutorial, das detailliert auf diese Frage eingeht). Auf der anderen Seite: Als ich mit Java angefangen habe, wusste ich auch noch nichts von Pointern und habe trotzdem C/C++ meistern können ... auch wenn man durch Java sehr verwöhnt war ;-)

0 Daumen
Was ist der Unterschied zwischen Java und JavaScript?

Java und JavaScript haben so viel gemeinsam wie Huhn und Hund.

- Java läuft auf Geräten (zum Beispeil mit Apps auf deinem Handy)
- JavaScript läuft im Webbrowser (zum Beispiel auf der Webseite, die du gerade siehst).


- Java ist eine Programmiersprache, sie hat einen Kern an Libraries und eine virtuelle Maschine, mit der man Code kompilieren muss (diese kompilierten Programme laufen auf fast jeder Plattform wie Windows, Mac etc., wobei der Quellcode nicht mehr in Rohform vorliegt).
- JavaScript ist eine objektorientierte Skriptsprache, die es zum Beispiel erlaubt, dynamische HTML-Seiten zu erzeugen und Eingaben in Inputfeldern zu validieren etc.

- Java ist statische Sprache mit strikten Datentypen (ist eine Variable einmal festgelegt, kann sie nicht mehr geändert werden)
- JavaScript ist dynamisch (eine Variable kann ihren Datentyp während der Laufzeit ändern, geil ☺).

- Java basiert auf Klassen (class ...)
- JavaScript basiert auf Prototypen

- Java-Konstruktoren sind spezielle Funktionen, die nur einmal bei Objekt-Erstellung aufgerufen werden
- JavaScript "Konstruktoren" sind normale Funktionen

- Java-Code (non-block statements) muss mit Semikolon ; abgeschlossen werden
- JavaScript braucht keine Semikolons am Ende jeder Zeile (guter Stil ist es jedoch, stets ein Semikolon zu setzen)

- Java benutzt blockbasierte Scopes (Gültigkeitsbereiche)
- JavaScript benutzt funktionsbasierte Scopes

- Java hat einen implizierten this-Scope für nicht-statische Methoden und einen implizierten class-Scope
- JavaScript hat einen implizierten globalen Scope

- Beide Sprachen werden zum Lösen von sehr unterschiedlichen Problemen verwendet.

- Java sieht zuerst schön aus, später wird es ärgerlich
- JavaScript sieht zuerst unschön aus, dann wird es nach und nach richtig gut

Historisch

JavaScript hieß zu Beginn "LiveScript", wurde aber aufgrund eines Marketingvertrags zwischen Netscape und Sun umbenannt zu "JavaScript". Es wäre für die Welt besser gewesen, wäre der Name bei LiveScript geblieben, denn dann würde es diese Verwechslungsgefahr nicht geben... Die wesentlichen Gestaltungsprinzipien bei JavaScript sind übrigens abgeleitet von Self- und Scheme-Programmiersprachen.


Ich bin der Meinung, JavaScript eignet sich sehr gut, um die Basics des Programmierens zu erlernen.

Avatar von

Ein anderes Problem?

Stell deine Frage

Ähnliche Fragen

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community