Dovremo tutti mangiare humble-pie quando ci rendiamo conto che JS viene utilizzato 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. O il nuovo sistema operativo mobile di Mozilla o IBM Rivertrail, PhoneGap, ExtJS o WebGL.
Una di queste aziende o progetti avrebbe avuto successo se gli esperti non avessero trovato qualcosa di meglio nell'attuazione?
La risposta è ... Lo hanno fatto. Noi facemmo. Quindi il tema qui dovrebbe essere chiaro: esiste un modo migliore.
Ma meglio è soggettivo: quindi dobbiamo approfondire e confrontare. Cos'è 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 modello di callback. Si scopre che l'uso dei 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 interfaccia, ma sono chiamati orientati agli oggetti. JavaScript ha solo oggetti. Ma si chiama ... qualcos'altro.
-Avere solo oggetti è una buona cosa per la flessibilità, perché membri e metodi sono completamente dinamici in fase di esecuzione. -L'eredità prototipale non fa paura. Alcuni esperti lo descrivono come un pacchetto di oggetti. -JS è amichevole sugli errori. -Codice può mescolarsi insieme per produrre componenti compositi, senza molto sforzo o conoscenza di ... "interfacce", "astrazione", "eredità", "incapsulamento", "polimorfismo". Cose buone, ma come Nike, in JS; lo fai e basta.
Data-Traduzione. Con JSON, gli oggetti possono essere trasferiti da un lato all'altro, da un lato all'altro. Nessuna traduzione di dati XML. JSON è chiaramente semplice.
Bassa curva di apprendimento. È possibile tagliare e incollare codice estremamente complesso, quindi eseguirne il debug. Sento un collega ... "noobs". Ma non è solo per i noob.
-Si scopre che questa è una funzionalità davvero interessante per il prototipo rapido. E i siti stanno spuntando dappertutto che sfruttano questa cosa del design nel 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: poiché questo post JavaScript è ora ampiamente utilizzato 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.