He visto a muchos programadores hablar sobre la próxima insignificancia que tendrá JavaScript en el futuro con respecto al desarrollo web. ¿Qué tan cierto es esto teniendo en cuenta las documentaciones, la comunidad y los marcos que tiene JavaScript?

Pude ver un par de caminos donde esto podría suceder. Uno es un lenguaje que compila a JS eficiente. Es decir, parte de la propuesta de valor del lenguaje es que los creadores del lenguaje conocen JS mejor que usted y mantendrán el lenguaje compilando (o más bien transpilando) a la versión más eficiente disponible. Aprendes su idioma una vez y se ocupan de los detalles. Agregue algunos beneficios adicionales y tendrá un caso decente. Elm hace esto, pero si bien puede ser útil por derecho propio, no es necesario ni suficiente para lograr el cambio que los “muchos programadores” a los que te refieres podrían buscar. También podría argumentar que todavía es JS. Eso es cierto, pero debajo de eso son todos los 1 y 0, pero nadie afirma estar programando en código máquina. Bueno, tal vez unos pocos hobbiests o gente súper técnica.

El otro camino es mucho más en el subjuntivo. Fueron suficientes las personas adecuadas para considerar que la web en sí misma está bastante rota y necesita una actualización, una que JS no es adecuada para manejar, esto podría suceder. Algunos de esos problemas y actualizaciones pueden ser en forma de enlaces con fechas de vencimiento, seguridad, deshacerse del DOM (que es más de la mitad de por qué las personas parecen odiar a JS), lo que permite capacidades altamente útiles y deseadas (digamos AR o VR) y así.

  1. El problema con esto es que es muy probable que sea compatible con JS para evitar el problema de que la mayor parte de la web se rompa inmediatamente y lo que luego se consideraría navegadores heredados que solo podrían mostrar las cosas viejas.
  2. Es probable que la nueva solución deba ser algo que JS no pueda hacer para superar la inercia de millones y millones de líneas de JS que están en uso. Pero (y aquí está el problema), JS es un lenguaje completo de Turing … puede. Hombre, justo cuando pensabas que íbamos a llegar a alguna parte.

Puede contrarrestar eso al igual que con DOCTYPE, podría haber algún indicador que le diga a un navegador mejorado que use el nuevo hotness en lugar del JS viejo y roto. Completamente posible, pero significaría el doble del trabajo para el codificador moderno. Escríbelo en JS (más todas las tecnologías adicionales), luego escríbelo en el nuevo hotness.

La presentación PyCon 2014 de Gary Bernhardt El nacimiento y la muerte de JavaScript es la mejor respuesta a esta pregunta que he visto.

Los dos aspectos más importantes de un lenguaje del lado del cliente son el rendimiento y la seguridad. Las IU deben estar libres de latencia y deben estar aisladas de los recursos en el cliente que el servidor no tiene derecho a mirar.

Esas no son características de un lenguaje, son características de su implementación. En este momento, el motor V8 es el sandbox más seguro disponible por un gran margen. (Ciertamente es lo suficientemente rápido, aunque como cualquier cosa, podría ser más rápido).

Pero es increíblemente difícil escribir código malicioso para un motor que ha sufrido tanto escrutinio como V8. (No me crean: miren los argumentos de Kenton Varda en Introducing Cloudflare Workers: Run JavaScript Service Workers at the Edge, publicado este jueves).

Alguien podría idear la tecnología más asombrosa imaginable para expresar y ejecutar la lógica del lado del cliente, pero hasta que miles de ingenieros hayan pasado una década buscando y reparando errores y vulnerabilidades en su implementación, no será algo para lo que sea seguro. mil millones de personas para usar en sus computadoras. Ese es realmente el desafío que enfrenta cualquiera que desee reemplazar JavaScript.

JavaScript simplemente ganará más y más impulso. La razón es que todos los problemas principales con JavaScript (esto, falta de espacio de nombres, alcance de bloque) se han resuelto con versiones más recientes de JavaScript. Mientras tanto, las características del lenguaje de JavaScript (herencia prototípica, dinámica y tipada libremente) de las que la gente se queja son solo eso, características que son útiles para ciertos casos de uso. Otras características (IDE incorrecto, estándares de codificación, etc.) se resuelven con herramientas de terceros.

No se producirá un reemplazo real de JavaScript debido a la necesidad de un paso de compilación intermedio y la complejidad que conlleva. Los navegadores admiten JavaScript, la web siempre será compatible con versiones anteriores (imagine que su navegador NO puede ejecutar páginas web anteriores), por lo que JavaScript siempre estará disponible. El mejor (o peor) caso es que JavaScript obtiene un competidor en el navegador. Pero considere esto: React Native, supuestamente desarrollado como una solución integral para un refugio multiplataforma, requiere JavaScript. Mientras tanto, los “reemplazos” de JavaScript se compilan en JavaScript, pero siempre es bueno saber cómo funciona la compilación y cómo funciona JavaScript para depurar problemas. Y así sigue y sigue, sigue y sigue. ¿Por qué es esto? Porque necesitas un lenguaje de script. También podría elegir el más común.

Una vez que admite que necesita un lenguaje de script para un determinado caso de uso, todos los problemas con JavaScript se convierten en males necesarios. Puede ser un PITA, puede ser horrible, puede ser terrible, pero tiene sus usos.

También te guste o no, la escritura suelta permite una creación de prototipos más rápida y un desarrollo más rápido en general. Por lo tanto, incluso hay un caso de negocios molesto para JavaScript … es decir, siempre habrá un millón de novatos de JavaScript para contratar porque aprender un lenguaje de secuencias de comandos es más fácil (no dominar, sino aprender) y el diseño de desarrollo y el tiempo de comercialización generalmente serán más rápido al ignorar los tipos y tratar todo como una cadena. Esta es la razón por la que JavaScript es popular en las startups, donde el dinero puede quedarse sin dinero.

Ignore JavaScript bajo su propio riesgo (si desea evitar trabajos webdev específicamente). Hoy, si desea un trabajo webdev o un trabajo como desarrollador junior, debe conocer JavaScript y su ecosistema, y ​​esto será cierto durante muchos años. Solo puede permitirse ignorar JavaScript si tiene una muy buena educación / experiencia / experiencia y puede elegir sus trabajos.

Hasta ahora, JavaScript ha sido el único lenguaje que se puede ejecutar en el navegador y todavía no se han recibido noticias sobre una próxima alternativa a JS. Y si lo hubiera, tomaría años de optimización para que la alternativa ofrezca la velocidad y seguridad similares a las de JS.

Hay lenguajes que se trasladan a JS como TypeScript, Kotlin, etc. Todos ofrecen algo que JS no tiene: TypeScript ofrece seguridad de tipos, tipos opcionales; Kotlin ofrece sobrecarga del operador, etc., etc. Estos lenguajes son geniales, pero hay inconvenientes: la configuración del proyecto lleva tiempo, la compilación a JS lleva tiempo, etc.

Algunos de los lenguajes que se compilan en JS, como CoffeeScript, incluso mueren eventualmente, porque a medida que se incorporan nuevas funciones en JS, esos lenguajes pierden su valor porque ya no tienen nada que ofrecer.

De hecho, JS tenía sus desventajas como: código asíncrono horrible o Callback Hell, pérdida de velocidad cuando se usa try-catch, promesas, etc. Ahora, los problemas de pérdida de velocidad se han solucionado y puede administrar fácilmente las operaciones asíncronas en JS con async / waitit o generadores que están disponibles en casi todas partes ahora.

La comunidad está creciendo, se están desarrollando nuevas especificaciones de JS, JS incluso se está utilizando en el desarrollo de aplicaciones móviles (por ejemplo, reactivo nativo), desarrollo de aplicaciones de escritorio (electrón).

Espero que lo anterior te haya convencido lo suficiente de que JS no va a desaparecer pronto.

La gente se ha estado quejando de la insignificancia de JavaScript durante años.

Honestamente, nunca debes estar atado a un idioma porque ¿quién sabe qué puede pasar? Lo que es más importante es poder adaptarse.

Puedo decir con certeza dada la comunidad de JavaScript y los planes futuros, no creo que JavaScript desaparezca pronto. En todo caso, seguirá evolucionando.

Bueno, si los deseos fueran caballos …

Aparte de eso, JavaScript tiene una comunidad muy sólida , excelente documentación en toda la web, tutoriales gratuitos en todas partes, en muchas formas diferentes, una plataforma que llega a la mayoría de los idiomas solo puede soñar y, por supuesto, un equipo muy poderoso que está empeñado en hacer JavaScript El idioma más perfecto que existe.

Cada vez que alguien te diga eso la próxima vez, pregúntale qué idioma supera este momento o espera hacerlo en el futuro, ¡paz!

He escuchado lo mismo, y culpan a la disminución de WebAssembly o uno de la multitud de transpiladores.

La cuestión es que JavaScript continuará teniendo un uso significativo en el futuro. Webassembly no está destinado a ser escrito por desarrolladores y, si su código de transposición, debe poder evaluar el JavaScript generado.

Entonces, no, JavaScript continuará siendo utilizado.

El desarrollo web generalmente no se trata de una herramienta o tecnología que merezca tanto como ser el primero. JavaScript fue el primero en su espacio y eso supera su mérito o falta de mérito.

Tomando a un lado las cosas que compilan a JavaScript. Mira lo que se necesita. Debe adoptar o escribir un idioma y obtener al menos los tres navegadores web con la mayor participación de mercado para respaldarlo. Entonces tendría años de versiones de navegadores antiguos que tendrían que ser reemplazados.

Es más fácil para mí ver un movimiento hacia las aplicaciones de escritorio en lugar de las aplicaciones web que para algo que no sea JavaScript que se ejecuta de manera efectiva en los navegadores. Podría ver que tal vez con la nueva regulación del gobierno de los EE. UU. O la falta de ella (todo el debate sobre la neutralidad de la red) podría crear una decisión de que algunas empresas podrían querer alejar sus aplicaciones de la web. Francamente, no veo que eso suceda, pero podría.

La velocidad seguirá siendo importante y si los ISP participan en demasiados estrangulamientos, podría haber una reacción violenta.

Respuesta práctica más breve: no pierda un momento pensando en este tema hasta que las alternativas se manifiesten de forma tan persuasiva que realmente veamos que la gigantesca comunidad de desarrollo web realmente hace un movimiento significativo desde JavaScript. Toda mi experiencia me dice que incluso las nuevas tecnologías más atractivas pueden tener el peor tiempo para obtener tracción contra las más arraigadas.

La única razón por la que JS es tan popular en el desarrollo web es porque es la única opción. No porque sea bueno (en realidad es terrible, y el ecosistema está casi loco). En el momento en que hay algo más disponible para hacer cosas web, se vendrá abajo.

Una de las razones es que es difícil imaginar algo peor que JS frontend hipster hell.

Un día, pronto, JS se unirá a las filas de Blockbuster y Nokia.

More Interesting

Quiero comenzar un lenguaje de programación web en C. ¿Qué debo hacer?

¿Dónde y cómo aprendo a hacer un sitio web para mi negocio?

He estado creando sitios web con PHP usando editores de texto. ¿Cómo empiezo a usar Laravel Framework? No tengo ningún conocimiento sobre su uso.

Soy un desarrollador de COBOL de 35 años. Dado que ahora hay menos vacantes para los desarrolladores de mainframe, ¿qué tecnología debo aprender para encontrar buenas vacantes en el mercado laboral? ¿Debo ingresar a Python / Ruby?

¿Cómo construiste tu primer sitio web?

Estoy aprendiendo Ruby on Rails con miras a un cambio de carrera en el desarrollo web. Soy reacio a cambiar a una Mac, pero me han dicho que es la mejor opción para el desarrollo. ¿Es esto cierto?

Cómo desechar una página web con Easy Data Feed 1.32.12

Cómo alojar mi sitio web

Estoy en mi segundo año de universidad con solo conocimientos básicos en OOP y estructuras de datos. ¿Qué y cómo debo aprender algo para poder obtener un trabajo decente de desarrollador?

Cuando selecciono un elemento en la lista desplegable de un curso, ¿se generará esa cantidad de tiempo en el cuadro de texto a continuación utilizando PGP y Ajax?

Cómo hackear un webcomic para ver publicaciones en cola

Tengo una base de datos de información de usuario de mi sitio web. ¿Cómo puedo vender esos datos para financiar mi sitio web?

Quiero ser desarrollador web y más en el lado del servidor 'python, django'. Tengo curiosidad por saber cuánto html / css debería saber, ¿puedo usar plantillas listas o tengo que ser un experto en html / css?

Sé JS y ReactJS. ¿Cuál debería ser mi próximo paso?

Creé un formulario de inicio de sesión y registro simple en el código Ignitor. ¿Cómo puedo escribir el código para enviar un correo electrónico cuando la casilla de verificación del usuario olvidó la contraseña y también el código para recordarme?