¿Qué idioma tiene un futuro más prometedor (Elixir, Golang o JavaScript del lado del servidor)?

Primero, me preguntaba: “¿Qué me importa?”. Personalmente no. Elegí Elixir hace 4–5 años y no he mirado atrás. ¿Tiene el futuro más prometedor? No lo sé. Realmente depende de su tasa de adopción, en comparación con los demás.

Elegí Elixir porque me encanta programar con él. No tengo ninguna experiencia con Golang y solo tengo experiencia del lado del cliente con JavaScript. JavaScript se siente como un lenguaje de juguete, que no ha envejecido bien.

Personalmente, no pienso mucho en el futuro y la popularidad de un idioma. Voy más por preferencia subjetiva y productividad. ¿Qué tan efectivo puedo ser produciendo soluciones de producción?

He visto un tremendo crecimiento en la comunidad de Elixir en los últimos años. Y no lo he notado desaceleración. Tampoco escucho de ningún barco saltador. Claro, hay momentos en los que no quieren elegir Elixir, o pueden necesitar implementar algunas matemáticas de rendimiento crítico o procesamiento de texto en otro idioma.

Creo que Elixir tiene un equilibrio perfecto de características, funcionalidad y rendimiento para el tipo de aplicaciones que desarrollo. La comunidad es excelente y el código de Elixir es una alegría para escribir y leer.

Solo he echado un vistazo rápido a Golang, pero no vi nada allí que me haya llamado la atención, con la excepción de que es un lenguaje estáticamente escrito. La escritura estática no es algo importante para mí, ya que las buenas prácticas de programación, la buena estrategia de prueba y el análisis de código estático pueden compensar los inconvenientes de un lenguaje escrito dinámicamente. Además, realmente no me gusta pelear y jugar con la escritura estática cuando puede haber una razón para hacerlo.

Golang tiene un rendimiento bruto a su favor. Sin embargo, no encuentro que el rendimiento de Elixir se interponga en el camino muy a menudo.

tl; dr Creo que los 3 estarán disponibles por mucho tiempo. Estoy seguro de que una apuesta en cualquiera será segura. También depende realmente del tipo de soluciones que desee construir. De los 3, personalmente me gustaría ver más alejándose del lado del servidor JS. Nunca he encontrado la atracción de proliferar ese lenguaje bastardo en el servidor (pero esa es solo mi opinión).

Node.js es definitivamente una apuesta segura. No desaparecerá pronto, y es más que probable que se expanda. La tecnología está respaldada por algunas de las compañías más grandes del mundo. Walmart está fuertemente invertido en ello. Samsung acaba de comprar Joyent, el patrocinador del desarrollo de Node.js. IBM compró Strongloop, el patrocinador de Express.js.

Los conversos de elixir son principalmente Ruby. Elixir / Phoenix han sacado mucho de la multitud de RoR. Es muy prometedor, pero aún no ha alcanzado una masa crítica sostenible. Probablemente valga la pena el tiempo para obtener un libro

Go, si bien es excelente para lo que está diseñado, es difícil conseguir la adopción. Node.js se basa en los desarrolladores de JavaScript existentes. Elixir se basa en Ruby. Ve a dibujar de … C?

Actualización: Oh sí, JavaScript definitivamente está ganando. Pero Python es una sorpresa primero.

Los tres tienen una gran historia por delante, pero no creo que podamos elegir un caballo ganador todavía.

Node tiene la característica única de la misma sintaxis en la pila, al tiempo que ofrece interfaces de bajo nivel. Tiene una gran capacidad de respuesta y rendimiento, pero el escalado no es un concepto de primera clase. Incluso se está convirtiendo en la base de algunas aplicaciones de escritorio y móviles.

Go está diseñado para ser un servicio web compilado que come lenguaje. Tiene un buen servidor y un motor de plantillas como biblioteca base. La concurrencia y el rendimiento paralelo es un concepto de primera clase que utiliza una arquitectura similar a CSP. Carece de algunos conceptos modernos, pero es simple y fácil de aprender y productivo.

Elixir y Phoenix tienen un gran potencial. Yo tampoco he usado, pero he usado Erlang. Erlang está diseñado para una concurrencia masiva en todos los sistemas y para ser robusto frente a errores y fallas de hardware. Los aspectos funcionales puros del entorno aumentan la productividad del programador y es oportuno para la aceptación de la comunidad en general. El rendimiento de un solo subproceso del BEAM puede ser problemático para aplicaciones intensivas de CPU, y ese podría ser el obstáculo para una aceptación más amplia.

Estarás bien usando cualquiera de estos durante algún tiempo.

Go tiene el futuro más prometedor. Ya se está disparando a la popularidad: el pequeño lenguaje que podría.

Espero que Go eventualmente desplace a Node porque es un lenguaje mucho mejor para la concurrencia y la velocidad de ejecución: The Fall of the House of Node. Además, JavaScript es realmente un lenguaje horrible.

El lado del servidor JavaScript tiene la mejor perspectiva para el futuro más inmediato simplemente por la cantidad que se usa. Se habla mucho de Elixir, pero es un jugador mucho más pequeño en este momento. Los próximos años demostrarán el valor del elixir.

También es importante contener el bombo Elixir. Es bueno para escalar. Es funcional. Tiene sus usos. No significa necesariamente que se adoptará en la medida de Node.