Проблемы в Java явно присутствуют, раз приходится писать подобные книги на продолжение всего существования этого языка. К сожалению даже в новых версиях языка появляются апи, которое сложно использовать и у создателей видимо глаз замылен, чтобы увидеть это;( STR’\{}’, Stream api, Gathering api - при написании оптимальных алгоритмов на стримах все путаются и переходят на итеративный код столбиком. Без async/await асинхронный код похож на callback hell;(