Während meiner jahrelangen Webentwicklung mit JavaScript bin ich zu dem Schluss gekommen, dass es sich um eine unglaublich leistungsstarke Sprache handelt, mit der Sie erstaunliche Dinge tun können.
Es bietet eine Reihe von Funktionen, wie zum Beispiel:
- Dynamische Eingabe
- Erstklassige Funktionen
- Verschachtelte Funktionen
- Verschlüsse
- Fungiert als Methoden
- Fungiert als Objektkonstruktor
- Prototyp-basiert
- Objektbasiert (fast alles ist ein Objekt)
- Regex
- Array- und Objektliterale
Es scheint mir, dass fast alles mit dieser Art von Sprache erreicht werden kann, Sie können auch OO-Programmierung emulieren, da es große Freiheit und viele verschiedene Codierungsstile bietet.
Mit mehr Software-orientierten benutzerdefinierten Funktionen (E / A, Dateisystem, Eingabegeräte usw.) wird es meiner Meinung nach großartig sein, Anwendungen mit zu entwickeln.
Soweit ich weiß, wird es jedoch nur in der Webentwicklung oder in vorhandenen Softwareprogrammen als Skriptsprache verwendet.
Vielleicht wurde es dank der V8-Engine erst kürzlich mehr für andere Aufgaben verwendet (siehe beispielsweise node.js).
Warum ist es bis jetzt nur für die Webentwicklung gedacht? Was hält es von der Softwareentwicklung fern?
Antworten:
Kürzlich hat node.js die serverseitige Entwicklung vorangebracht. So ist es jetzt möglich, JavaScript für die Entwicklung zu schreiben.
Das ist richtig. In der Geschichte wurde es nicht als Entwicklungssprache verwendet. Aber selbst das Skripting in der Client-Umgebung (User Agents) ist eine Art von Entwicklung. Ist es nicht
Der Hauptgrund, den ich in vielen Weblogs gehört und gelesen habe, ist, dass die Menschen bis in die letzten Jahre nichts von seiner Kraft und Einzigartigkeit wussten . Möglicherweise haben andere Sprachen ihre Arbeit gerade gut genug gemacht, und niemand hat jemals daran gedacht, etwas parallel zu machen.
quelle
Von hier :
quelle
Warum?
JavaScript ist die am meisten missverstandene Sprache
Wir waren im dunklen Zeitalter und sind immer noch der allgemeinen Entwicklergemeinschaft einverstanden, dass JavaScript eine leistungsstarke und vielseitige Sprache ist. Es ist einfach kein Mainstream.
Der einzige Fortschritt der letzten Zeit ist, dass node.js zu einem Modewort geworden ist und die Leute anfangen zu akzeptieren, dass Javascript andere Verwendungszwecke hat.
Ich habe die JS & HTML5-Entwicklung für Windows 8 im Auge behalten und die Reaktion der .NET-Community lautete "Lieber Gott, warum?".
Es ist einfach eine Tatsache, dass die meisten Nicht-Webentwickler JavaScript immer noch als die Spielzeugsprache ansehen, die Sie verwenden, um in Ihren Browsern über Menüs zu scrollen.
Allerdings stimmt JavaScript nicht mit "modernen Entwicklungspraktiken" überein. Für mich ist JavaScript immer noch eine Hacksprache, die ich mit vim knacke und das Internet ist meine Dokumentation. Es gibt keine IDE, es gibt keine Entwicklungstools, es gibt keine automatische Vervollständigung oder "Intellisense", es gibt keine GUIs zum Klicken und Ziehen.
In der Welt der Java- und .NET-Entwickler sind sie an ihre GUIs und IDEs gebunden und könnten nicht in vim programmieren.
quelle
Ihre Liste enthält keine Informationen zum Schreiben von Dateien auf das System, was ein wesentlicher Bestandteil der Softwareentwicklung ist.
Die Leute würden nicht daran denken, JS zum Erstellen einer Anwendung zu verwenden, da dies die De-facto-Skriptsprache für das Web ist und Sie immer das richtige Tool für den Job verwenden würden.
Warum sollten Sie mehrere Hektar JS schreiben, um eine Datei zu schreiben, wenn dies in Java / .NET / C / C ++ eine triviale Operation ist?
Wie andere bereits erwähnt haben, haben node.js und seine Bibliotheken serverseitige Operationen trivial gemacht, und mit zunehmender Beliebtheit von node.js wird das Erlernen dieser Funktion zu einer Fähigkeit für einen Lebenslauf, da Sie in der Lage sind, diese zu verwalten, zu erweitern und zu erstellen Anwendungen damit.
quelle
Writing files to the file system has been replaced with HTTP POST.
Nicht, wenn Sie die APIs schreiben, die die Posts verarbeiten.Die meisten gebräuchlichen Sprachen sind leistungsfähiger und besser gestaltet als JavaScript. Alle von Ihnen erwähnten Funktionen werden von anderen dynamischen Sprachen wie Python oder Ruby unterstützt, die insgesamt besser gestaltet sind. Einige der Funktionen, die Sie erwähnen, sind ohnehin nicht unbedingt wünschenswert - viele würden statisches Tippen mit Typinferenz dem dynamischen Tippen vorziehen, wenn Sie die Wahl haben.
Ich sage das nicht, um JavaScript aufzulösen. Ich arbeite sehr gerne mit JS, wenn ich Web entwickle. Aber objektiv gesehen hat JS eine Reihe von Nachteilen im Vergleich zu anderen Sprachen:
Die einzige Funktion, die JavaScript wirklich von anderen modernen Sprachen unterscheidet, ist die prototypbasierte Vererbung (im Gegensatz zur klassenbasierten Vererbung). Der Vorteil dieses Modells ist zweifelhaft, da jeder es sowieso nur zum Emulieren der klassenbasierten Vererbung verwendet.
Es gibt einfach keinen Grund, JavaScript zu wählen, wenn Sie die Möglichkeit haben, eine andere moderne Sprache zu wählen. Der einzige Grund wäre, wenn es die einzige Sprache wäre, die du kennst.
quelle