A significant initiative has been launched to digitally preserve and modernize "101 BASIC Computer Games," a groundbreaking anthology that profoundly influenced an entire generation of programmers and stands as a pivotal artifact in the history of personal computing. Spearheaded by prominent software developer and blogger Jeff Atwood, the project aims to update the collection of early computer games into ten modern, memory-safe programming languages, fostering a collaborative, open-source effort on GitHub. This undertaking seeks not only to celebrate the legacy of David H. Ahl, the book’s original author, but also to provide a valuable educational resource that bridges the gap between foundational programming concepts and contemporary coding practices.
The Genesis of a Digital Revolution and the Power of BASIC

The landscape of computing in the early 1970s and 1980s was vastly different from today’s ubiquitous graphical interfaces. Personal computers, when they first emerged, often booted directly to a command-line interface, a stark textual prompt awaiting user input. Without the sophisticated operating systems and application stores we know today, interacting with these machines required a fundamental understanding of their underlying commands. For many early enthusiasts, the primary method of making a computer "do" anything involved manually typing programs, line by line, from printed sources.
This era saw the rise of BASIC (Beginner’s All-purpose Symbolic Instruction Code) as the dominant programming language for personal computers. Developed in 1964 by John G. Kemeny and Thomas E. Kurtz at Dartmouth College, BASIC was designed to be simple and accessible, enabling students and non-specialists to engage with computers. Its widespread adoption by manufacturers like Apple, Commodore, and Microsoft (with Microsoft BASIC being a cornerstone of the IBM PC) cemented its status as the gateway to computing for millions.
"101 BASIC Computer Games": A Cultural and Educational Phenomenon

In this nascent technological environment, David H. Ahl’s "101 BASIC Computer Games" emerged as an unparalleled resource. First published in 1973 by Digital Equipment Corporation (DEC) and later expanded and re-released by Ahl’s own Creative Computing Press, the book was far more than a simple compilation of games. It was a cultural touchstone that democratized programming, providing readily available, albeit rudimentary, software for machines that often lacked any pre-installed applications. The book showcased a collection of games initially published in Ahl’s seminal "Creative Computing Magazine," which he founded in 1974 after leaving DEC.
Ahl’s entrepreneurial spirit and dedication were evident in the early days of "Creative Computing." Starting with limited capital, he personally handled numerous aspects of the magazine’s production, from editing and writing articles to typesetting, photography, and even manually pasting labels for mailing. Despite an initial subscriber base of only 600 in October 1974, Ahl took a bold gamble, printing 8,000 copies of the first issue, delivering thousands of unsolicited copies to libraries and schools nationwide. This grassroots effort significantly contributed to the burgeoning computer literacy movement.
The impact of "101 BASIC Computer Games" was immediate and profound. Its initial DEC printing of 10,000 copies quickly sold out, necessitating a second run. Remarkably, Ahl noted that at one point, "there were more copies of this book in print than there were personal computers, period!" This statistic underscores the book’s immense influence and its role in inspiring individuals to acquire computers and learn programming. It became the first computer book to sell over a million copies, a testament to its widespread appeal and foundational role in shaping the early computing landscape. For many, including Jeff Atwood, these books were instrumental in sparking a lifelong passion and ultimately, a professional career in programming. The experience of typing in programs by hand, debugging inevitable typos, and witnessing the immediate results was a formative experience for an entire generation.

The Need for Modernization: Bridging Eras of Code
While the historical significance of Ahl’s collection is undeniable, the programming practices embodied in these early BASIC games reflect the technological constraints and conventions of their time. Programs were often characterized by line numbers, extensive use of GOTO statements, and a lack of structured programming principles, leading to what is famously termed "spaghetti code." These characteristics, while functional, are antithetical to modern software development standards which prioritize readability, modularity, maintainability, and reusability through constructs like subroutines and functions.
A previous attempt in 2010 to modernize these BASIC programs using SmallBasic, a simplified version of BASIC, was largely deemed insufficient by experts like Atwood. While it removed line numbers, it failed to introduce fundamental modern programming concepts such as subroutines, which Atwood describes as "merely the greatest invention in computer science" for their role in organizing code and promoting modularity. A direct comparison between the original 1973 BASIC "Civil War" game and its 2010 SmallBasic port reveals that the core structure and lack of modern abstractions remained largely unchanged, failing to provide meaningful relevance to contemporary coding practices.

This realization catalyzed Jeff Atwood’s current initiative. Recognizing the enduring value of these "precious artifacts of early computing," Atwood sought and received explicit permission from David H. Ahl himself to undertake a comprehensive modernization effort. The goal is to update these ancient programs not just syntactically, but structurally, embracing modern programming paradigms while preserving the original spirit and functionality of the games.
Project Scope and Collaborative Methodology
The "101 BASIC Computer Games" modernization project is a large-scale, open-source endeavor hosted on GitHub. It invites the global programming community to contribute to updating the original 101 games into ten carefully selected memory-safe, general-purpose scripting languages. The chosen languages reflect a balance of widespread popularity, suitability for scripting, and adherence to modern safety standards:

- Python: Renowned for its readability and versatility across various domains.
- JavaScript: The foundational language for web development, with extensive server-side applications via Node.js.
- Ruby: Valued for its elegant syntax and developer-friendliness.
- C#: A powerful, object-oriented language from Microsoft, widely used in enterprise and game development.
- Go: Developed by Google, known for its efficiency, concurrency, and robust standard library.
- PHP: A dominant language for web development, particularly for content management systems.
- Swift: Apple’s modern, safe, and fast programming language for iOS, macOS, watchOS, and tvOS development.
- Kotlin: A modern, statically typed language developed by JetBrains, fully interoperable with Java and popular for Android development. (Added in March 2022 as an alternative to Java).
- Rust: A systems programming language that guarantees memory safety without garbage collection, gaining significant traction for its performance and security. (Replaced Pascal in March 2022 due to its strong memory safety guarantees).
- Lua: A lightweight, high-performance scripting language often embedded in applications and games. (Added in March 2022 after cracking the top 20 in TIOBE index, meeting scripting and memory safety criteria).
The project explicitly emphasizes the adoption of modern programming practices, including the pervasive use of subroutines (functions/methods in modern parlance), clear variable naming, and modular design. This approach transforms the basic games into exemplars of contemporary code, making them relevant for educational purposes and demonstrating the evolution of programming thought.
Incentivizing Contribution and Broader Impact
To encourage widespread participation, Jeff Atwood has pledged a donation of $5 to Girls Who Code for every functioning program submitted in each of the ten designated languages by the end of 2022. Girls Who Code is a non-profit organization dedicated to closing the gender gap in technology and changing the image of what a programmer looks like and does. This initiative not only provides a tangible incentive for contributors but also aligns the project with a broader mission of promoting diversity and inclusion in the tech industry.

The collaborative nature of the project on GitHub reimagines the solitary experience of early programmers. Instead of individuals typing code in isolation and wrestling with personal typos, the platform allows for global, collective effort, peer review, and shared problem-solving—mirroring the collaborative spirit of modern open-source development. This communal aspect transforms a historical preservation effort into a living, evolving repository of code.
The implications of this modernization project extend beyond mere digital archiving.
- Digital Preservation: It ensures that these foundational works of early computing remain accessible and runnable on modern systems, preventing their obsolescence as hardware and software environments evolve. This preserves not just the code, but also the original intent and the artistic contributions, such as the wonderful original art by George Beker, which accompanied many of these games.
- Educational Resource: The updated games can serve as a unique educational tool. Students can compare the original BASIC code with its modern counterparts, gaining insights into the historical evolution of programming languages and the development of structured programming principles. It offers a practical demonstration of how core logical problems can be solved across different language paradigms.
- Open-Source Collaboration Showcase: The project stands as an excellent example of how distributed, community-driven development can tackle ambitious tasks, demonstrating the power and efficiency of the open-source model. It invites programmers of all skill levels to contribute to a meaningful historical and educational endeavor.
- Inspiration and Mentorship: By connecting the historical roots of programming with contemporary practices and supporting organizations like Girls Who Code, the project inspires new generations of programmers, particularly those from underrepresented groups, to explore the field. It highlights that the fundamentals of problem-solving transcend specific languages or eras.
A Call to Action for the Global Programming Community

Jeff Atwood has also expressed a desire for project co-owners to help organize and sustain this significant effort, inviting individuals passionate about the project to step forward and contribute to its leadership. This reinforces the project’s commitment to community ownership and long-term viability.
The "101 BASIC Computer Games" modernization project represents a unique opportunity for the global programming community to engage with a pivotal piece of computing history. By dedicating time and expertise, participants can contribute to updating one of the most influential books in computing history for the 21st century and beyond, ensuring its legacy continues to inspire and educate future generations of innovators. The guidelines for contribution are available on the project’s GitHub repository, and discussions are ongoing on the Coding Horror discourse forum, emphasizing that, above all, the process is meant to be an enjoyable and rewarding experience. This initiative is a testament to the enduring power of foundational ideas and the collaborative spirit of the tech world in preserving and advancing knowledge.
