Why most programming languages fail
By GitHub
Key Concepts
- Programming Language Development: The challenges and extensive requirements involved in creating a new programming language.
- Barrier to Entry: The increasing complexity and expectations surrounding new programming languages.
- Tooling Ecosystem: The necessity of a comprehensive suite of tools beyond a compiler (IDE integration, debuggers, profilers, MCP servers).
- Adoption Curve: The lengthy timeframe required for a new language to gain traction and achieve meaningful usage.
- Sustainability: The financial and logistical difficulties of maintaining a new language during its initial adoption phase.
The Over-Saturation of Programming Languages & Initial Advice
The speaker immediately expresses skepticism towards individuals proposing new programming languages, stating the world “needs another hole in the head.” This initial reaction highlights a perceived over-saturation of options already available to developers. The primary advice offered is twofold: firstly, question the necessity of creating another language, and secondly, understand the immense undertaking involved if one proceeds.
The 90% Commodity & Rising Expectations
A core argument presented is that approximately 90% of the work involved in creating a programming language is fundamentally the same as what every other language creator must accomplish. This “90% commodity” encompasses foundational elements, and the speaker emphasizes this percentage is increasing over time. This signifies a rising “barrier to entry” – the complexity and effort required to even begin competing in the landscape.
Beyond the Compiler: The Modern Tooling Stack
The speaker details how simply having a functional compiler is no longer sufficient. Modern programmers expect a complete ecosystem of tools. Specifically mentioned are:
- Language Services: Integration with Integrated Development Environments (IDEs) – allowing features like autocompletion, syntax highlighting, and error checking.
- MCP Servers: (Likely referring to Machine Code Protocol or similar) Servers capable of interacting with Artificial Intelligence (AI) systems, suggesting a need for modern languages to be AI-aware or integrable.
- Debuggers: Tools for identifying and resolving errors in code.
- Profilers: Tools for analyzing code performance and identifying bottlenecks.
The sheer volume of required tooling is described as “oh my god, the list just goes on and on.”
The Decade-Long Adoption Struggle & Funding Concerns
The speaker stresses the significant time investment required for a new language to gain acceptance. A minimum of 10 years is suggested as the timeframe needed to achieve “a foothold” and reach “meaningful usage numbers.” This prolonged period is characterized by a “starving” phase – at least five years of insufficient user base and subsequent funding concerns. The question is explicitly raised: “Do we really want to keep funding this?” highlighting the financial risks associated with language development.
Real-World Implications & The Business of Languages
The speaker frames programming language creation as a “tough business,” implicitly acknowledging the challenges of attracting developers, building a community, and securing long-term support. The lack of immediate adoption is a critical obstacle, as developers are generally hesitant to invest time and effort in unproven technologies.
Synthesis
The central takeaway is that creating a new programming language is a significantly more complex and challenging endeavor than many realize. It’s not simply about designing a novel syntax or semantics; it’s about building and maintaining a comprehensive tooling ecosystem, navigating a lengthy adoption curve, and securing sustained funding. The speaker’s perspective is pragmatic and cautionary, emphasizing the high barrier to entry and the substantial risks involved.
Chat with this Video
AI-PoweredHi! I can answer questions about this video "Why most programming languages fail". What would you like to know?