#112 Lo peor de java, en mi humilde conocimiento es el Type Erasure.
Y si usas framework el tema de la programación funcional a traves de proxys es magia negra budu.
A mi me gusta empezar por un main que yo vea y sienta y saber por donde voy línea a línea. Eso en java es casi imposible si usas frameworks. La deprabación del uso de "magia negra" (anotaciones, xml, reference, proxy, funciones autoinvocadas por alguien que no soy yo), etc es bestial.
#101 ¿Cuánto hace que no programas en Java?
Las excepciones comprobadas hace años que nadie las usa, si siguen ahí es por compatibilidad hacia atrás (algo que Java respeta mucho).
Para manejar "nulls" tienes los "optionals" que mezclados con la programación funcional de Java hacen más sencillo tratar el problema de los nulls.
Y luego tienes todos los cambios que han ido haciendo al lenguaje en las últimas versiones: records, pattern matching, sealed classes, nuevos switch, etc.