Creo que la pregunta es ¿Por qué habiendo tantos lenguajes, un programador usa un lenguaje que no le gusta?
El lenguaje tiene que resolver algo , y en general los lenguajes estan asociados a un contexto. Y en programacion, no es lo mismo traducir, como se traduce en la humanidad por una necesidad.
Creo que uno de los problemas es llamar a Java un lenguaje, dado que tambien es una plataforma. Entonces cuando quieren hacer la cucha de perro y se dan cuenta que tienen que trabajar con gruas, camiones, hacer calculos de hormigon y especificar que la cucha tendra un solo piso y 0 ascensores, les parece complejo… pero tal vez tendrian que haber usado otra herramienta para esa tarea.
Los tutoriales iniciales nos enseñan a juntar 2 ladrillos con cemento y cuando uno construye un edificio ve que no es suficiente… y en esos entornos es cuando tambien nota que lo que parecia burocratico y complejo no lo es tanto.
Muchos eligen java porque se paga bien y uno deberia elegir el lenguaje relacionado con el problema que debe resolver y aquel que coincida con el modelo mental de uno