abc-unix
The original ABC language (Python's predecessor), from 1991
The original 1980s source code for ABC, the programming language that directly inspired Python, preserved here as a historical artifact rather than a practical tool.
What This Repository Is
This is the original source code for ABC, a programming language from the late 1980s that directly inspired Python. Guido van Rossum, who created Python, worked on ABC from 1983 to 1986 and later drew heavily from its design when building Python. Think of this as the ancestor—stored in version control—of a language that millions of people use today.
Why It Matters
ABC was designed to be beginner-friendly and readable, with an emphasis on clarity over cleverness. It introduced many ideas that Python later adopted: simple syntax, straightforward indentation, and the goal of making code accessible to non-specialists. By studying this repository, you can see where modern Python came from and understand the design choices that shaped how the language works today.
What's Here
The repository contains the original C code that made ABC run. The README notes that most files date back to 1991, with a few updates in 1996 and 2021. The codebase is presented as-is from the original CWI (Centrum Wiskunde & Informatica) archives in Amsterdam. Building and running it today is a bit tricky because it was written for 32-bit systems, and Guido mentions he hopes to eventually update it to work on modern 64-bit machines.
Who Would Care
This is mainly useful for programming language historians, people curious about how Python evolved, or researchers studying language design. If you're interested in understanding the philosophical roots of Python—why it looks and feels the way it does—this source code is the primary document. It's not meant for practical programming today; it's an artifact that shows how one of the world's most popular languages grew out of earlier ideas about making programming more human-friendly.
Where it fits
- Study the original ABC source code to understand which design ideas Python inherited.
- Research the history of programming language design by tracing Python's roots to ABC.
- Attempt to build and run ABC on a modern 64-bit machine as a language-preservation exercise.