Computer science is having an identity crisis about its own foundations — asking whether the field needs physical machines or can exist in pure abstraction like mathematics. Is really asking whether you can think like a computer scientist without ever touching a computer.
This exact crisis happened in mathematical logic in the 1930s. In 1936, Alonzo Church developed lambda calculus to formalize computability and proved it equivalent to Alan Turing's theoretical machines without a single computer existing on Earth.
Both men were working from pure mathematical intuition about what computation meant, not from any empirical observation of how machines behaved. The field survived this abstraction completely fine — computability theory was born in the abstract and stayed there for years before electronic computers materialized to confirm it.
The structural similarity is precise. Both crises pit theoretical independence against pedagogical intuition, and both proved the same thing. You can reason about computation without machines. Computer science has now proven you can prove any theorem about algorithms, complexity, or computability using only pencil and paper.
Modern computer science pedagogy treats 'I've never run code' as disqualifying in a way mathematics never did.
Yet here is the actual tension. Modern computer science pedagogy treats "I've never run code" as disqualifying in a way mathematics never did. When Gödel proved his incompleteness theorems, nobody asked whether he'd built a proof-checking machine. But today, a mathematician who claims to do computer science without programming gets met with skepticism that isn't about logic. It's sociological, about whether you've internalized what it feels like when a machine iterates through a billion possibilities.
The difference between then and now is this. Mathematical logic stayed inside mathematics, but computer science tried to escape it. The field was born from machines and grew up treating that origin as incidental. Pedagogy has quietly decided it's essential. If you learn to think like a computer scientist only by programming, you're not learning theory from first principles anymore. You're learning it through muscle memory, internalizing constraints you've never directly felt.