Wieso ist Javascript einfacher zu lernen als Java (Bitte Beschreibung lesen)?

Liegt es daran weil Javascript von einem Interpreter über den Browser übersetzt und nicht compiliert wird? Und wenn ja weshalb? Denn der Interpreter muss ja ebenfalls denn Quellcode zum Maschinencode übersetzen. Wieso ist es also einfacher zum programmieren? Und was sind die Nachteile von Javascript wenn es einfacher ist?

(1 votes)
Loading...

Similar Posts

Subscribe
Notify of
16 Answers
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
PWolff
2 months ago

Inzwischen wird JavaScript oft im Hintergrund kompiliert (weil das insgesamt schneller ist) und es gibt (Java-)Entwicklungsumgebungen, in denen man auch ein kompiliertes Programm wie ein interpretiertes Programm laufen lassen kann (z. B. schrittweise Ausführung, Änderungen von Variablenwerten im laufenden Betrieb, manchmal sogar Code-Änderungen). Das ist es also nicht.

Ich würde auch nicht sagen, dass JavaScript einfacher zu lernen ist als Java – die Lernkurve beginnt nur etwas flacher.

Insbesondere ist JavaScript – wie schon sagte – sehr nachsichtig, sodass man ohne viel Mühe Ergebnisse sieht. (Das führt dann leider dazu, dass viel zu viele Leute glauben, sie könnten programmieren, was einen wesentlichen Teil zu unserer katastrophalen Software beiträgt. Unfairerweise wird das dann oft allein der Programmiersprache an sich angelastet.)

Wenn man von anderen objektorientierten Sprachen kommt, hat JavaScript einige Fallstricke, man muss ein wenig umlernen (Stichworte “Klasse” bzw. “Prototyp”).

Java hat im Laufe der Zeit immer wieder neue Features “angebaut” bekommen, was die Sprache etwas bizarr macht, wenn man sie nicht fast von Anfang an kennt. Für JavaScript gilt dies weniger stark, allerdings wird das durch die “Frameworks”, die man braucht, um ähnlich leistungsfähig zu programmieren wie mit einer umfangreicheren Sprache wie Java, wieder “ausgeglichen”.

Den Nachteil, dass JavaScript weit mehr zu unsauberem Programmieren verführt, habe ich schon genannt. Dadurch, dass JavaScript kein statisches Typsystem hat, ist es etwas bis deutlich langsamer (in diesem Punkt ist JavaScript eingebauterweise interpretierend).

Franz1957
2 months ago

Ob das überhaupt so ist, darüber kann man unterschiedliocher Meinung sein. Jedenfalls unterscheidet sich JavaScript sehr von Java. Die Namensähnlichkeit war nichts als ein schlechter Marketing-Trick.

Ein wichtiger Unterschied ist das völlig verschiedene Typsystem. Ein anderer ist das ebenfalls völlig verschiedene Objektkonzept.

Wer sich vertieft mit JavaScript beschäftigen will, dem empfehle ich Douglas Crockfords Texte darüber.

https://crockford.com/javascript/popular.html

https://crockford.com/javascript/javascript.html

https://crockford.com/javascript/

malte314
2 months ago
Reply to  Franz1957

Dass das statische vs das dynamische Typensystem ein großer Unterschied ist, ist mir klar, aber was meinst du mit den Unterschieden beim »Objektkonzept«? Kann JS nicht ungefähr so OOP wie Java?

BeamerBen
2 months ago

Nein das hat erst mal nichts direkt mit interpretiert oder kompiliert zu tun.

Indirekt ist es natürlich schon einfacher, wenn man JavaScript einfach im Browser ausführen kann, und direkt Ergebnisse sieht. Man braucht auch weniger Tools um anzufangen, wobei moderne Editoren und IDEs sowieso das meiste abnehmen.

Java ist strenger wie du deinen Code strukturieren musst. Man muss Klassen lernen, wie man variablen Typen deklariert, man kann nicht so einfach alles in eine Datei schreiben und so weiter.

Ich muss aber sagen, die Konzepte muss man so oder so lernen, so viel schwieriger ist Java dann auch nicht, einfach nur am Anfang eventuell umfangreicher.

Suboptimierer
2 months ago

JavaScript ist in vielen Belangen nachsichtiger. Viele objektorientierte Ansätze werden unterstützt, aber sie sind nicht obligatorisch.

Du kannst heute noch ein simples Script im Spaghetticode schreiben und mit dem Windows Scripting Host ausführen lassen. Du kommst ohne viel installieren oder konfigurieren zu müssen schnell zu einem Ergebnis.

Suboptimierer
2 months ago
Reply to  Frage999713

Eigentlich nicht. Ob der Code kompiliert oder interpretiert wird, spielt für das Erlernen keine Rolle.

Am Ende ist nicht unentscheidend, wie mächtig deine Entwicklungsumgebung ist und wie stark sie dich im Entwickeln unterstützt.

By the way: Heutzutage würde ich unbedingt ChatGPT verwenden, um mir Programmieren beizubringen.

PWolff
2 months ago

Stimmt, die Bemerkung war vermutlich verfrüht. Mit “interessant” meinte ich, dass man Neuland betritt (zumindest für einen selbst, wo man sich keine “Landkarte” besorgen kann).

Suboptimierer
2 months ago

Gerade Anfängern hilft die KI sehr viel. Ich maße mir allerdings nicht an, Aussagen darüber zu treffen, ab wann es spannend wird. Es soll genügend Menschen geben, die noch nicht eine Codezeile geschrieben haben und es schon spannend finden.

(Cargo Cult Programming musste ich erstmal nachschlagen. Interessant, für was es eigene Begriffe gibt. Danke!)

PWolff
2 months ago

“KI” würde ich nur innerhalb des Bereichs “Standard-Prüfungsstoff” einsetzen. Wenn es anfängt, interessant zu werden, neigen “KI”s stark zu “Cargo-Coding”.