The Eternal Promise: A History of Attempts to Eliminate Programmers
This piece meticulously traces the recurring historical promise to simplify software creation and eliminate programmers, from COBOL to AI, consistently highlighting how each wave instead created new specializations. It argues that the fundamental challenge of software development lies in understanding complex intent and making nuanced decisions, not merely coding, a human skill tools haven't replaced. HN commenters are sharply divided, debating if current AI models truly represent an unprecedented paradigm shift or just another iteration of the historical hype cycle.
The Lowdown
The article, "The Eternal Promise: A History of Attempts to Eliminate Programmers," argues that the current hype around AI replacing developers is merely the latest iteration of a recurring historical pattern stretching back to the 1950s. Author Ivan Turkovic details how various technologies, from COBOL to no-code platforms, were introduced with the promise of democratizing software development and making programmers obsolete, only to consistently fall short of that ultimate goal.
- COBOL's Promise (1959): Grace Hopper's COBOL aimed to be so English-like that business managers could write their own programs, eliminating specialized programmers. Instead, it created a new profession of COBOL programmers, demonstrating that language readability doesn't equate to ease of complex system creation.
- First AI Winter & Expert Systems (1960s-70s): Early AI pioneers predicted machines would program themselves. Expert systems promised to capture human expertise. The Lighthill Report exposed the gap between promises and reality, leading to the first AI winter, as complex real-world problems overwhelmed early AI capabilities.
- Fourth-Generation Languages (4GLs) (1980s): 4GLs like PowerBuilder and Access promised non-programmers could build applications visually. While successful for simple tasks, complex applications still required specialized developers, repeating the pattern of creating new developer categories rather than eliminating them.
- CASE Tools & MDA (Late 1980s-Early 2000s): Computer-Aided Software Engineering (CASE) and Model-Driven Architecture (MDA) aimed to generate entire applications from diagrams and models. These systems proved cumbersome, difficult to maintain, and moved complexity to specification rather than code, ultimately failing to deliver on their grand promises.
- No-Code/Low-Code Renaissance (2015 onwards): Modern no-code tools like Bubble and Webflow similarly promise to empower "citizen developers." While making basic applications accessible, they haven't reduced the demand for traditional developers; instead, they've increased the overall amount of software built, leading to more complex projects requiring specialized skills.
- LLMs: The Current Wave: The author situates large language models (LLMs) and AI code generation within this historical context. While acknowledging LLMs represent a genuine capability breakthrough and offer productivity gains, he asserts they face the same fundamental challenge: translating inherently complex human intent into correct, maintainable software.
- Why Promises Fail: The article argues that the "hard part" of software development is not typing code, but precisely specifying behavior, managing ecosystem integration, and making critical tradeoffs—skills requiring human judgment and deep understanding.
- What Actually Changes: Each wave lowers the barrier to entry for simple tasks, increasing overall software creation and, in turn, demand for more sophisticated software and developers. This evolution is positive, even if initial predictions are wrong.
- Lessons Learned: Skepticism towards extreme predictions is warranted, genuine improvements in productivity are real, the nature of programming work will continue to evolve, human skills (understanding requirements, design, debugging, communication) remain essential, and developers who thrive will master new tools while retaining deep fundamental understanding.
Ultimately, the article concludes that there is "no substitute for understanding." The need for people who deeply comprehend what they are building and why remains constant, regardless of tool advancements. Programming, as an act of crystallized thought and problem-solving, will continue to require human skill, judgment, and understanding, despite repeated historical predictions of its demise.
The Gossip
AI's Unprecedented Ascent
Many commenters strongly contend that current AI, particularly Large Language Models (LLMs), are fundamentally different from previous "programmer-eliminating" technologies. They argue that AI's ability to understand natural language, disambiguate, and "fill in missing details" allows it to replicate the manager-engineer dynamic in a way past technologies (like compilers or 4GLs) could not. Some believe AI can now sit in meetings, take notes, and soon even tech lead teams, suggesting a genuine shift unlike historical failures.
Spec-tacular Specificity
Countering the "this time is different" argument, several users emphasize that the core challenge isn't code generation, but accurately defining "what you want" with enough clarity and specificity. They argue that while LLMs accept natural language, they don't obviate the need for precise communication and checking outputs. This echoes the article's point that the difficulty lies in thinking clearly and making good decisions, not just typing code. One user highlights the danger of junior developers using AI to create complex, unmaintainable systems without understanding underlying principles.
Democratization's Dilemma
A key discussion point revolves around the article's mention of "democratizing" software. Some commenters argue that while AI might enable non-programmers to build simple tools, the underlying LLM technology is owned by large corporations, making it inherently less democratic than traditional coding on open-source systems. This raises concerns about centralization of power, potential geopolitical implications (e.g., China's lead), and whether users are truly "making their own tools" or merely "renting" them.
History's Haunting Hype
Many users agree with the article's historical perspective, noting that predictions of programming's demise are a recurring theme. They emphasize that dismissing past failures because "the present is different" is naive, especially regarding human nature and economic incentives. While acknowledging AI's utility as a pair-programmer, there's a strong sentiment that experience and deep understanding remain crucial, questioning the long-term career prospects for those solely relying on AI without fundamental programming skills.