Todos tendremos que comer pastel humilde cuando nos demos cuenta de que JS se está utilizando para escribir:
... porque es mejor
En serio, por favor ... escúchame. No le dispares al mensajero.
Pregúntele a Microsoft por qué están creando Windows 8 con JS como ciudadano de primera clase. O el nuevo sistema operativo móvil de Mozilla, o Rivertrail, PhoneGap, ExtJS o WebGL de IBM.
¿Alguna de estas empresas o proyectos habría tenido éxito si los expertos no encontraran algo mejor en la implementación?
La respuesta es ... Lo hicieron. Lo hicimos. Entonces, el tema aquí debería ser claro: hay una mejor manera.
Pero, mejor es subjetivo: por lo tanto, debemos profundizar y comparar. ¿Qué es mejor?
Comenzó con AJAX ... y no se ha detenido.
IO sin bloqueo. Este es un gran problema y vale la pena saberlo. En JS, este es el patrón de devolución de llamada. Resulta que el uso de devoluciones de llamada puede habilitar un servidor sin bloqueo: Node.js ~ aproximadamente 8 líneas de código. setTimeout () es una devolución de llamada. Procesamiento asincrónico de subproceso único.
Flexibilidad. ¿Qué? -Java y C tienen clases e interfaz, pero se denominan orientadas a objetos. JavaScript solo tiene objetos. Pero se llama ... algo más.
Tener solo objetos es bueno para la flexibilidad, porque los miembros y los métodos son completamente dinámicos en tiempo de ejecución. -La herencia prototípica no da miedo. Algunos expertos lo describen como un paquete de objetos. -JS es amigable con los errores. -Code se puede mezclar para dar como resultado componentes compuestos, sin mucho esfuerzo, o conocimiento de ... 'interfaces', 'abstracción', 'herencia', 'encapsulación', 'polimorfismo'. Cosas buenas, pero como Nike, en JS; Solo hazlo.
Traducción de datos. Con JSON, los objetos se pueden transferir de adelante hacia atrás, de atrás hacia adelante. No hay traducciones de datos XML. JSON es claramente simple.
Curva de aprendizaje baja. Es posible cortar y pegar código extremadamente complejo, y luego depurarlo para que exista. Escucho a un colega ... 'noobs'. Pero no es solo para novatos.
-Resulta que esta es una característica realmente agradable para la creación rápida de prototipos. Y están apareciendo sitios que aprovechan este diseño en el navegador, y más ampliamente; tiempo de ejecución de prototipos. Verifique JSFiddle y CodePen, también MicroJS. GitHub.
Like Transformers, with JS, there is more than meets the eye.
It is a big deal.
ACTUALIZACIÓN: dado que esta publicación, JavaScript ahora es utilizado ampliamente por otros idiomas.
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.