No creo que deba hacer su carrera de ingeniería de software basada en una sola herramienta / lenguaje. Tener experiencia con dos o más lenguajes de programación realmente hace la diferencia cuando diseñas una aplicación por tu cuenta.
Es posible que Node.js no sea una buena opción para algunos de los casos en los que las tareas son altamente computacionales, etc. Cuando en el caso de Java tomará tiempo construir las cosas, la deserialización simple de JSON es algo difícil, pero siempre puede usar bibliotecas.
A largo plazo, los proyectos de Node.js son muy difíciles de mantener porque el ecosistema de ritmo rápido, pero en Java, aún puede ejecutar código más antiguo en la versión más reciente de JVM.
- ¿Cuáles son los requisitos mínimos de hardware para construir un sitio web educativo para un proyecto universitario?
- ¿En qué situaciones necesita usar una API?
- ¿Qué lenguaje de programación debo usar para crear sitios web de redes sociales similares a Facebook o YouTube?
- ¿Cuál es la mejor manera de averiguar si mi desarrollador ha utilizado AngularJS en el sitio web como me lo prometió? No soy un desarrollador web. ¿Hay algún truco del navegador que pueda usar para asegurarme de que el sitio web esté construido con AngularJS y PHP (ese era el requisito)?
- ¿Cuál es el mejor creador de sitios web para bandas / artistas / músicos?
Node.js y Java, ambos tienen sus pros y sus contras. La elección debe basarse en el caso de uso.
SEA UN PROGRAMADOR POLYGLOT . (A largo plazo)
Comencé mi carrera de programación con Java. Me presentaron con conceptos de OOP, sistema de tipo, etc. Eso me dio una buena idea de ser un desarrollador de Node.js. Conocer Python me ayudó a resolver varios casos de uso en los que no necesito una aplicación completa Node.js (muchos módulos) o Java (archivos jar). El guión simple puede hacer mucho trabajo.
Si recién está comenzando su carrera, concéntrese en un solo idioma, intente construir desde cero, aprenda conceptos básicos como Node.js, cómo funciona V8, cómo funciona el bucle de eventos, qué es libuv, iojs, etc. y para Java, cómo funciona JVM, cómo funciona GC, etc.
La situación puede ser diferente si ya eres desarrollador con algo de experiencia, solo necesitas aprender algo de la sintaxis y algunos conceptos nuevos. Eso será fácil Además, será muy beneficioso cuando tenga que elegir la herramienta para un caso de uso particular.
Refiera esto,
Sé un programador políglota – Kamil Lelonek – blog de programación
Programación Polyglot