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

John Ohno on 2017-05-22

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.