R2A (gracias):
Ningún Java no está maldecido, pero es un lenguaje muy desafiante, “difícil” y de “problemas de grandes ligas”. Puede ser extremadamente frustrante, y FWIW, yo también he “terminado” con Java en el sentido de que evito activamente el empleo y las situaciones en las que se requiere Java; aunque, por supuesto, no me mataría de hambre ni privaría a mis hijos solo para evitar Java.
OTOH, me parece perfectamente razonable preguntarme por qué alguien querría soportar Java cuando tenemos notaciones nuevas y maravillosas como GO y Rust.
No me malinterpretes. La arquitectura JVM de Java, compilar una vez y ejecutar en cualquier lugar es brillante y un avance tecnológico. Para cualquiera que haya vivido los años de la “Torre de Babel” de programación, donde esencialmente todo tuvo que volver a implementarse por entorno, Java es realmente excelente en ese sentido. OTOH, el lenguaje en sí es una sintaxis mestiza, no idealmente orientada a objetos, que toma prestada la lengua C de una manera poco convincente, congelada para la recolección de basura en momentos extraños y sumamente inconvenientes, etcétera ad nauseum.
- Mi hámster está constantemente corriendo sobre su rueda. ¿Es esto malo?
- Estoy planeando comprar re classic 350 para montar en la ciudad y ocasionalmente paseos largos en color ceniza. ¿Estoy cometiendo un error?
- Cuando conecto mi iPhone a mi PC, no puedo abrir y guardar archivos guardados en las aplicaciones de mi iPhone. ¿Hay algún software que me permita hacer esto?
- ¿De que color debería teñir mi cabello?
- Recientemente compré el nombre de dominio mikerosoft.co y quiero venderlo a microsoft, ¿cómo puedo hacer eso?
E irónicamente, la portabilidad de JVM se produjo en un momento en que la tecnología de hardware sufrió una sacudida masiva, dejando solo muy pocos objetivos de plataforma viables de todos modos. Hizo que la portabilidad de JVM fuera relativamente discutible en comparación con solo cinco años antes de su llegada. Por supuesto, la JVM ha provocado un florecimiento de docenas de idiomas que se han portado a esa máquina, o que originalmente están destinados a la JVM. Este es ahora un fenómeno importante, pero desde el punto de vista de Java como lenguaje en sí mismo, solo sirve para enfatizar las deficiencias de Java.