For me, readability is directly tied to good abstractions (and meta&#x2F;programming facilities for making good abstractions) and a certain degree of conciseness.<p>If I have to read 5-10 lines of intermediate code to figure out what&#x27;s going on, it&#x27;s less readable than if there&#x27;s a short expression.<p>Some languages seem to be driven by fear that if you provide programmers powerful facilities for abstraction that rise to the level of augmenting the language that developers will no longer be able to figure out what&#x27;s going on without reading a lot of code, so they solve this problem by forcing developers to write (and therefore read) a lot of code.<p>Java seems to be one of those languages.