6

Proposal: Programming Language Design

Programming language design and programming language implementation are very different things. While there isn't really a good home on the SE network for language design questions currently, language implementation is already well-served by the network.

IMO this proposal should only allow implementation questions where they impact on design (for example, would a design choice require a currently unsolved implementation problem to be overcome? Would this design choice result in very non-performant apps when compiled to any mobile phone CPU architectures?)

Questions about implementing existing languages should be considered entirely off-topic.

2 Answers 2

12

Yes, both design and implementation should be on-topic

First, the proposal says this:

Programming Language Design

Proposed Q&A site for designers and implementers of computer programming languages

If we accept this phrase, implementation questions are certainly on-topic; otherwise the site would be of much less use for implementers in general. (Honestly a more appropriate name would be Programming Language Design & Implementation in this case)

Also, I believe a new site proposal should be inclusive. If we limit the scope to "design" questions, I feel like there are only a handful of questions that are constructive and objectively answerable. (This is just a personal impression, and I'd be happy to be proven otherwise.) On the other hand, programming language "implementation" part is constantly evolving with new technologies (from new parser packages to RVSDG and e-graphs and WASM), which IMO warrants a dedicated community and a constant stream of relevant questions.

Overlapping scope is not so much of a problem as you might think. Proof Assistants (PA) overlaps with SO, CS, CSTheory, and MO, yet it launched successfully. If you have a programming question in a proof assistant language, asking on PA gives you much better chance of getting a high-quality answer than any other site on the Network, because it's where most of the PA experts live. PLD&I (if we settle with the name and scope) will similarly benefit from the unique set of experts.

1
7

Programming language design and programming language implementation are very different things.

Theoretically, that's true. In practice, though, for most languages (certainly, almost all of the languages that are likely to be asked about on PLD Stack Exchange):

  • The language has only one implementation,
  • The implementation is developed by the designer(s),
  • The implementation process yields insights which inform adjustments to the design.

So, a community of experts on programming language design will also necessarily be a community of experts on programming language implementation; and Q&As about implementation will be of interest to largely the same audience as Q&As about design.

Therefore, my opinion is that questions about implementation should be welcome and considered on-topic.

Questions about implementing existing languages should be considered entirely off-topic.

I disagree. Q&As about implementing existing languages are still useful to those designing and/or implementing new languages. For example, if somebody asks how to implement Java's static checks for definite assignment or reachability, the knowledge contained in the answers will be relevant to anyone implementing the same thing for a different language.

A rule forbidding implementation questions for existing languages would essentially be a requirement that such questions be phrased in a language-neutral way. The same questions would still be allowed, but the person asking them wouldn't be allowed to give context that would help others to understand the question. I don't see any advantage of such a rule.

1
  • 4
    Agree that implementing existing languages should be on topic. In practice most people work in minor variations of existing languages.
    – mousetail
    Nov 22 at 12:13

You must log in to answer this question.

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