Los Java, C# y demás cosa corporativa se han vuelto un galimatias sin lógica alguna, mezclando OOP sarama, con funcional y declarativa sin orden ni lógica alguna. Ahora te encuentras en el código mezclado a trancas y barrancas una parte en declarativa, con ORM de cosa que casca a la mínima, otra parte funcional con lambdas sin venir a cuento y luego la fruta cosa esa del OOP cascado con referencias externas que rompen la encapsulación. El sector se ha convertido en una fruta cosa inflada con FIAT y marketing hype. Absolutamente vomitivo.
Luego programas con Haskell y Lisp y te reconcilias con la informática, pero claro con estos lenguajes te mueres de hambre, por ahora...