Lohnt es sich, Javascript zu lernen, wenn Sie nicht vorhaben, Webentwickler zu werden?

26

Ich habe gehört, Javascript ist eine vollständige Sprache wie C ++. Ist das wahr? Was nützt es außer dem Internet noch zum Programmieren?

Matt
quelle
Eigentlich ist es nur gut für Webstuffs, da es eine Art Parser benötigt, von denen die meisten nur in Webbrowsern eingebaut sind. Ich meine, Sie könnten Ihren eigenen JS-Parser für die Desktop-Nutzung erstellen, aber dann würde er nicht den größten Teil von Javascript verwenden, das mit dem HTML-
Code
3
@ DKuntz2 Ich denke, Chrome V8 JS Engine ist eine unabhängige Bibliothek, die Sie in einer Desktop-Anwendung wiederverwenden können. Sie müssten immer noch Ihre eigene API entwickeln. Link: code.google.com/apis/v8/embed.html
Vitor Py
1
Es gibt auch spidermonkeyMozillas Javascriptparser. Es ist auch eigenständig und kann in jeder Anwendung verwendet werden.
jgauffin
@ dkuntz2 Javascript eignet sich nicht nur für "Web-Inhalte" - ich verwende node.js als allgemeines Skript-Tool und zum Entwickeln von Desktop-Anwendungen.
Anderson Green
@VitorBraga Ich denke, die Entwicklung von Anwendungen mit node.js wäre eine gute Option - es verfügt über eine umfassende Sammlung von Bibliotheken, die für allgemeine Skriptaufgaben wie Bildbearbeitung und Lesen / Schreiben von Dateien nützlich sind.
Anderson Green

Antworten:

23

Ich denke, es lohnt sich zu lernen, weil es sich von Ihrer gewöhnlichen OO-Sprache unterscheidet und Sie zumindest ein anderes Programmierparadigma erlernen werden.

Kann es anderswo als im Browser nützlich sein? Sicher: Schauen Sie sich node.js an , das die Asynchronität von Javascript nutzt, um eine rein blockierungsfreie Entwicklungsplattform zu erstellen, und couchapps , mit der Sie eine komplette Web-App erstellen können.

Wenn Sie glauben, dass einige Leute, wird Javascript die wichtigste Dev-Sprache der Zukunft sein, allein wegen seiner weit verbreiteten Verwendung. Es ist bei weitem die beliebteste Sprache auf Github und fast jeder Entwickler ist damit in Berührung gekommen. Bei Projekten wie node.js hat Javascript eine interessante Zukunft.

Ben Hughes
quelle
6

Soweit ich weiß, wird neben der Webprogrammierung auch JavaScript für einige neue Desktop-Umgebungen verwendet. Zum Beispiel GNOME 3 (eine Desktop-Umgebung für Linux) mit JavaScript + CSS, damit Benutzer und Entwickler ihre Desktop-Umgebung anpassen können.

Brian Hsu
quelle
KDE kann es auch unterstützen, da Qt QtScript hat, aber ich bin mir nicht sicher.
Vitor Py
3

Während Javascript eine vollständige Sprache ist, die syntaktisch, objektorientiert usw. ist, fehlen meist Bibliotheken, um mit nicht bereits eingebauten Inhalten zusammenzuarbeiten. Es ist beispielsweise gut geeignet, um auf XML-Daten zuzugreifen und diese zu ändern, bietet jedoch nicht wirklich viele Schnittstellen auf Hardware.

Diese Frage zu Stack Overflow befasst sich mit einigen Beispielen dafür, wo es sich befindet und wo es außerhalb der Webprogrammierung verwendet werden kann.

Michael
quelle
2

Ich würde sagen, dass es sich lohnt, eine Sprache mit dynamischen und funktionalen Fähigkeiten zu lernen, aber es muss nicht unbedingt Javascript sein.

LISP basiert auf den oben genannten Konzepten und ist daher eine hervorragende Sprache zum Lernen, auch wenn Sie LISP nie selbst verwenden müssen.

jonathanconway
quelle
2

JavaScript kann für "Out-of-the-Box" -Shell-Skripte unter Windows und Mac verwendet werden:

Meiner Meinung nach ist es unter Windows die schmackhafteste Wahl, da die Alternativen VBScript- und BAT-Dateien sind (zumindest, wenn Sie sich nicht auf zusätzliche Installationen verlassen können).

Joeri Sebrechts
quelle
Es gibt auch PowerShell unter Windows.
JBRWilkinson
PowerShell wird meines Wissens nicht standardmäßig mit Windows-Versionen vor 2008/7 installiert.
Joeri Sebrechts
2

JavaScript wird auch für Greasemonkey- Skripts verwendet, mit denen Sie Websites, die Sie besuchen, anpassen oder Funktionen hinzufügen können. (Dieser Link verweist auf die Firefox-Erweiterung, ist aber auch für andere Browser verfügbar.)

Technisch gesehen ist dies natürlich immer noch "Webmaterial", aber es unterscheidet sich darin, dass die Webentwickler nicht die (einzigen) sind, die es verwenden.

Fritten
quelle
1

Es lohnt sich nicht, über die Grundlagen hinaus zu lernen.

Verwenden Sie Ihre Lernressourcen auch dann, wenn Sie in Webanwendungen, aber im Backend arbeiten, für Themen, die eher Ihrem Fachgebiet entsprechen. Javascript ist nur eine andere Sprache ohne besondere Botschaft, die Sie erheblich bereichern wird.

Listen Sugra
quelle
2
Ich stimme dir nicht zu. Es ist die einzige weit verbreitete prototypbasierte Sprache. Darüber hinaus hat es unter den weit verbreiteten Sprachen eine der besten Unterstützungen für Schließungen. So kann man damit etwas Wertvolles lernen. Schließlich ist es für eine interpretierte Sprache unglaublich schnell.
Andrea
@Llistes_Sugra Wenn Sie diese Meinung ernsthaft vertreten und glauben, wissen Sie nicht genug über JavaScript. Ich empfehle Ihnen, mehr darüber zu erfahren und zu prüfen, ob Sie diese Meinung überarbeiten möchten. Ich bin mir fast sicher, dass Sie es werden
Jay
1

Es gibt andere auf Javascript basierende Technologien, die Sie stattdessen lernen können, wenn Sie möchten. Wenn Sie sie kennenlernen, können Sie zumindest die Syntax von Javascript verstehen, wenn Sie beim Lesen des Quellcodes für Webseiten darauf stoßen. Und lassen Sie es uns zugeben, wir alle sagen, wir werden niemals X machen , aber am Ende tun wir es immer. Zumindest ein bisschen.

Eine gute Javascript-ähnliche Sprache zum Auschecken ist die neue QML- Sprache von Qt , die wie die Syntax javascirpt, aber für eine normale Anwendungs-GUI ist. Es ist sehr interessant, damit zu spielen, und Sie werden etwas Javascript lernen, wenn Sie keine Webseiten schreiben.

Wes Hardaker
quelle
1

Ich wollte dies als Kommentar zu der akzeptierten Antwort hinzufügen, erkannte dann aber, dass es möglicherweise besser ist, als separate Antwort zu dienen. Das heißt, es ist eher eine Ergänzung zur akzeptierten Antwort als eine konkurrierende Antwort.

Skripterweiterung

Für die meisten der großen Sprachen, die Sie in ein System einbetten können, sind viele Javascript-Engines verfügbar. Dies macht es zu einer guten Wahl, um Ihre Plattform mit Skriptfunktionen zu erweitern und Ihre eigene Sprache zu erfinden. Sie erhalten sofort das gesamte Lernmaterial, sodass es viel einfacher ist, Ressourcen für die Konfiguration und Skripterstellung Ihres Systems zu erhalten.

Newtopian
quelle
1

Javascript ist eine großartige Basissprache

Es ist :

  • mächtig
  • leicht zu lernen
  • unterstützt sowohl prozedurale als auch objektorientierte Paradigmen
  • ist schnell zu schreiben und loszulegen
  • popularisiert viele moderne Sprachkonzepte - Closures, anonyme Funktionen, asynchrone / ereignisgesteuerte Programmierung, dynamische Typen / Inferenz
  • hat großartige Tools (Editoren, Laufzeiten, Flusen-Tools, Browser)
  • hat erstaunliche Online-Unterstützung mit vielen aktiven Communities
  • kann mathematische Funktionen ausführen
  • Hat Grafikfähigkeiten (via HTML / Canvas)
  • kann damit Apps schreiben

Ich persönlich halte es für lohnenswert, es zu lernen, auch wenn Sie es nicht täglich anwenden. Es erweitert Ihren Verstand so, dass Sie unterschiedliche Lösungen in Betracht ziehen, wenn Sie andere Sprachen wie C ++ oder C # verwenden - z. B. Iteration versus algorithmische Lösung, dynamische Typisierung und Inferenz.

Ich habe gesehen, dass Leute damit Zahlen / Daten-Dumps schneller knacken als mit professionellen Tools, indem sie ihre Daten in einen HTML-Textbereich einer Seite einfügen, die sie mit etwas JS-Code erstellt haben, um die Daten zu verarbeiten.

Wofür ist es sonst noch gut?

In etwas anderes einbetten:

Alle Unternehmen, für die ich in den letzten 12 Jahren gearbeitet habe, haben sowohl kommerzielle Produkte als auch interne Entwicklungstools entwickelt, die JavaScript (oder einen nahen Verwandten - ECMAScript, ActionScript usw.) als Grundlage verwendeten, da es leicht zu erlernen und leicht zu handhaben war. Integrierte (kostenlose) sofort einsatzbereite Implementierungen (SpiderMonkey und Microsoft Active Scripting SDK) und die Leistung waren anfangs "gut genug" und wurden immer besser.

Bevor jQuery / Prototype und die gesamte AJAX-Bewegung hinzukamen, schien die Wahl von JS nicht naheliegend - warum nicht VBA (shudder), etwas Lex + Yaccables oder Ihre eigene Sprache verwenden? Die Leistungsfähigkeit von JS als Sprache in Kombination mit umfangreichen Widgets / Frameworks bedeutete, dass nicht viel Code geschrieben werden musste, sodass eine Standardlösung attraktiv war, da mehr Aufwand für den Rest des Produkts aufgewendet werden konnte.

Da die Sprache immer leistungsfähiger und schneller wurde, hat sich die Wette auf JS ausgezahlt. Mit mehr Entwicklern, die in der Lage sind, JS zu gewinnen, ist auch die Einstellung einfacher.

JBRWilkinson
quelle