En cinco años, ¿qué idioma es más prominente: Node.js, Python o Ruby? ¿Por qué?

Que gran pregunta. Me encanta volver a visitar en 5 años, y esperemos que tenga razón.

Antes de comenzar, ¿cómo se define ganar? Sugiero: utilizado por la mayoría de las nuevas empresas para nuevos proyectos.

¿En qué consistió el desarrollo web durante los últimos 10 años? Mucho fue impulsado por aplicaciones SaaS que básicamente consistían en un front-end bien diseñado, con un poco de Javascript en la parte superior, un código repetitivo, una base de datos en el back-end y algunas tareas de back-end (Simplificación, lo sé …).

Para que esto suceda, las personas confiaron en los marcos para administrar todas las cosas repetitivas, e incluso la interacción de la base de datos. Los rieles brillan aquí, por eso se usó tanto en los últimos 5 años.

La verdad del asunto es para este escenario node.js en este momento es el peor de los tres. Si necesita desarrollar una aplicación SaaS típica, use RoR, o tal vez Python si tiene requisitos específicos. Si tiene un poco más de tiempo en sus manos, puede usar Java, Scala, C #, PHP, lo que quiera, realmente no hace mucha diferencia en el gran esquema de las cosas.

¿Cuáles son algunos de los desafíos que enfrentaremos en los próximos 5 años?

  • Tiempo real
  • Siempre encendido y actualizable en caliente (piense en erlang como un plano aquí)
  • Las excelentes interfaces de usuario venden plataformas / aplicaciones, lo que requiere mucha interactividad del lado del cliente
  • Enormes cantidades de datos distribuidos, accedidos y procesados ​​desde múltiples lugares.
  • Servicios web conectados (desarrollo por componentes a escala web), el uso de cualquier otra cosa será económicamente inviable.
  • Los productos deben crearse en ciclos más cortos.
  • Los productos que desean ganar a mayor escala deben proporcionar una plataforma propia para formar parte de este nuevo ecosistema.
  • Múltiples clientes diferentes que acceden al mismo backend.

La lista anterior se ve un poco diferente al párrafo anterior. Cada uno representa un problema realmente difícil. Si desea poner eso en un solo marco con la elegancia de RoR, le sería difícil hacerlo bien (y Rails definitivamente lo hizo bien por su caso de uso).

En cambio, node.js toma una ruta diferente, escoge los mejores componentes y mezcla y combina. Pequeños módulos que se pueden combinar sin tener que preocuparse por las dependencias, que se pueden usar simplemente agregando una sola url. Esto mantiene baja tanto la superficie API como la curva de aprendizaje. Esto es posible debido a NPM, probablemente la pieza de software más importante escrita en los últimos 2 años (junto con node.js). Hace que la magia de node.js suceda.

Y también es este sistema de módulos el que hará que node.js sea el ganador en los próximos 5 años. Los desarrolladores no se ven obligados a realizar ninguna forma particular de hacer las cosas, pueden actualizar partes individualmente y crear nuevos componentes rápidamente, evitando la mayoría de los problemas que el desarrollo del software estuvo plagado a lo largo de los años. Además de eso, incluso pueden usar lenguajes más agradables como Coffeescript.

Descargo de responsabilidad: Realmente me gustan los tres idiomas / plataformas, mi última aplicación ejecuta una mezcla de node.js y Ruby, y creo que los tres representan logros extraordinarios.

Node.js no es un lenguaje de programación, pero es probable que tanto JavaScript como Python sigan siendo prominentes dentro de cinco años. Ruby también existirá, pero además de algunas herramientas de desarrollo de software, Ruby no se usa mucho fuera de Rails. Si uno de estos idiomas comenzará a declinar, creo que es Ruby. Python está obteniendo un impulso real como lenguaje de enseñanza, y Python 3 se está utilizando cada vez más, lo que significa que Python pierde algunos defectos estúpidos que se arrastran desde 1990. JS también tiene una versión nueva y agradable. Lo más probable es que JS continúe dominando fuertemente en los clientes web, y veremos más desarrollo de estilo web para teléfonos y otras cosas. El nodo para servidores web seguirá siendo grande en 2020, pero dudo que JS encuentre una gran arena fuera de la web / teléfonos. Python continuará siendo un gran lenguaje de aprendizaje y un gran lenguaje para herramientas rápidas, para científicos y muchas otras cosas. SIG, animación, etc., etc.

Hola,

Es difícil responder de inmediato, ya que todos los idiomas son igualmente eficientes que el otro. Los tres son rápidos, potentes y los programadores adoran la codificación en estas plataformas. Pero lo que diferencia a Node.js de otros dos lenguajes de script. ¿Por qué los desarrolladores prefieren uno u otro según sus requisitos? ¿Y sobre todo cuál es mejor para qué tipo de aplicación? Sí, debe elegir el conjunto correcto de solución para el requisito que tiene en este momento.

Hay características distintivas que los separan, y son lo suficientemente maduros para que brillen sus respectivas fortalezas. Hagamos una comparación lado a lado con Node.js en la industria del desarrollo web hoy. Aquí está la comparación de Node.js con Python y Ruby.

Similitudes que vemos:

Desde el punto de vista práctico, las tres tecnologías son adecuadas para el desarrollo del lado del servidor. Todos se centran en líneas de código mínimas para hacer las cosas rápidamente, priorizando el desarrollo rápido. Todos trabajan en lógica orientada a objetos con estricta sintaxis y jerarquía. Node.js, Python y Ruby se utilizan principalmente en el nivel empresarial, ya que ayuda a concluir funciones o aplicaciones de manera rápida. Todos estos lenguajes proporcionan bibliotecas, soporte de ecosistemas de código abierto y marcos de funciones. Por lo tanto, los desarrolladores no necesitan comenzar a codificar desde cero. Una vez que esté establecido con su aplicación, encontrará algunos nudos de problemas que puede resolver con la ayuda del conocimiento de la comunidad.

Es cierto que necesita las herramientas adecuadas para un trabajo determinado para obtener el mejor resultado. Vamos a sumergirnos en detalles explicando Node.js con Python.

Python es un lenguaje antiguo y más maduro en comparación con Node.js. Si bien el ecosistema node.js tiene un número cada vez mayor de contribuciones y bibliotecas, esto aún es poco en comparación con lo que hay en el mundo de Python. El resultado de Python es que puede usarse para aplicaciones que necesitan scripts de manera más pequeña o enorme. Pero vale la pena aprender Node.js ya que JavaScript es la tecnología de próxima generación donde el lado del servidor y el cliente se convierten en un solo idioma. Además, Node.js permite enviar / recibir datos entre clientes y bases de datos, lo que genera excelentes experiencias de usuario para el usuario final.

Saltemos a Ruby ahora. Comparar Ruby con Node.js es como comparar con dos frutas. Como se dijo, tienen sus propias ventajas y desventajas. En primer lugar, Node.js es un entorno de tiempo de ejecución de aplicaciones que le permite escribir aplicaciones del lado del servidor en JavaScript. Como la mayoría de los desarrolladores saben, Node.js no es un marco ni un lenguaje. Quizás una mejor comparación sería comparar Ruby on Rails con ExpressJS (un marco popular para Node.js), pero aun así, todavía no es una comparación verdadera. Ruby es perfecto para situaciones en las que tiene más funcionalidades CRUD y creación de prototipos, mediante el uso de sus bibliotecas disponibles. Pero eventualmente, ExpressJS o cualquier otro marco JS liderará a la industria por su velocidad de desarrollo única y su curva de aprendizaje fácil que provoca la disponibilidad de recursos en el mercado. Solo quiero repetir que mantener el lenguaje para el servidor y el lado del cliente también es bueno para la productividad.

Algunos consejos para que usted elija Node.js.

  • Si el requisito es desarrollar aplicaciones en tiempo real : Node.js es la mejor tecnología para un chat u otras herramientas de colaboración. Destaca por su rendimiento y facilidad de desarrollo que Ruby o Python.
  • ¿El requisito es construir aplicaciones de transmisión ? Node.js se adapta mejor.
  • Si el requisito necesita construir API : sin duda, Node.js es la mejor opción, ya que es perfecto para manejar solicitudes de E / S y fácilmente escalable.
  • Lenguaje único para frontend y backend : útil para los desarrolladores que pueden usar el lenguaje JavaScript en el front-end y el back-end.

Es 100% la elección del desarrollador que puede elegir una tecnología en la que el ecosistema se adapte más. Node.js está a un ritmo sorprendente, de hecho, una red de código abierto de rápido crecimiento.

Espero que esto ayude. Por favor, eche un vistazo al sitio web y al blog de CronJ para obtener más detalles. No dude en ponerse en contacto conmigo si tiene alguna pregunta. Gracias.