Have modern programming languages failed? From the point of view of learnability and maintainability, yes! What would a truly maintainable and learnable programming language look like? This is the conclusion of a six-part series exploring the future of programming languages (read The World’s Most Maintainable Programming Language: Part 1, The World’s Most Maintainable Programming Language: Part 2, The World’s Most Maintainable Programming Language: Part 3, The World’s Most Maintainable Programming Language: Part 4, and The World’s Most Maintainable Programming Language: Part 5).
Designing a programming language is far more difficult than the thousands of languages in the world today (dozens in common use) might lead you to believe. No language is perfect. Certainly no language in popular use gets everything right.
Why not try to learn from the failures of all of the existing languages and build a new language from a few simple, vital, and often overlooked principles? Our programs might become more robust and powerful, our users might be happier, and finally computer programming might be open to everyone again, not just those willing to put up with incredible unnecessary frustrations and bizarre incantations justified by the dubious weight of decades of historical baggage.
I don’t suggest that all of my thoughts here are perfect, and I hope I have acknowledged the two places where there is room for improvement. However, I do believe that this approach represents a dramatic difference from previous languages, due in no small part to the relentless pursuit of the correct goals.
Aside from a formal specification, which I hope to produce in the near future, the language needs a name. Here is where many modern languages have done well. Perl, named after Pearl Biggar (Larry Wall’s fiancée), Ruby (named after Ruby Kusanagi Matsumoto, Yukihiro Matsumoto’s youngest daughter), Ada (named after Charles Babbage’s first programming student, Ada Lovelace), and COBOL (named after Colleen Bolero, the heroine of a Ravel operetta) have set a high standard for naming techniques. With that in mind, I propose to call this world’s most maintainable programming language Avril, named less provocatively after my long-suffering girlfriend, who graciously allowed me many evenings and weekends by myself while I wrestled with these ideas.
Thanks to Adam Turoff, Allison Randal, Curtis Poe, and Damian Conway for feedback and suggestions.