Con cosas serias me refiero los núcleos, ya sea de juegos, de navegadores, de sistemas operativos. Aunque hayan podido mejorar un poco la máquina virtual de java, sigue consumiendo demasiado y no resulta útil para cosas críticas como esas
Agree. Utilizar Java para un núcleo no es buena idea. Lo mejor es utilizar C/C++ allí por cuestión de rendimiento.
pero lo que vi comparándolo con C++ me pareció que aunque java tiene una librería estándar para cosas de sockets y demás (creo recordar), java se complicaba las cosas innecesariamente, supongo que para facilitar la vida a la máquina virtual?
Java en mi opinión es muy verboso, es por eso que da la idea de "complicarse". Algunas cosas, generalmente antes, se complicaban. Particularmente en Java EE < 6, donde recién empezaban las anotaciones a tomar lugar y las configs se hacían con puro XML.
En java también hay mucha oferta pero sobretodo a nivel de escritorio, y entonces comparándolo con otros lenguajes te limitas bastante.
Eso es el su mayoría de casos falso. Java se usa más para desarrollo web. Java EE incluye todo un set de tecnologías de alto nivel que facilita el desarrollo de aplicaciones web altamente eficientes y seguras.
Por experiencia, una aplicación
bien programada como un sistema académico para escritorio escrita en JavaFX, no consumía más de 80MB. Claro, una en C++ te consume la mitad, pero prefiero no estar preocupándome por liberar memoria, punteros y todo eso que en producción es un dolor de cabeza terrible.
En web, tiene actualmente un muy buen rendimiento. La JVM ha sido bastante bien optimizada y en las últimas webapps Java que he podido manejar y observar, se comportan muy bien, sean con Spring MVC, o JSF.
La diferencia de Go con Ruby,Python, PHP etc es que es sencillo pero mucho más eficiente que PHP o python y demás. También es sencillo de aprender pero al ser nuevo no hay tanta documentación.
Agree. GO es un muy buen lenguaje. Es una lástima que aún no sea tan adoptado por la comunidad, pero le veo un muy buen futuro. También, NodeJS es una excelente opción que seguirá creciendo con el tiempo porque la comunidad detrás es gigante y muy activa, sin dejar de lado que JS es el lenguaje del futuro (según lo que dicen por allí...).
Creo que es conveniente aprender la mayor cantidad de tecnologías y/o lenguajes que podamos. No es bueno casarse con una sola tecnología, un programador completo tiene más oportunidad laboral.
Saludos.