{"slug": "a-man-who-named-ai-john-mccarthy-and-the-end-of-the-code-data-divide", "title": "A Man Who Named AI: John McCarthy and the End of the Code–Data Divide", "summary": "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.", "body_md": "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.\n\nBefore 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.\n\nThe 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.\n\nAfter 20+ years of writing code, I finally wrote Lisp for the first time.\n\nCode and full writeup: [GitHub chapter](https://github.com/nirmal91/turing-award-series/tree/main/06-john-mccarthy-1971)", "url": "https://wpnews.pro/news/a-man-who-named-ai-john-mccarthy-and-the-end-of-the-code-data-divide", "canonical_source": "https://nirmalutwani.substack.com/p/week-06-john-mccarthy-the-man-who", "published_at": "2026-09-20 05:30:43+00:00", "updated_at": "2026-09-20 05:52:54.940950+00:00", "lang": "en", "topics": ["artificial-intelligence", "ai-research", "developer-tools"], "entities": ["John McCarthy", "Lisp", "Java", "Python", "Go"], "alternates": {"html": "https://wpnews.pro/news/a-man-who-named-ai-john-mccarthy-and-the-end-of-the-code-data-divide", "markdown": "https://wpnews.pro/news/a-man-who-named-ai-john-mccarthy-and-the-end-of-the-code-data-divide.md", "text": "https://wpnews.pro/news/a-man-who-named-ai-john-mccarthy-and-the-end-of-the-code-data-divide.txt", "jsonld": "https://wpnews.pro/news/a-man-who-named-ai-john-mccarthy-and-the-end-of-the-code-data-divide.jsonld"}}