中文 →
Blog Deep Read · 20 · yinwang.org

Wang Yin
How Knowledge Rots in Transmission

当然,我在扯淡 (Dāngrán, wǒ zài chědàn — "Surely I Am Joking"), by 王垠 (Wáng Yín, Wang Yin) · 129 posts currently public · 18 May 2012 to 15 July 2026, still running · output wildly uneven: 30 posts in 2013 alone, 4 posts across 2023–2025 combined · one clear turn: after "Why I No Longer Do PL" in March 2016 the subject drifts from programming languages toward teaching, health and daily life · tags skew to philosophy (32), education (26), programming languages (24), AI (18) · everything is free; a voluntary payment note sits at the foot of each post · this page is built on 16 posts read in full, spanning July 2012 to February 2022, six of them inside the earliest 20% of the current site's lifespan, with samples on both sides of the 2016 turn

Pull all 129 posts off Wang Yin's current website, then count how often they link to each other, and you get an absurd result: the two posts he cites most often are no longer on the site. Six posts point to "The Wisdom of Programming"; five point to "How to Write an Interpreter." The links are still sitting there in the prose. They open onto nothing. A man who spent twenty years telling you to go read the primary sources rather than someone's retelling has deleted his own primary sources.

This isn't gossip. It lands exactly on the question he has been chasing his whole life: when an idea leaves the hands of the person who had it, and travels through textbooks, terminology, prizes, biographies and lineages of students, what is left of it when it reaches you?

There is a specific moment when he ran into that question. He went and read the founding paper of modern logic — Frege's Begriffsschrift, 1879 — and found that it contains no formulas at all. Twenty-odd pages, entirely diagrams that look like circuits, one line joined to another, and easy to read. The eye-watering logical notation in today's programming-language papers is a transcription later people invented to flatten those diagrams onto a single line.

其实他的目的是用符号来表示那些电路图,结果到后来徒孙们以为那些符号就是祖传秘籍的精髓,忘记了那些符号背后的电路图,所以导致了今天的混乱局面。His purpose was to use symbols to represent those circuit diagrams. But by the time it reached the disciples' disciples, they thought the symbols were the essence of the ancestral secret, and forgot the circuit diagrams behind them — which is what produced today's mess."My Story with Authority," 4 January 2014

A notation invented for convenience, mistaken by later generations for the thing itself. That is the key to the whole blog, and almost everything he wrote afterwards is a variation on it. The most original variation is this: text is only an encoding; structure is the thing. He puts it flatly —

代码的本质根本就不是字符串,它本来就是一个具有复杂拓扑的数据结构,就像电路一样。Code is not, in its essence, a string at all. It is a data structure with a complex topology — like a circuit."Misconceptions About Parsers," 19 September 2015

Take that seriously and things start collapsing. Decades of parsing technology turn out to be decoders for needlessly complicated encodings — he calls parsing "step zero of the Long March." Unix's habit of piping unstructured strings between processes put the same mistake into the foundations. Run it in reverse, though, and it is a superb tool: the universal Turing machine is, he says, just an interpreter; so is a CPU. Interning at Google in 2011, he saw that a cross-language code-index system was "nothing but an abstract interpreter" — prototype over a weekend, and in three months he finished what others thought would take years.

And his one criterion for judgment is: can a human hold it in their head without jumping somewhere else? His best demonstration takes a knife to Haskell's currying. (f 2) is shorter than \y -> f 2 y, but the short one doesn't tell you how many arguments f takes; you have to go look up the definition and come back. Push to three arguments and the "clever" version becomes flip (f 1) 2 while the "dumb" one is unchanged. Then he writes the line that could go on his headstone:

有时候,好的程序其实不在于显示你有多「聪明」,而在于显示你有多「笨」。Sometimes a good program isn't about showing how clever you are. It's about showing how dumb you are."The Limits of Currying," 2 April 2013

The same ruler, applied to test-driven development: tests are the tyre barriers at the edge of a racetrack, and "barriers won't make you a good driver, and they won't win you the championship." Applied to his own profession, it yields his harshest demand on himself — "a real genius must be able to make things simple."

Put together, he is always doing one thing: pressing a much-retold object back into its original shape, and reporting the difference. He used it to recount Turing — Church published a year before Turing even submitted, with a simpler model. He used it to audit Design Patterns — he mapped the twenty-odd patterns onto concepts he used daily, and the mapping came out many-to-one. He used it to puncture "super-human machine vision" — that benchmark gives the machine five guesses per image, where a person needs one.

Finally he turned the knife on the word "genius" itself. In 2017 he publicly retracted his own earlier essay "How to Become a Genius": "Let me tell you a secret: I lied." There is, he says, no such thing as a genius, and the concept was never defined in the first place. The argument is as plain as ever — you say Einstein, Feynman and Turing were geniuses; have you ever spoken to them? No. So where did everything in your head about them come from? All of it came out of other people's mouths. Second-hand knowledge again; the same chain, distorted in transmission.

A knife that sharp also cuts what it shouldn't. In 2017 he wrote that "automatically generating programs is simply impossible"; nine years on, the absolute form of that sentence no longer stands. He also took the same "I have reasoned it out and the mainstream is wrong" method into myopia — a field where other people's randomised controlled trials point the opposite way.

But he had already written the reader's disclaimer, and it may be the most honest sentence he ever published: "I hope you all think critically, and do not blindly accept what I say."