¿Sería mejor para tu carrera aprender y dominar Python o Node.js?

Gracias por el A2A!

Depende de qué tipo de carrera quieras seguir. Si desea trabajar en campos relacionados con la ciencia de datos, aplicaciones informáticas nativas o posiblemente juegos, Python es una opción mucho mejor para usted. Sin embargo, si desea trabajar con aplicaciones web, NodeJS, que es específicamente un lenguaje web, podría ser una mejor opción para usted. Le recomiendo que lea este artículo para conocer las ventajas y desventajas específicas de cada idioma como herramienta del lado del servidor.

Si desea una comparación generalizada, recomendaría Python, por varias razones:

  • Tiene múltiples usos, mientras que NodeJS es casi exclusivamente para servidores web (se puede usar para desarrollar herramientas de línea de comandos, pero Python suele ser superior)
  • Python, en general, es un lenguaje mejor diseñado que JavaScript. No sé qué piensan otras personas, pero para mí es más fácil de leer, más rápido de escribir y tiene menos potencial para cometer grandes errores.
  • Es una tecnología probada y verdadera. Python es un lenguaje mucho más antiguo que NodeJS y, como tal, tiene menos errores, es más confiable y ofrece muchos más trabajos. NodeJS es una tecnología reciente, y si bien el mercado se está expandiendo rápidamente, todavía no hay muchos trabajos disponibles con ese conjunto de habilidades en comparación con Python.

Esta es sólo mi opinión. Si desea centrarse específicamente en el desarrollo web, entonces NodeJS podría ser para usted. De lo contrario, probablemente deberías ir con Python.

Si recién estás comenzando tu carrera, realmente no importa. La mayoría de los puestos de nivel de entrada pagan aproximadamente lo mismo, aunque actualmente hay menos candidatos calificados para la ciencia de datos. La oferta más baja y la demanda más alta significan un pago más alto, hasta que la oferta se pone al día con la demanda (y lo hará).

Para ser claros, Node.js es solo un tiempo de ejecución. JavaScript es el lenguaje para interactuar con el tiempo de ejecución. Python es un tiempo de ejecución y un lenguaje.

Al escribir estas líneas, en realidad hay más vacantes de trabajo de JavaScript que Python. Node.js constituye un buen número de esos. Node.js también tiene ~ 8 millones de usuarios ahora y es uno de los pocos tiempos de ejecución en una posición para superar a Java en popularidad. Eso significa que a) seguirá habiendo muchos trabajos yb) habrá competencia.

La comunidad Python ha producido un gran trabajo en ciencia de datos. Si eso es un interés, comience allí. Ha existido por más tiempo, lo que significa que ha progresado en algunas áreas que Node no lo ha hecho, pero también ha acumulado cierta deuda técnica.

Al contrario de algunas otras respuestas, Node no es solo una tecnología web. De nuevo, es un tiempo de ejecución. Es muy adecuado para crear sistemas ligeros y conectados (por lo tanto, “nodo”). Se ha adaptado para uso de escritorio (Electron / NW.js) y CLI. Como autor de herramientas de CLI, realmente siento que tanto Node como Python son inferiores, porque ninguno de los dos puede ejecutarse independientemente sin el soporte de su tiempo de ejecución respectivo o un proceso de enlace / construcción complicado (uso Go para aplicaciones CLI).

Al final, no importa cuál elijas. Una carrera en tecnología exige un aprendizaje continuo. Se trata menos de lo que aprende y más acerca de comenzar. La oferta / demanda fluctuará como siempre, porque el empleo no se trata de tecnología … se trata de cómo la tecnología sirve a un negocio.

Para responder a esta pregunta, prefiero comenzar con ¿POR QUÉ?

¿POR QUÉ aprender Python? ¿POR QUÉ aprender NodeJS?

Python: se adapta a la mayoría de las necesidades del lado del servidor. Ampliamente adoptado por la comunidad científica, especialmente el gran procesamiento de datos y los cálculos científicos diarios. Está bien ubicado como una alternativa a MathLab o Fortran. Python también encontró su camino en la informática de propósito general (software comercial). Si desea elegir un marco (para aplicaciones comerciales, puede visitar Cómo elegir un marco de python (descargo de responsabilidad: escribí este artículo) para obtener más opciones.

NodeJS: es más un tiempo de ejecución (VM) para ejecutar JavaScript en el servidor que un lenguaje de programación real. Entonces, si conoce JavaScript, la transición (curva de aprendizaje) para escribir JavaScript para el servidor será pequeña.

En lo que respecta a la carrera, deberá dominar al menos un lenguaje de programación y poder aprender nuevos idiomas (entornos) según su campo.

Lo bueno que personalmente me gusta de JavaScript es la capacidad de usar el mismo lenguaje desde el backend hasta la interfaz. Es por eso que elijo JavaScript para Hoogy ( https://app.hoo.gy ), un servicio que hace posible alquilar sus cosas a sus vecinos, colegas o compañeros de escuela.

Por otro lado, cuando se trata de una gran cantidad de datos o se realiza un cálculo científico, Python es una muy buena opción.

En cuanto a la carrera … tendrás que saber ambos, al menos en un nivel básico, sea lo que sea que estés haciendo en estos días.

Python es utilizado principalmente por prototipos que necesitan hacer algo rápido sin importar el rendimiento, la escalabilidad, el mantenimiento y todo lo demás. Es un lenguaje de script y es realmente fácil escribir scripts rápidamente para todos sus propósitos (del lado del servidor). Scripts de automatización, scripts de construcción e implementación, scripts de aprendizaje automático y cualquier otra cosa. Algunas personas incluso crean marcos web y crean sitios web. En mi humilde opinión no es el movimiento más sabio a menos que todo lo que sabes es Python.

JavaScript fue creado para la web; y Node.js es un motor del lado del servidor que utiliza Chrome V8 para ejecutar compilación y JavaScript en el servidor que puede generar y servir páginas web o servicios web (también conocidos como API REST); pero también puede ejecutar scripts simples.

Si usa ambos para el desarrollo web, la principal diferencia es que Python (al igual que PHP) se iniciará, ejecute el script y cierre el proceso; mientras que Node.js puede ejecutar mucho tiempo; tener sesiones activas, conexiones a la base de datos y por lo tanto está mucho más optimizado para la web; a pesar del hecho de que JS también se puede usar como un lenguaje del lado del cliente, en ese punto, si aprende JS, podría navegar fácilmente entre el desarrollo web Front-End y Back-End.

Volviendo a la pregunta, depende de lo que quieras hacer en tu carrera.

Como la mayoría de los sistemas unix de hoy en día vienen con Python preinstalado, encontrará muchas herramientas cotidianas escritas en Python y ejecutará scripts de Python de vez en cuando, tal vez ni siquiera lo sepa, por lo que es bueno tener al menos algo de comprensión de lo que es y como funciona.

Si alguna vez toca algo relacionado con la web, querrá saber JS.

Si es completamente nuevo en programación, comience con Python, ya que probablemente sea el más fácil para comenzar, conozca los conceptos básicos y aprenda otros idiomas (como JS, o posiblemente Java o Go u otros) a medida que avanza.