Debe desarrollar un backend para una red social con solo Java, Phyton y Node.JS. ¿En qué partes del back-end escribirías en qué idioma?

Esto debe estar destinado a encajar en una red más grande de aplicaciones con las que comparte una base de código. No hay otra razón sensata para calzarse en una elección entre solo estos 3 idiomas. Entonces, la decisión aquí debe basarse en gran medida en factores sobre los que no nos ha dado una idea.

ETA: Me di cuenta de que hay bibliotecas para los 3 idiomas que prácticamente le entregan estas características en una caja bien envuelta. ¿Qué idioma hace feliz al ejecutivo, me consigue un aumento y sale de la playa antes? Elegiré eso, ya que mi ejecutivo claramente solo se preocupa por las palabras de moda. No estoy tan orgulloso como las otras 2 respuestas hasta ahora y con mucho gusto haré un trabajo tonto si la paga es correcta.

Ignorando eso, y suponiendo que también se trata de una aplicación creada desde cero, elegiría Python. Solo se dirige a 50 millones de usuarios normales. Eso no es muy grande, por lo que Python es adecuado. Si hubiera dicho 50 millones de creadores de contenido, necesitaría la estabilidad y la velocidad de Java. Pero pagará el tiempo de desarrollo adicional para usar ese lenguaje. Python es más rápido para construir. Los resultados generalmente no serán tan a prueba de balas como las buenas aplicaciones Java, pero podrá llevarlas al mercado de consumo mientras todavía estén en tendencia. Java lleva demasiado tiempo y, por lo tanto, está cada vez más reservado para aplicaciones empresariales que necesitan ser totalmente a prueba de balas, pero pueden tolerar retrasarse unos meses / años.

Node.js, todavía no está allí. Es muy popular entre los hipsters en este momento, porque puedes construir una gran aplicación muy rápidamente. Pero tendrá todo tipo de grietas y tendrás que esperar seguir corriendo como loco para mantenerlo en el aire. No sé si se desvanecerá o alcanzará la madurez, pero en este momento no lo elegiría para una aplicación de usuario de 50m a menos que fuera algo con una vida limitada como una aplicación para ‘Olympics 2020’.

Python es el punto medio razonable entre estas dos filosofías. Además, soy mucho mejor que los demás, por lo que generalmente lo elegiré independientemente del desafío, dadas solo estas opciones.

Yo personalmente solo iría a js full-stack. El back-end podría cambiarse con python, pero no estoy lo suficientemente familiarizado con él. Por otro lado, estoy familiarizado con Java, y nunca, nunca comenzaría un proyecto con él si tuviera la posibilidad de otro idioma. Node.js es lo suficientemente rápido, se integra muy bien con cosas de sondeo largas y aplicaciones en tiempo real en general, por lo que creo que sería una gran opción para este tipo de aplicación (especialmente porque está muy basado en IO, y apenas hay trabajo intensivo de CPU que hacer). Además, sigo sintiendo que Javascript no es realmente tan malo como lo hace parecer mucha gente (aunque tampoco es el mejor)

Si me dieran esa tarea, me aseguraría de que mi currículum estuviera actualizado, haría una copia impresa y una copia impresa, escribiría mi renuncia y buscaría otro empleo.

Eliges el idioma más adecuado para la tarea, no eliminas la tarea para que se ajuste al idioma. No trabajo para nadie que no entienda eso.

Si sé que mi cantidad mínima de usuarios es de 50 millones, voy a aguantar mis lágrimas y usar Java.