Dovremo tutti mangiare humble-pie quando ci rendiamo conto che JS è usato per scrivere:
... perché è meglio.
Seriamente, per favore ... ascoltami.
Non sparare al messaggero.
Chiedi a Microsoft perché stanno costruendo Windows 8 con JS come cittadino di prima classe. Oppure il nuovo sistema operativo mobile di Mozilla, o Rivertrail IBM, PhoneGap, ExtJS o WebGL.
Would any of these companies or projects have been successful if the
experts did not find something better in implementation?
The answer is... They did. We did. So the theme here should be clear: there is a
better way.
Ma, meglio è soggettivo: quindi dobbiamo eseguire il drill down e confrontare. Cosa c'è di meglio?
È iniziato con AJAX ... e non si è fermato.
-
IO non bloccante.
Questo è davvero un grosso problema e vale la pena saperlo.
In JS questo è il pattern di callback.
Si scopre che l'utilizzo di callback può abilitare un server non bloccante: Node.js ~ circa 8 righe di codice.
setTimeout () è un callback. Elaborazione asincrona a thread singolo.
-
Flessibilità.
Che cosa?
-Java e C hanno classi e interfacce, ma sono chiamati object-oriented.
JavaScript ha solo oggetti. Ma si chiama ... qualcos'altro.
"Salvare gli oggetti - è una cosa carina per la flessibilità, perché membri e metodi sono completamente dinamici in fase di runtime.
-L'eredità prototipale non è spaventosa. Alcuni esperti lo descrivono come un pacchetto di oggetti.
-JS è amichevole sugli errori.
-Codice può mescolarsi per dare origine a Composite-Components, senza molto sforzo, o conoscenza di ... 'interfacce', 'astrazione', 'ereditarietà', 'incapsulamento', 'polimorfismo'. Cose buone, ma come la Nike, in JS; lo fai e basta.
-
Data-Traduzione.
Con JSON, gli oggetti possono essere trasferiti front-to-back, back-to-front. Nessuna traduzione di dati XML. JSON è chiaramente semplice.
-
Curva di apprendimento bassa.
È possibile tagliare e incollare codice estremamente complesso, quindi eseguirne il debug in modo definitivo. Sento un collega ... "noobs". Ma non è solo per i noobs.
- Si scopre che questa è una funzionalità davvero interessante per la prototipazione rapida. E i siti stanno spuntando ovunque che fanno leva su questa cosa del design-in-browser, e più ampiamente; runtime-prototipazione. Acquista JSFiddle e CodePen, anche MicroJS. GitHub.
Like Transformers, with JS, there is more than meets the eye.
It is a big deal.
AGGIORNAMENTO: dal momento che questo JavaScript viene ora utilizzato ampiamente da altre lingue.
In Java - check out Nashorn.
In C++ - check out Emscripten, or ASM.
And there are many more.
The big surprise since the original writing of this answer was JS cross-compilation.
It turns out that many languages can be compiled to JS.
And the community is encouraging that... CoffeeScript, Dart, etc.
This is not my specific area of expertise, but it is going on in big ways.
Simply put, we just don't know how the dynamism of JS is going to hash out yet.