If you understood this essay as advocating for some language, you didn’t read it carefully.

I’m familiar with D, and I like it a lot. I’m also familiar with the story behind how D came about.

I’m not even remotely advocating for Mycroft. Mycroft, as a language, is a poor fit for basically all problems, and is also very broken. However, it provides clear examples of solutions to several language design problems. I don’t recommend even solving problems related to language design in a way similar to how I did in Mycroft — especially parsing, which barely works for the reasons I mentioned.

My point is that D is an atypical case, with regard to the kind of programming language that someone who has never written a programming language before would begin writing in 2017. In other words, Mr. Bright’s original article, if read by some beginner programmer, would lead them to attempt to write something very much like D — and one D is more than enough, not to mention that writing another D is much harder than writing another Lua or Forth.

Outside of the extremely competitive “general purpose language” group (red in tooth and claw, with Google, Apple, Microsoft, and Oracle all pushing heavies), statically typed compiled languages of the type D represents are vanishingly rare & all good entries begin by resembling esolangs. Language design is one of those circumstances where letting your freak flag fly is a recipe for minor success & being too normal (as D is prone to be) is a mistake.

Let me reiterate: D does everything C++ does better than C++ does it, and that isn’t nearly enough for D to accumulate more than a small rabid fanbase.

Fail to compete with C++ and your users will fit on a bus; find even a small niche (like Prolog, MUMPS, Unicon, or Color Forth) and your user base will require its own conference.

Written by

Resident hypertext crank. Author of Big and Small Computing: Trajectories for the Future of Software. http://www.lord-enki.net

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store