Proposal: Programming Language Design

Why did language <x> choose to have feature <y>, a closed question as of when this was posted, has spawned a long discussion in its comments about whether or not this sort of question should be on-topic (currently 20 comments, though most of that is pointless running in circles over terminology). I think it's worth discussing here.

Some arguments for these sorts of questions:

  • Understanding existing languages' design could be useful for designing future languages
  • Asking about why other languages made choices is off-topic on existing sites

Some arguments against them:

  • It's not really focusing on designing or implementing a language, but on an existing language's design
  • Unless the author of the language has discussed it, only speculation is possible (speculation could still be useful though; Retrocomputing allows "why did..." questions which routinely get good answers without necessarily citing things the inventor of the technology said)
  • 1
    I doubt the reffered question is closed right now Jan 11, 2023 at 17:48

1 Answer 1



Decisions made by practical languages usually have reasons, even if the reason is something uninteresting such as "because this language's predecessor does the same thing". If questions about design decisions for existing languages were to be banned, a whole category of interesting questions would go away. While this site may be focused more on the design of new languages, I personally feel that the design of existing languages should also be on-topic.

Also, as the question says, these can guide people making their own languages. Being able to understand an existing language and judge whether what it did was a good choice or a mistake will be a great help to someone getting started.

If it does turn out that there are no sources on why a particular decision was made, then I guess people will have to speculate on that. But the more experienced users will likely be able to give some educated guesses as to why, so such questions won't be a waste.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .