¿Por qué los softwares profesionales e intensivos en memoria como AutoCAD, Photoshop y otros no usan Java?

Debido a que las versiones Java de estas aplicaciones serían diez veces más grandes, diez veces más lentas y solo tendrían una décima parte de las características de las versiones nativas escritas (principalmente) en C / C ++, y no ofrecerían ventajas compensatorias.

Algunos códigos nuevos se escriben con bloatware como .NET, porque es más fácil y rápido de desarrollar y vender, a pesar de que el resultado es más grande, más lento y desperdicia más recursos en las máquinas de los clientes. Eso ya es bastante malo. Java sería una pesadilla aún peor. Nunca he visto una aplicación Java decente de tamaño no trivial.

Si Photoshop se reescribiera desde cero hoy en día, requeriría un terabyte de espacio en disco para instalar y 50 GB de RAM para ejecutarse, y tardaría veinte minutos en iniciarse, y luego se bloquearía cada treinta segundos, y se facturaría su tarjeta de crédito cada vez que hace clic en una herramienta (lo que llevaría dos minutos y fallaría aproximadamente la mitad del tiempo).

Tanto AutoCAD como PhotoShop son anteriores a Java por algún tiempo.

Históricamente, Java no ha tenido ese excelente soporte de interfaz de usuario, Swing y AWT solo estaban bien. JavaFX es genial, pero muy reciente.

Ambas aplicaciones son antiguas, por lo que son necesarias para exprimir hasta la última gota de rendimiento de las máquinas en las que se ejecutan.

Cuando necesita el máximo rendimiento a gran escala, utiliza C ++. Estas aplicaciones tienen éxito o fallan en la manipulación fluida de estructuras gráficas complejas en la memoria. C ++ está en el punto óptimo, puede ser casi tan rápido como C o ensamblado, pero con la sofisticación de tener características como objetos y plantillas para organizar una aplicación tan complicada. Java (o C #) tiene las características sofisticadas para organizarlo, pero nunca puede obtener esa última onza de rendimiento.