¿Hay alguna forma práctica de entender por qué Java es un lenguaje malo y aburrido?

Sí, creo que tienes razón al no poder relacionarte con los argumentos. De hecho, la mayoría de los programadores no enfrentarán ningún problema real con el lenguaje que no crean por sí mismos. Desde el inicio de Java a mediados de los 90 y su adopción masiva en los siguientes 15 años, el paradigma OO de que Java se creó para el desarrollo de software dominado. La programación procesal quedó mal vista, la programación funcional fue abandonada y todo era un Objeto.

Luego se volvió complicado, rápido. La abstracción del dominio y los patrones de diseño sirvieron para sofocar la complejidad y creatividad innecesarias. EJB, POJO, SOAP y XML domesticaron a la bestia y todo estuvo bien durante unos años. Luego vino una nueva generación de idiomas, y comenzaron a madurar rápidamente. Ruby, Python, Scala, Haskell, solo por nombrar algunos.

El diseño de software OO todavía tenía problemas para reducir la complejidad y el uso de Java para el desarrollo web seguía siendo una experiencia dolorosa. JSP, Struts, Spring, Hibernate y otras arquitecturas y marcos explotaron en la escena y los desarrolladores se apresuraron a adoptar estas nuevas y geniales herramientas. IoC, la programación orientada a aspectos, la inyección de dependencia y los patrones estructurales como MVC, MVP y los servicios se hicieron frecuentes.

Pero Java todavía estaba colapsando bajo su propio peso. Los marcos de otros lenguajes y paradigmas fueron portados a Java, pero realmente no fue suficiente y los desarrolladores de Java, así como otros, comenzaron a criticar el lenguaje en sí mismo por no ser más como los otros lenguajes como Python, Ruby y Scala. Así que ahora están Jython, Groovy y Clojure y la lista no se detiene allí.

La única forma práctica de comprender todos los argumentos es aprender lenguajes como Python, Ruby y Scala, así como Java y luego compararlos para todas sus diferencias.

My 2 ¢, aprende Java y olvida los argumentos de BS contra él. Ha existido durante 20 años, es maduro y es más que suficiente para que un desarrollador junior hunda sus dientes.

Echa un vistazo a otro idioma también. Hay conceptos realmente valiosos en cada uno de ellos. Comprender la programación Polyglot es la clave para convertirse en un ingeniero muy sofisticado.

¡Espero que esto ayude! Puedo ser criticado por mi cuenta de la historia de esta situación, pero espero que 🙂

More Interesting

¿Cuál es la mejor aplicación o software que has desarrollado?

¿Qué debo considerar al iniciar un mercado independiente como Elance, vWorker, etc., que sea específico para desarrolladores de software, probadores y diseñadores?

¿Cómo debo prepararme para una entrevista de pasantía de desarrollador de software en Qualtrics?

Cómo convertirme en un desarrollador de software exitoso si no me gusta programar

¿Cuál es su historia de desarrollo de software desde una carrera más fresca a una profesional?

Como desarrollador de software, ¿qué hacía cuando estaba desempleado?

¿Puedo ver los documentos de planificación de su desarrollo de software?

¿Qué significa el advenimiento de la IA para los desarrolladores de software?

Mi amigo dijo que no debería construir una startup si quiero convertirme en un buen desarrollador de software porque no tendría tiempo para hacer negocios y programar al mismo tiempo, ¿verdad?

¿Cómo es difícil conseguir un trabajo en Finlandia en la industria del desarrollo de software si eres de un país asiático? Si tengo suficiente experiencia laboral y un título.

Dentro de un año, ¿alguna startup en Sydney me emplearía para una pasantía remunerada como desarrollador junior de software? ¿Por qué o por qué no?

Cómo pasar del trabajo de desarrollador de software a algo relacionado con marketing y publicidad

¿Cuáles son las diferencias fundamentales entre un desarrollador de software y un arquitecto de software?

¿Cuál sería un buen cronograma con respecto a las áreas de aprendizaje en informática cada semana para convertirse en un desarrollador de software de la industria competente?

Cómo ganar experiencia como desarrollador de software fuera de la universidad