The problem is that "modern" programming style (eg., design patterns), languages, frameworks and the like encourage incredibly verbose code with so many abstraction layers that trying to read it from top to bottom is like staring at a wall of concrete.