3 ms·
When I read news articles about topics with which I am familiar, I encounter plenty of statements that strike me as basically false. Consider this excerpt from
by manfredo 8y ago
When I read news articles about topics with which I am familiar, I encounter plenty of statements that strike me as basically false. Consider this excerpt from the New York Times' piece of Donald Knuth [1]:
> Following Dr. Knuth’s doctrine helps to ward off moronry. He is known for introducing the notion of “literate programming,” emphasizing the importance of writing code that is readable by humans as well as computers — a notion that nowadays seems almost twee.
Calling the idea that code should be readable by humans "almost twee" just makes me think that the writer has no idea what they're talking about. Sure, there are times when people write crap code, but being readable by humans is the whole reason why we built coding languages. Not to mention, the average readability of code has probably increased over time, not decreased. The author is basically just pulling this statement out of her behind to embellish Knuth's reputation, to the detriment of the credibility of the rest of the article.
It's nowhere near the magnitude of the fabrications in Der Spiegel of course, but it does seem to be the case that writers are willing to trust their own prejudices without fact checking. I was able to spot when those prejudices in the above example but only because I have relevant domain knowledge. It makes me wonder, how many times do I swallow the BS without knowing it? It's just a matter of how small (or big) of a statement they're willing to make without verifying it's veracity.
1. https://www.nytimes.com/2018/12/17/science/donald-knuth-computers-algorithms-programming.html https://www.nytimes.com/2018/12/17/science/donald-knuth-comp...
- munificent 8y agoGell-Mann amnesia effect: https://en.wikipedia.org/wiki/Gell-Mann_amnesia_effect https://en.wikipedia.org/wiki/Gell-Mann_amnesia_effect
- fromthestart 8y agoI immediately thought the same thing. But then I thought, not being a subject matter expert doesn't give you an excuse to write bullshit. I think people who study the arts are less likely to have experience with and understand complex systems and, because of the different structure of knowlege in a subject like journalism, it's easier to be overconfident in one's knowlege. Especially when extended to topics like physics which require mathematics to truly understand.
- danso 8y agoAnd yet a journalist with no tech startup, venture capital, or biomedical experience was able to understand and expose Theranos, which ran its scam right out from Palo Alto and Stanford.
- Fnoord 8y agoAfter reading Bad Blood, the exposure had almost failed was it not for Carreyrou's enduring persistence. He met both internal and external pressure to call off his investigation. Not every journalist is cut for that kind of pressure.
- danso 8y ago> Calling the idea that code should be readable by humans "almost twee" just makes me think that the writer has no idea what they're talking about. This is a strange criticism, and ironically it seems to reveal your own misconception of what "literate programming" actually is. Setting aside the discussion of how languages and design philosophies make tradeoffs that affect readability, Knuth's particular brand of "literate programming" pushes a concept that is orthogonal to language design, and substantially different than the precepts of style and commenting practices offered by things like PEP8. "Literate Programming". From Knuth's homepage [0]: > The main idea is to treat a program as a piece of literature, addressed to human beings rather than to a computer. From the literateprogramming.com page that Knuth's homepage links to, an excerpt from Ross Williams: > Instead of writing code containing documentation, the literate programmer writes documentation containing code. No longer does the English commentary injected into a program have to be hidden in comment delimiters at the top of the file, or under procedure headings, or at the end of lines. Instead, it is wrenched into the daylight and made the main focus. Here's a HN thread about docco, one of the few real-world tools related to literate programming: https://news.ycombinator.com/item?id=2089912 https://news.ycombinator.com/item?id=2089912 "Literate programming" is not just about readable code, it's about fundamentally restructuring the entire program to be read as one would read a work of literature. And this is something that is not at all standard practice, nor a philosophy that everyone agrees to even be ideal in theory. Here's Peter Norvig's criticism [2]: > I think the problem with Literate Programming is that assumes there is a single best order of presentation of the explanation. I agree that the order imposed by the compiler is not always best, but different readers have different purposes. You don’t read documentation like a novel, cover to cover. You read the parts that you need for the task(s) you want to do now. What would be ideal is a tool to help construct such paths for each reader, just-in-time; not a tool that makes the author choose a single pth for all readers. So saying Knuth's philosophy of "literate programming" is "twee" is not at all inaccurate. The sentence structure from the NYT article could be rejiggered so that it's clearer that "twee" refers to Knuth's philosophy, and not "code that is readable by humans" in general. But the author is absolutely right to describe Knuth as being a pioneer in literate programming, and that it's a paradigm not followed in practice by mainstream software development. [0] https://www-cs-faculty.stanford.edu/~knuth/lp.html https://www-cs-faculty.stanford.edu/~knuth/lp.html [1] http://www.literateprogramming.com/ http://www.literateprogramming.com/ [2] https://www.johndcook.com/blog/2016/07/06/literate-programming-presenting-code-in-human-order/ https://www.johndcook.com/blog/2016/07/06/literate-programmi...
- cat199 8y ago> Calling the idea that code should be readable by humans "almost twee" just makes me think that the writer has no idea what they're talking about. Actually.. no. He did do this. https://en.wikipedia.org/wiki/Literate_programming https://en.wikipedia.org/wiki/Literate_programming And it's not just that programming should be in languages rather than machine code, but that the code + comments should read like a coherent document. In other words, just because you write in a programming language doesn't mean it's literate programming.
- giornogiovanna 8y agoThat's not what GP is complaining about - rather, the issue is that the article misrepresents what literate programming is, and makes it sound like nobody writes code for humans to read these days, which is obviously false.
- hopler 8y agoIn my decades of programming experience in the commercial sector, I have seen very little readable code. Rush to market and insecure competitive "anyone as smart as me would understand my code" is standard.