I Use Python Because Claude Was Trained On It. We Are Not The Same
Why is this AI ML meme funny?
Level 1: The Two Crayon Kids
Two kids both draw with the same red crayon. The first kid says, "I picked red because it's my favorite color." The second kid straightens his little tie very seriously and says, "I picked red because the magic drawing robot that does my homework works best with red." Then he says, "We are not the same," like he's revealed something incredibly deep. The funny part is — they're both just holding the same crayon. One chose it with his heart, one chose it to please a robot, and the robot doesn't care about either of them. It's a joke about how people love feeling different even when they're doing the exact same thing.
Level 2: The Terms Under the Tie
Python is the dominant general-purpose language for AI work, scripting, and backends — famous for readable syntax and a giant ecosystem. Claude is Anthropic's family of large language models, widely used as a coding assistant. Training means the model learned by ingesting enormous amounts of text and code; languages that appear frequently in that corpus are ones the model completes more accurately, while rare languages produce more errors and invented APIs. That's why the meme's logic is real: ask an LLM to write Python and you usually get working, idiomatic code; ask for an obscure language and you may get plausible-looking nonsense you'll spend an afternoon debugging. The "We are not the same" format comes from Breaking Bad's Gus Fring and is used to draw a mock-profound distinction between two people doing outwardly identical things. If you're early in your career, the practical lesson hiding here: when evaluating a stack today, "how well do the AI tools support it" is a legitimate engineering criterion, the same way "is the documentation good" always was — just don't let it be the only one.
Level 3: Corpus Frequency as a Design Criterion
The Gus Fring template — Giancarlo Esposito in the grey suit, adjusting his tie with funeral solemnity — exists to deliver a status inversion: the speaker claims superiority through something that sounds worse but is secretly more pragmatic. Here the inversion is the entire LLM-era shift in how technology gets chosen:
"YOU USE PYTHON BECAUSE YOU LIKE THE LANGUAGE / I USE PYTHON BECAUSE CLAUDE WAS TRAINED ON IT A LOT / WE ARE NOT THE SAME"
For decades, language selection debates ran on a familiar axis set: expressiveness, type safety, performance, ecosystem, hiring pool. The meme announces a new axis that quietly dominates all of them: training data distribution. If most of your code is going to be drafted, refactored, and debugged by a model, then the relevant question is no longer "do I like writing this language?" but "how dense is this language in the pretraining corpus?" Python and JavaScript blanket GitHub, Stack Overflow, tutorials, and documentation — so models complete them fluently, idiomatically, with fewer hallucinated APIs. Pick a beautiful but rare language and your assistant degrades into a confident liar that invents standard-library functions. The Gus character isn't trolling; he's doing capacity planning.
The seniors-nod-knowingly part is that this creates a feedback loop with real lock-in dynamics. Models are trained on existing code → developers choose languages models are good at → more code in those languages gets written (much of it by models) → the next training run is even more Python-heavy. It's the rich-get-richer mechanics that already gave us the JavaScript monoculture, now with a compounding synthetic-data accelerant. Niche languages face a new cold-start problem: Elixir or Nim or Zig now compete not just for human mindshare but for corpus share, and no amount of elegant pattern-matching syntax fixes a sparse training signal. The genuinely uncomfortable implication — the one the meme smuggles in under the joke — is that language design itself may be frozen: why would anyone adopt a new language whose corpus is, by definition, zero? The same logic extends down the stack: frameworks, ORMs, even code style converge toward whatever the models reproduce most reliably. "Idiomatic" is being redefined from "what the community prefers" to "what the model emits at temperature 0.7."
And yet — the punchline cuts both ways. Both characters end up writing Python. The aesthete and the corpus-optimizer converge on identical requirements.txt files; only the narrative differs. That's the quiet joke about most engineering identity wars: the stack is the same, the self-image is the differentiator.
Description
The Gus Fring 'We are not the same' meme template: Giancarlo Esposito as Gustavo Fring from Breaking Bad, in a grey suit and glasses, solemnly adjusting his tie against a dark teal background. Three white caption blocks read: 'YOU USE PYTHON BECAUSE YOU LIKE THE LANGUAGE' / 'I USE PYTHON BECAUSE CLAUDE WAS TRAINED ON IT A LOT' / 'WE ARE NOT THE SAME.' The joke captures a genuine shift in language selection criteria for the LLM era: ergonomics and personal taste matter less than how well your coding assistant autocompletes the stack, so devs rationally converge on whatever Python/JS-heavy corpus the models know best
Comments
2Comment deleted
Language selection criteria, 2026 edition: not type safety, not performance - token frequency in the pretraining corpus
ofc I'm better and enjoy what I do. Comment deleted