Regarding information density, I don't think this is necessarily true. Quantifying understanding between a reader and a text is always ambiguous, where the results of programs are intentionally designed to not be ambiguous (with varying results). Consider the ink and blood spilled over the implications of a single word in a holy text.
Saying that a reader understands a page or two of most books in a minute or so is like "understanding" the rules of Chess but being unable to actually win a game.
What differs between books and programs is the consequences of getting that sense of understanding wrong. When reading a book, the results of misunderstanding or skimming are rarely serious (outside the realm of technical manuals, textbooks, and holy books) whereas the programmer and user usually immediately notice that something is very wrong if the programmer took a wrong turn in their understanding.
Academics paid to "understand" non-technical books face so little consequences for misunderstanding that no one even agrees what understanding is. James Joyce's Ulysses is a crypto-ur-fascist work prefiguring the ascension and demise of Nationalist Irish America as found in the correspondences between Buck Mulligan and Donald Trump? Well, I certainly can't tell you that's wrong. Half of these terms would require volumes themselves to meaningfully define to an extent that a conclusion could even approach falsification.
This failure to understand misunderstanding is also pervasive in the majority of legal systems. They try to define terms and precedents in volumes and still have dogmatic disagreements about meaning and understanding.
Try doing this in a codebase and see how far you can get. "As you see, this comment in the Linux kernel was written by Linus Torvalds. Torvalds had many documented conflicts as a result of his frequently acerbic personality. We can date this comment to after his foray into improving his interpersonal skills. We can infer from the use of language found in the manuals of the University of Oregon's Anger Management school that Torvalds is emotionally disturbed yet diplomatically declining to accede to the Rust development team's demands for special privileges. Seeing that Torvalds, the creator of Linux, wanted to originally decline these changes, I have put forth a commit to undo all commits initiated by anyone associated with the Rust development team."
On the other hand, if programmers were to instantiate legal and semiotic assertions in Prolog from first principles, suddenly there's a legibility and granularity that makes the entire "meaning" and "understanding" game pointless because we can directly see and talk about where the logical assertions fail to correspond or contradict.
Saying that a reader understands a page or two of most books in a minute or so is like "understanding" the rules of Chess but being unable to actually win a game.
What differs between books and programs is the consequences of getting that sense of understanding wrong. When reading a book, the results of misunderstanding or skimming are rarely serious (outside the realm of technical manuals, textbooks, and holy books) whereas the programmer and user usually immediately notice that something is very wrong if the programmer took a wrong turn in their understanding.
Academics paid to "understand" non-technical books face so little consequences for misunderstanding that no one even agrees what understanding is. James Joyce's Ulysses is a crypto-ur-fascist work prefiguring the ascension and demise of Nationalist Irish America as found in the correspondences between Buck Mulligan and Donald Trump? Well, I certainly can't tell you that's wrong. Half of these terms would require volumes themselves to meaningfully define to an extent that a conclusion could even approach falsification.
This failure to understand misunderstanding is also pervasive in the majority of legal systems. They try to define terms and precedents in volumes and still have dogmatic disagreements about meaning and understanding.
Try doing this in a codebase and see how far you can get. "As you see, this comment in the Linux kernel was written by Linus Torvalds. Torvalds had many documented conflicts as a result of his frequently acerbic personality. We can date this comment to after his foray into improving his interpersonal skills. We can infer from the use of language found in the manuals of the University of Oregon's Anger Management school that Torvalds is emotionally disturbed yet diplomatically declining to accede to the Rust development team's demands for special privileges. Seeing that Torvalds, the creator of Linux, wanted to originally decline these changes, I have put forth a commit to undo all commits initiated by anyone associated with the Rust development team."
On the other hand, if programmers were to instantiate legal and semiotic assertions in Prolog from first principles, suddenly there's a legibility and granularity that makes the entire "meaning" and "understanding" game pointless because we can directly see and talk about where the logical assertions fail to correspond or contradict.