cd /news/artificial-intelligence/a-man-who-named-ai-john-mccarthy-and… · home topics artificial-intelligence article
[ARTICLE · art-134942] src=nirmalutwani.substack.com ↗ pub= topic=artificial-intelligence verified=true sentiment=↑ positive

A Man Who Named AI: John McCarthy and the End of the Code–Data Divide

A developer traced the legacy of John McCarthy, who coined the term "artificial intelligence" and pioneered representing code as data, in a historical writeup accompanied by a first Lisp implementation. The piece highlights McCarthy's contributions to Lisp, macros, garbage collection, and time sharing, noting that garbage collection is now standard in languages like Java, Python, and Go. After more than 20 years of programming, the developer wrote Lisp for the first time as part of the project.

read1 min views1 publishedSep 20, 2026
A Man Who Named AI: John McCarthy and the End of the Code–Data Divide
Image: Nirmalutwani (auto-discovered)

Tracing some history of artificial intelligence, I was looking forward to this chapter. John McCarthy coined the term artificial intelligence. He is also directly or indirectly responsible for Lisp, macros, garbage collection, time sharing, and code as data. He is the quintessential computer scientist.

Before McCarthy, computing was mostly calculation, not generation. You fed the machine numbers and it handed numbers back. He was one of the first to get a machine to create new facts out of facts it already had. Socrates is a man. All men are mortal. So Socrates is mortal. A computer before McCarthy could not produce that last line on its own. To do that, a machine has to take old facts apart and build new ones. Which means facts can’t sit there as frozen instructions. They have to be data the machine can pick up and rework. McCarthy’s twist was to write the code in that same form, so code and data became the same thing.

The thing about Lisp that stuck with me: in a normal language your code gets parsed and compiled into something else before it runs. You never see that middle. In Lisp there is no middle. The list you write is the same list that runs. A small function called eval reads it and runs it on the spot. The code and the thing that runs the code are the same. And because Lisp makes and throws away lists constantly, he had to invent garbage collection to clean up. That is now standard in most languages, like Java, Python, and Go.

After 20+ years of writing code, I finally wrote Lisp for the first time.

Code and full writeup: GitHub chapter

── more in #artificial-intelligence 4 stories · sorted by recency
── more on @john mccarthy 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/a-man-who-named-ai-j…] indexed:0 read:1min 2026-09-20 ·