¿Debo aprender Node.js o Python para las operaciones de back-end (API)?

Nodo JS Pros

  1. NodeJS está diseñado para no bloquear las operaciones de entrada / salida. Esto significa que no espera a que la acción finalice y continúe con la siguiente línea ejecutable. Python es un lenguaje de procedimiento que espera la respuesta.
  2. NodeJS es de un solo subproceso. Esto significa que todas las respuestas API se manejan mediante un solo proceso. Esto es más rápido para la respuesta de la API, ya que se elimina la sobrecarga de generar un nuevo hilo para manejar la solicitud de la API.

Python Pros

  1. Python es realmente rápido al procesar mucho, como cálculos matemáticos, manipulación de datos, etc. En NodeJS, esto bloqueará el hilo único y ralentizará el servidor
  2. La curva de aprendizaje de Python y el tiempo de desarrollo son mucho menores en comparación con nodeJS, especialmente si ya conoce otros lenguajes de procedimiento como c, c ++

Recomendaría comenzar con el servidor NodeJS porque no tendrá problemas para escalar. Todo lo que necesita hacer es crear un nuevo proceso NodeJS y agregar un equilibrador de carga para distribuir sus solicitudes.

Es mejor evitar muchos cálculos en la API de NodeJS, y si es absolutamente necesario, será mejor delegar esa tarea a otro proceso.

Para cualquier tipo de propósito, creo que Python ofrece más que JavaScript. He usado ambos idiomas, aunque he usado python mucho más que javascript. Aquí, me centro en las características del lenguaje en lugar de su uso en el desarrollo de backend.

  1. Legibilidad
    Incluso el código de Python mal escrito se ve tan bien debido a sus requisitos de sangría. Javascript no se acerca.
  2. Confiabilidad
    Muchos de los marcos y bibliotecas conocidos para python han existido durante más de una década. Eso significa que una buena cantidad de personas lo han usado y arreglado. Node.js y el uso de javascript para el desarrollo de backend es relativamente nuevo.
  3. Conocimiento
    Nuevamente, debido a su antigüedad, esperaría que Python tenga más documentación y referencias disponibles que Node.js + javascript.
  4. Popularidad
    Aunque, este debería ser el último parámetro para tomar su decisión, eche un vistazo al índice TIOBE, python está por delante de JavaScript en 3 rangos.
  5. Bibliotecas
    La disponibilidad de las bibliotecas debe ser más o menos igual para ambos. Sin embargo, no me sorprendería si Python tiene más soporte para funciones de bajo nivel, como llamadas a funciones del sistema operativo. Python se integra con C muy bien.

Cada idioma tiene sus propias ventajas, con NodeJS tiene la potencia de los zócalos y un diseño sin bloqueo de alta E / S.

Python, por otro lado, ofrece una gran variedad de bibliotecas, es muy fácil de aprender y reduce el tiempo de desarrollo (sí, menos el requisito de $$). El frasco es el mejor para principiantes. API, además del análisis JSON nunca fue un problema en Python, tiene soporte incorporado para json y xml.