2012-01-20 10 views
51

¿Por qué los navegadores no añaden soporte para, por ejemplo, scripts de Python como alternativa a Javascript? O más lenguajes de scripting de propósito general? ¿Hay alguna razón por la cual Javascript es el único implementado en todos los navegadores? Después de todo, la etiqueta del script tiene soporte para especificar el lenguaje de scripting utilizado.¿Por qué javascript es el único lenguaje de scripting del lado del cliente implementado en los navegadores?

(sé que hay un apoyo VBScript en Internet Explorer, pero parece obsoleto para todos los efectos.)

+0

Esto es una especie de pregunta duplicada, vea: http: // stackoverflow.com/questions/340019/what-are-the-best-client-side-scripting-languages-out-there – nycynik

+2

@TomaszNurkiewicz He visto a Dart. Pero luego surge la pregunta: ¿por qué inventar un lenguaje de scripting completamente nuevo para esto cuando los navegadores no son compatibles con los lenguajes de scripting populares existentes? –

+2

IE aún es compatible con vbscript. Dudo que se use mucho más, tal vez en alguna intranet corporativa. – gilly3

Respuesta

36

Bueno, Google está tratando de vencer esa tendencia con Dart. La comunidad no ha sido del todo receptiva a la idea; ya sea.

Google proposed adding multiple VM support for Webkit que no cayó muy bien.

Un comentario particular, lo resumió muy bien por qué ha habido una cierta resistencia a que:

En este caso la función es la exposición de los lenguajes de programación adicionales para la web, algo sin ningún beneficio real a cualquier otra que fanáticos del actual lenguaje "más impresionante" (no hace mucho tiempo que podría haber sido Go, hace un año o más, esto habría sido ruby, antes que python, recuerdo que un breve aumento en la popularidad de Haskell no hace tanto tiempo también , Lua ha estado a la vuelta de la esquina durante mucho tiempo, en este caso es Dart, ¿quién puede decir que no habrá un lenguaje completamente diferente en boga en 6 meses?), Pero a un costo fragmenta la web y agrega un carga de mantenimiento adicional sustancial - solo mantener las vinculaciones v8 y jsc no es trivial y son para el mismo idioma.

El problema aquí no es "¿podemos hacer que varios vms en vivo en webkit" es "podemos exponer múltiples idiomas a la web", a la primera digo obviamente como ya lo hacemos, a la última digo que nos no quiero.

A menos que deseemos convertir webkit en el motor que todos odian debido a todas sus características únicas que rompen la web abierta, ciertos navegadores a finales de los 90.

CoffeeScript es otro ejemplo de un lenguaje emergente de scripting del lado del cliente. Sin embargo, en lugar de admitir otra máquina virtual en un navegador (como Google intenta hacer con Dart), se compila en JavaScript. Hay varios otros "compilar X a JavaScript" que hacen eso también. emscripten es un buen ejemplo de cómo compilar LLVM a JavaScript.

De modo que hay muchos otros idiomas de cliente; todos usan JavaScript como intermediario. Yo diría que debería ser lo que Dart también hace, aunque they have some room to improve.

+13

Por lo tanto, admitir más idiomas se considera estar en contra de la web "abierta" ... ¡La ironía! –

+0

el problema es que los navegadores necesitarían implementar un nuevo intérprete para cada idioma nuevo, a menos que ... – PedroD

+0

"cualquier beneficio real para cualquier persona que no sean fanáticos del actual lenguaje" más impresionante "(no hace mucho tiempo que podría haber sido Go Hace aproximadamente un año, esto habría sido ruby, antes que python, recuerdo una breve oleada de haskell ... "- Entonces estos lenguajes son viejos y javascript es el lenguaje más moderno. Javascript es, era y será el lenguaje más increíble que todo el mundo usará felizmente en los próximos 100000 años. ¡¡¡Súper !!! ¡Nos encanta el javascript porque los navegadores más importantes lo admiten! – les

1

Debido JavaScript es lo que cualquier otro navegador compatible, y los proveedores de navegadores tenía dos prioridades principales:

  1. Asegurarse de que las páginas web existentes funcionen (lo que requiere JavaScript)
  2. Permitir que los autores visualicen en su navegador cosas que los usuarios no podrían ver en otros navegadores (el cambio del lenguaje de programación estaría completamente oculto para los usuarios, excepto cuando se rompió).
+5

Eso no es un argumento, pero una falacia lógica. Básicamente, estás diciendo "X, porque X". Razonamiento circular simple, y por lo tanto inválido. Además, es una falacia clásica de "apelación a la mayoría". – Evi1M4chine

+9

hablando de lógica, corrige que tu comentario es, pero hablando de realidad y mercados, corrige que no es así. – flow

+1

Si le suena lógico y razonable por qué no apoyar en lugar de admitir que los mercados son ilógicos y la realidad apesta, tal vez sí, pero me gustaría esperar que podamos arreglar las cosas. –

4

Internet Explorer es compatible con cualquier Windows Script Engine, por lo que puede hacer que sea compatible con cualquier idioma que se haya implementado como uno, o escribir el suyo.

Cuestiones relacionadas