Written in Python, Part 8: The Last Human-Readable Layer
Models write Python best because the corpus is Python, and people write Python because the models do. A new kind of lock-in, frozen at training time and held in no population.
A series on how one language shaped artificial intelligence, and how intelligence is now reshaping it.
Nobody Knows the Number
Ask how much of the world’s code is now written by machines and you will get an answer between twenty-five and fifty percent, depending entirely on who is counting.
The high figures, around forty-one to forty-six percent, come from surveys, and surveys measure what developers report. They also tend to collapse two different things: code a model produced, and code a person wrote with a model’s help. The largest empirical measurement to date, covering roughly four point two million developers between November 2025 and February 2026, put AI-authored production code at 26.9 percent. Individual companies report their own numbers, which vary by enough to make anyone cautious about the aggregate.
The honest summary is that the quantity is large, growing, and not well measured, and that the disagreement is mostly about definitions rather than about facts. It is a strange thing not to know precisely, in an industry that measures everything.
The confusion is not incidental. A developer accepts a completion and edits three tokens of it. An agent opens a pull request and a human merges it. A model writes a test that a human then makes pass. Each sits somewhere on a continuum, and the surveys counting the whole continuum produce the high numbers while the empirical studies count one end of it. Seven instalments argued that a language shapes what gets built, and that was tractable because it was possible to say who wrote what. No amount of better instrumentation fixes this, because the activity has stopped having a clean boundary.
Buried in those reports is a smaller figure. When Satya Nadella discussed Microsoft’s internal numbers in 2025, he noted that the share was not uniform across languages. It was highest in Python and JavaScript. It was lower in C++.
That is not a statement about those languages. It is a statement about what the models had read, and what they had read is the subject of everything that follows.
The Loop
Models write Python well because their training corpora contain an enormous quantity of Python.
That quantity has a specific history, and this series has spent seven instalments on it. An extensible language, because van Rossum had watched a language die of being unobtainable. An array object, because a graduate student wanted to do arithmetic and an assistant professor later sold a book to pay for merging two incompatible versions of it. A framework that won by making the model behave the way the code read. A notebook, written in six weeks by a physicist avoiding his dissertation, that made the exploratory artifact and the shareable artifact the same object, and in doing so filled the public internet with working code that had prose around it explaining what the code was for.
There is no better training material than that. Python’s position in the corpus is the fossil record of its position among people.
People now write Python partly because models write it well. A developer choosing a language for a new project is choosing, among other things, how much help they will get, and the help is not evenly distributed. Choosing the language the model is fluent in is choosing to be faster, and increasingly it is choosing whether an agent can work on the codebase without supervision.
The effect compounds on the corpus rather than on the people. Code written with assistance resembles the training data, since that is where the assistance came from. Some of it is published. Published code becomes training data.
Picture the loop from the position of somebody starting out. A student learning to program in 2026 writes their first hundred lines with a model watching over their shoulder, and the model suggests the idiom it has seen most often, and the student learns that idiom rather than the one they might have invented. They post the result. It is now training data. Nobody in that sequence made a decision about the future of the language, and every step of it was reasonable.
Nobody has established how strong this is, and it would be an overstatement to claim the effect is currently large. What can be said is structural: the feedback path exists, it did not exist before, and it runs toward entrenchment for both the language and the style.
Those observations form a loop, self-reinforcing in the way Part 3 described. It is not the same loop.



