¿Por qué hoy solo se admite JavaScript y algunos VBScript en los navegadores? Sé que JavaScript es bueno y todo, pero ¿no tener la opción de usar otro lenguaje de programación ayudaría a promover diferentes estilos de desarrollo?
web-development
javascript
browser
Eric Packwood
fuente
fuente
Respuestas:
No es necesario agregar soporte para varios idiomas, una solución sería estandarizar un código de bytes genérico que podría ser utilizado por los implementadores de idiomas. Pero actualmente no hay planes para esto (se ha sugerido).
Los idiomas también se pueden implementar sobre Javascript. Javascript es lo suficientemente bueno como para permitir que otros idiomas se implementen encima. Y ya hay muchos ejemplos de esto.
fuente
<script type="text/cpp" src="test.cpp"></script>
.JavaScript es el estándar de facto y lo ha sido desde 1996. Ser un estándar simplemente porque no hay competencia no es exactamente justo, pero no he escuchado muchas quejas sobre por qué no se incluye otro idioma.
Agregar otro lenguaje "estándar" promueve todo tipo de pequeños problemas divertidos.
fuente
Piense en las inconsistencias entre los navegadores por su soporte solo de JavaScript. Ahora piense en cómo sería si hubiera más idiomas.
fuente
Los navegadores tienen que estar estandarizados, para que lo que desarrolles funcione en todas partes, en todos los navegadores.
Si tiene varios idiomas dando vueltas, entonces debe asegurarse de que todos funcionen de manera muy similar. Si usted es un desarrollador web y tiene una selección de idiomas, que pueden o no ser compatibles en algunas ubicaciones, entonces eso es un dolor de cabeza adicional.
Javascript es un lenguaje muy flexible, es imperativo, es funcional, puede ser POO (de una manera con prototipos), y se interpreta. Ahora con motores decentes como en Chrome, es razonablemente capaz de hacer algunas cosas buenas. Los idiomas adicionales simplemente establecerían las cosas aquí, mire VBScript, solo IE, y todo lo que esté escrito en él está vinculado a un navegador y plataforma en particular, pesadilla.
fuente
En lugar de construirlos en navegadores, a los proveedores les gusta construir complementos de navegador torpes: Java, Flash, Silverlight, etc. Esto garantiza la coherencia entre plataformas.
fuente
Una de las razones es que es prácticamente imposible que diferentes proveedores de navegadores lleguen a un acuerdo sobre una implementación estándar de Javascript y Javascript ha existido desde siempre, al menos desde la perspectiva del lenguaje web. Por lo tanto, la mayoría de la gente piensa con razón que introducir otro lenguaje del lado del cliente en el ecosistema y lograr que todos los proveedores lo respalden es prácticamente imposible y la mayoría de las personas que podrían hacerlo realidad ya están involucradas en problemas de estandarización de Javascript, lo que creo que es mucho mejor. uso de su tiempo.
fuente
Aquí hay varias respuestas que afirman que admitir varios idiomas haría muy odioso para los creadores de navegadores web asegurarse de que cumplen con todos los idiomas. Para mí esto parece incorrecto.
Java, por ejemplo, es un estándar extremadamente bien definido. Esencialmente, todo lo que necesita hacer es exponer el DOM del navegador como una API de Java y ejecutar la Máquina virtual Java (JVM) dentro de su navegador web. Puede especificar que el código de secuencias de comandos tenga que entregarse en forma de archivos JAR compilados y firmados, o como código fuente JavaScript. Si el navegador encuentra JavaScript, podría ejecutarlo a través de un intérprete dedicado (como lo hace hoy) o a través de Rhino en la parte superior de la JVM. Si encuentra archivos jar, crea un nuevo cargador de clases y un entorno limitado de seguridad, carga el código de bytes de Java en la memoria y lo ejecuta. Esto sería completamente compatible con las páginas web existentes y permitiría que el navegador, con un solo trazo, admitiera docenas de idiomas que se ejecutan en la JVM.
Otras ventajas:
fuente
Creo que JavaScript va a ganar aún más terreno como el lenguaje estándar para la Web. Estamos viendo un aumento en JavaScript del lado del servidor. Aquí hay algunos ejemplos de implementaciones de este poderoso lenguaje en el servidor:
POW Web Server SJS : JavaScript del lado del servidor para el servidor web POW, que se ejecuta como una extensión de Firefox o como una aplicación XULRunner. SJS juega un papel similar al de PHP en Apache en que puede conectarse a bases de datos y generar contenido del lado del cliente.
NodeJS : JavaScript del lado del servidor que utiliza un modelo basado en eventos. Está construido con el motor JavaScript V8 de Google . NodeJS se anuncia como una herramienta para crear programas de red escalables. ¡Un servidor web "Hello World" se puede escribir en solo 6 líneas cortas!
Jaxer : un servidor JavaScript que interpreta todos los bloques de script con
runat="server"
JavaScript del lado del servidor. Las aplicaciones web completas se pueden escribir en JavaScript.Rhino - JavaScript para Java - Mozilla creó esta implementación de JavaScript del lado del servidor que se ejecuta en Java. Es esencialmente un concepto similar a Querces PHP para Java , Jython, JRuby y muchas otras abstracciones de otros lenguajes que se ejecutan en la JVM. Rhino generalmente se usa para incrustar JavaScript en Java para proporcionar herramientas de secuencias de comandos a los usuarios finales, pero también se puede usar para mover el código del lado del cliente al servidor sin tener que volver a escribir la lógica de negocios en otro idioma.
JQuery Claypool : marco de JavaScript del lado del servidor que utiliza el poder de JQuery en el servidor. ¡Muy genial! Está desarrollado utilizando la implementación de JavaScript del lado del servidor EnvJs de un navegador.
EnvJs : un navegador sin cabeza construido sobre Rhino.
Lo que demuestran muchas de estas implementaciones y marcos es que JavaScript se está convirtiendo en una fuerza tan poderosa en el desarrollo web que los líderes de la comunidad ya han comenzado a mover JavaScript al servidor. JavaScript es un lenguaje de programación funcional extremadamente poderoso, y con el paso del tiempo creo que lo veremos evolucionar.
En resumen, parece una contradicción portar los otros idiomas al navegador cuando, en cambio, podemos portar este único idioma del navegador al servidor y cerrar esa brecha de una manera más unificada.
fuente
Hay varios ejemplos de herramientas que compilarán otros lenguajes para javascript, incluidos Haskel, Lisp y Python (probablemente otros). Entonces, si desea trabajar en uno de esos idiomas, puede hacerlo.
Y creo que uno de mis profesores de la universidad escribió un esquema de implementación en Javascript. Entonces, si te gusta el esquema, puedes hacerlo también.
fuente
La gente ha trabajado en torno a la falta de variedad incorporada de dos maneras: usando complementos como flash o applets de Java, y creando capas que usan JavaScript como su "código de máquina", como jquery o kit de herramientas web de google. Si hubiera un nuevo estilo de desarrollo lo suficientemente popular, las personas encontrarían la forma de introducirlo.
Solo tenga en cuenta que si realiza un tiempo de ejecución .net en javascript, y alguna vez se vuelve popular, ciertos círculos maldecirán su nombre en Internet para siempre.
fuente