Human factors, not technical merit, dictate programming language survival
A recent review of language lifecycle argues that social and economic considerations outweigh raw capability, with difficulty only tolerated if it yields sufficient return.
A recent analysis published on Hacker News via Bytecode News argues that the rise and fall of programming languages is determined by human factors rather than purely technical merit. The piece, responding to a series by Andrew Oram, posits that programming is a triad of vocation, art, and job. Languages fail when they introduce unnecessary friction to one or more of these axes, allowing easier alternatives to replace them.
The article distinguishes between two types of difficulty: "violin-like" difficulty (precise, demanding, and chosen for its return, e.g., C++, Rust) and "friction" (unnecessary obstacles, e.g., Ada’s compliance apparatus, Pascal’s missing string types). While technical capability is necessary, social and economic considerations determine survival. For instance, C++ and Rust endure despite their complexity because they provide sufficient "return" (such as precision or safety) to justify the effort, similar to a musician choosing a violin over a sampler.
Conversely, languages like Ada and Pascal have struggled due to friction that hindered utility or enjoyment, with Ada’s survival largely attributed to certification mandates rather than organic preference. The analysis cites Simon Peyton Jones, noting that adoption is "very weakly connected to its technical merits," and that social and economic factors do the actual deciding.
It argues that Java is currently "immortal from utility AND fun," citing recent improvements in packaging and features that have restored passion to the ecosystem. The piece suggests that Raku (formerly Perl 6) is a distinct language that emerged from Perl’s long development cycle, noting its obscurity compared to Perl and Python.
The author asserts that code exists because describing behaviour in prose is more costly than using notation built for the job, drawing an analogy to musicians preferring physical instruments over samplers for the "fun" and "art" of playing. Ultimately, languages lose people, not benchmark fights, and rise when they make the vocation, the art, and the job lighter.
