Vengo de un fondo de biología científica donde también usamos mucho Python.
Ahora que he comenzado a comenzar con el desarrollo web, me he preguntado constantemente por qué JavaScript es el lenguaje principal del lado del cliente en la Web.
¿Es el predominio de JavaScript un accidente histórico o algo más? Además, tengo curiosidad si hay algún obstáculo para integrar Python en las secuencias de comandos del lado del cliente.
javascript
python
history
client-side
rd108
fuente
fuente
vote to close
si crees que esto está fuera de tema. Si los demás sienten lo mismo, ellos o un moderador seguirán su ejemplo.Respuestas:
JavaScript fue el primer lenguaje de secuencias de comandos que se puso a disposición en un navegador web popular, por lo que se implementó casi universalmente. Al ser el único lenguaje de programación disponible en todos los navegadores populares, no había más remedio que ser el lenguaje de programación predominante del lado del cliente.
Internet Explorer implementó JavaScript de una manera que permite motores de script conectables (vino con VBScript y JScript). Si prefería (como lo hice) escribir su código en PerlScript o PythonScript, podría hacerlo, pero todos sus clientes tenían que tener ese lenguaje de script instalado y tenían que usar IE. Podrías hacer esto para proyectos internos, pero no hay forma de que funcione en Internet.
fuente
JavaScript fue creado originalmente por Brendan Eich. Se envió por primera vez con la versión beta de Netscape Navigator 2.0 en septiembre de 1995 como LiveScript, pero pasó a llamarse JavaScript en un anuncio conjunto con Sun Microsystems en diciembre de 1995. Fue solo más tarde (en 1996) que JavaScript se envió a Ecma International y finalmente se convirtió en El ECMAScript estandarizado.
Su dominio actual del mercado se debe en gran medida a la inercia histórica.
Fuente: http://en.wikipedia.org/wiki/JavaScript#History
fuente
No estoy seguro, pero es un lenguaje de secuencias de comandos ligero y del lado del cliente. Creo que sus orígenes se encuentran en los primeros navegadores Netscape (aunque podría estar equivocado). De hecho, su nombre mismo fue cambiado antes del lanzamiento para incluir la palabra "java" a pesar de que no tenía nada que ver con java. Fue una táctica rápida para ganar popularidad en ese momento.
fuente
Estoy seguro de que tiene mucho que ver con la historia.
Pero también estoy seguro de que no quiero que los sitios web puedan ejecutar lenguajes de programación con todas las funciones como python en mi navegador. Las implicaciones de seguridad me asustarían de cualquier sitio como ese (o tendría que estar muy seguro de que el entorno limitado del navegador era hermético).
fuente
"¿Es el predominio de JavaScript un accidente histórico o algo más?"
Personalmente, opino que el éxito de JS es una cuestión de diseño tanto como muchos lo han sido y seguirán siendo reacios a admitirlo y no solo por algún accidente o simplemente por el hecho de que fue el primer niño en el patio de recreo.
Aunque llamado así para atraer a los desarrolladores de Java y sintaxis como la sintaxis basada en C de Java también para atraer a los desarrolladores de Java, Brendan Eich tomó una de las decisiones más rudas en la historia de la WWW, que se basó principalmente en Scheme para la mecánica del lenguaje real inspiración, que es algo que a los desarrolladores de Java no parece gustarles en absoluto (lo cual me parece muy divertido).
JavaScript utiliza una herencia prototípica altamente flexible / granular para OOP, tiene cierres, los tipos son 100% dinámicos, las funciones en sí mismas son de primera clase, lo que les permite pasar como cualquier otro objeto o tipo de datos y reutilizarse en diferentes contextos e incluso se aplican a los objetos sobre la marcha como si hubieran sido declarados como miembros reales del objeto desde el principio. Prácticamente es un grito ser utilizado para arquitecturas controladas por eventos que necesitan normalizar una tonelada de basura patentada o manejar problemas de IU altamente no lineales.
Al final de los albores de la web, es el único lenguaje que ha sido capaz de normalizar los navegadores a través de una guerra real de navegadores donde Netscape e IE intentaron hacer las cosas de manera diferente a propósito, seguidos por más de 10 años de navegador tregua donde IE simplemente hizo las cosas de manera diferente porque la EM es perezosa y está arraigada en algunas prácticas anticompetitivas justamente estúpidas que resultan en el estancamiento del navegador, y ahora en un mundo en el que los navegadores finalmente comienzan a ponerse de acuerdo sobre la misma especificación general con respecto a HTML, CSS y la API DOM con IE solo están 2-3 años detrás de los últimos desarrollos en lugar de 10 debido a que Google y Mozilla destruyeron los compiladores JIT que hicieron que los números de rendimiento de IE parecieran tan patéticos, MS finalmente se avergonzó de modernizar adecuadamente sus malditos navegadores.IE9 es el primero en actualizar seriamente el soporte de la API DOM a los niveles que Netscape soportaba en 2000.
JS ha tenido competencia en forma de Applets de Java y ActionScript de Adobe para Flash. Eso es todo en el frente serio contendiente. MS intentó presionar a VB pero falló miserablemente porque ... bueno ... VB. Además, propietario. En realidad, había muchos más sitios Flash de lo que la mayoría de la gente piensa. Simplemente no podía encontrar las cosas tontas con los motores de búsqueda. Los applets hicieron lo suyo, y fue feo. Realmente feo. JS fue el único lenguaje que realmente abordó el problema de trabajar en el contexto de múltiples navegadores por personas que no estaban de acuerdo con quién estaba estableciendo las especificaciones con las que se suponía que debían coincidir.
En los últimos años, JS ha estado explotando en un dominio de aplicación mucho más amplio. En combinación con otras tecnologías web, está diseñado para eliminar básicamente todas las demás soluciones en el frente móvil, ya que la tecnología web + es realmente la única opción realista en este momento si realmente desea escribir una aplicación y hacer que funcione en todo.
Así que no, y sí, soy un gran admirador, pero no creo que haya golpeado a todos los demás contendientes del lado del cliente por accidente, ya que ahora se puede considerar un accidente explosivamente popular fuera del navegador. Antes de JS, no había muchos lenguajes tipo Scheme que no fueran principalmente académicos. Esto le dio a JS algunas ventajas poderosas y las necesidades únicas del lado del cliente hicieron posible que esas ventajas se volvieran cristalinas lentamente.
fuente