¿Por qué no hay un lenguaje alternativo y más limpio que no sea Javascript para la aplicación web?

Porque JS está incrustado en todos los navegadores.
Las alternativas son complementos o se implementan solo en algunos navegadores.

IE está en uno de ellos. Microsoft ha gastado muchos recursos para promover en el pasado BasicScript como una alternativa a JS, y también Silverlight como complemento. Y ambos han fallado. (Y antes de que probaran ActiveX …)

JavaScript es un lenguaje maravilloso.

Es simple para quienes quieren verlo de esa manera: puede agregar algunas funcionalidades básicas a un documento web, navegar y manipular algunos elementos, sus estilos CSS, hacer algunas validaciones de clientes …

Pero también puede ser muy complejo: amable u orientado a objetos sin clases, basando su herencia más en prototipos, capaz de crear objetos sobre la marcha, interpretándolos y también transformándolos en tiempo de ejecución.

Es totalmente tolerante a los errores, no matará su página, navegador o computadora, no tendrá que reiniciar nada si el programador cometió un error.

Y es muy seguro: los estándares JS se han creado de tal manera que el programador malicioso no puede hacerse cargo de su computadora y sus archivos.

Hay muchos marcos en servidores públicos, listos para ser descargados directamente en su aplicación con un código mínimo (marcado), agregando un gran valor a su página: estilos y animaciones flexibles, acceso a datos, programación y patrones de prueba …

Hay alternativas que puedes compilar en JavaScript. Muchos de ellos mantienen asignaciones de código, por lo que es bastante útil depurar.

  • Scala – Scala.js
  • Ruby – Compilador de Ruby a JavaScript
  • Typecript – TypeScript – JavaScript que se escala.
  • CoffeeScript – CoffeeScript
  • Java – Proyecto GWT
  • La lista completa está aquí: jashkenas / coffeescript

Nadie te obliga a escribir en JavaScript. Tiene que estar en el navegador, es cierto, pero no tiene que producirlo manualmente.

Recientemente creé https://puzzle25.com con Scala.js y estoy muy contento con la elección.

Así es el quid del desarrollo de Javascript. Existe principalmente debido a su ubicuidad, de la misma manera que existen los lenguajes propietarios. Existe porque la gente tiene que usarlos.

El problema básico de Javascript es que es Javascript. Es un lenguaje como C que le da suficiente cuerda para ahorcarse, es quisquilloso, no tiene mucho control, tiene paradigmas difíciles de entender y asimila a los desarrolladores de nivel medio, no funciona de muchas maneras como usted Lo esperaría si vienes de otros idiomas. Y hay absolutamente una razón por la cual hay tantos transpiladores de otros dialectos a Javascript. Javascript es horrible de escribir debido a la razón exacta por la que ha sido pirateado exclusivamente para uso web durante tanto tiempo. Si Javascript se desarrolló como Nodo desde el principio.

Pero, ¿por qué no hay alternativa? ¿Porque quién lo va a patrocinar? ¿Cuánto tiempo tendrá que admitir Javascript Y otro idioma (o varios idiomas)? Por mi parte, me encantaría obtener Lua como el idioma central de cada aplicación web, porque compartiría los mismos paradigmas que tendría con Javascript, pero el lenguaje es infinitamente más limpio, más pequeño y más fácil de digerir.

¿Pero por qué no lo hacemos? Porque lleva demasiado tiempo. Hay demasiado trabajo, demasiado código escrito en Javascript. Sin una gran agrupación pensativa que se agrupe y abandone masivamente Javascript, no hay forma de que suceda orgánicamente, y dada la fragmentación y el deseo de que todos hagan JavaScript a su manera, no veo que eso suceda en los próximos 5 a 7 años. . Javascript y el front end se mueven muy lentamente, piratean demasiado y eventualmente se van a quemar por fragmentación y un lenguaje base pobre sobre el cual construir.

No vi el montaje web mencionado. Todavía no está disponible en producción el webassembly, un proyecto con más de 600 confirmadores y soporte de los principales fabricantes de navegadores. El grupo de la comunidad de WebAssembly está alojado por w3c. El proyecto en sí está en github. No creo que haya ningún movimiento actual hacia la estandarización por parte de ningún organismo que sea apropiado dada la etapa en la que se encuentra.

webassembly sirve como objetivo para los compiladores (C, C ++, Java, JavaScript, Dart, etc.) en lugar de ser un lenguaje de código fuente.

Puedes jugar con webassembly en varios navegadores. Vea su página para la lista ya que sigue cambiando.

Puede TRANSPILAR desde cualquier idioma que desee, pero el único tiempo de ejecución de idioma para los navegadores web es JsvaScript. ¡No pretendamos que hay alternativas!

¿Por qué esto es tan? JavaScript es solo un lenguaje de tiempo de ejecución que se ejecuta de manera estándar en todos los navegadores. A lo largo de los años, muchas compañías han intentado incorporar otros idiomas en el navegador, pero esto siempre ha sido un conflicto de intereses entre las empresas competidoras y los “estándares web”, que se supone que son de alguna manera más nobles y ubicuos.

Cuando las grandes empresas intentaron ejecutar la hoja de ruta de JavaScript a principios de la década de 2000, ECMAScript v4 se descartó y tuvimos que esperar 5 años para ver el progreso.

Las “guerras del navegador” han arrasado el terreno en el que nos encontramos.