&gt;Code is scattered in a vast heirarchy of files. You can&#x27;t find a definition unless you already know where it is.<p>Not if you&#x27;re using a proper IDE (or the right emacs&#x2F;vim plugins, which are effectively an IDE).<p>&gt;Code is indented to indicate nesting. As code is edited and processed, this cue is often lost or incorrect.<p>Not if you&#x27;re using a proper IDE configured for the project&#x27;s chosen style. My engineering org also has linters in pre-commit hooks and automatically commenting on code reviews.<p>&gt;Sometimes a line of code contains only a parenthesis, or semicolon. This reduces the density of the code, and the difficulty of reading it.<p>Depends on the style guide you choose. Also, some people find this more readable.<p>&gt;There&#x27;s no documentation. Except for the ubiquitous comments. These interrupt the code, further reducing density, but rarely conveying useful insight.<p>The only documentation I&#x27;ve ever found useful (aside from comments) was automatically generated from comments, explaining the signatures of methods and what they do.