Proposal: Programming Language Design and Implementation

I saw a question about esolangs, which mentioned that

... Esoteric languages are still programming languages ...

But what are programming languages at all?

I remember some internet debate on whether SQL/HTML/Markdown are programming languages, because they're not really used to express logic or procedures like esolang/low-code tools/traditional programming languages like C/Java do. One may argue that LaTeX is Turing-complete, hence can be used to do something like C/Java, but it is mainly used for producing a PDF, we may also consider it a format for typesetting, like Markdown.

There are also configuration formats like json, ini, yml, toml, dhall, etc. -- some of them even have a type system!

Are we encouraging discussion on these "debatably-programming" languages?

  • 1
    Perhaps this would help Feb 6 at 8:29
  • the way i see it, if you can write programs in it, and execute the file using its compiler/interpreter, it's a programming language
    – somebody
    Feb 6 at 8:45
  • 3
    the issue with being too lax with the definition is that at some point, it stops being discussion about language design and implementation, and starts being a discussion about parsing - since (especially in the case of data languages) parsing is a huge part of the implementation, and there's little in the way of designing semantics, implementing VMs/interpreters, and things like that
    – somebody
    Feb 6 at 8:48
  • Maybe this question would better be phrased as "Would markup languages be on topic for PLDI?"
    – mousetail
    Feb 6 at 12:04
  • How about industrial DSLs like CNC commands?
    – warren
    Feb 28 at 13:43

2 Answers 2


This is Better Suited as a Meta Discussion Once the Site Launches

That's not to say this question is a valid question...hell, it's actually something that'll need to be defined pretty quickly once private beta starts!

It's just to say that this discussion will be better suited for the on-site meta, where it can be referred to without having to rely on Area51 decisions.

  • The existence of "meta" kinda defeats the purpose of having an A51 Discussion zone, but since our site is showing potential I guess it doesn't matter Feb 6 at 12:12
  • 3
    @UndoneStudios not really - A51 discussion zone is for discussing the site creation process like what example questions should be allowed and why certain things are happening in the A51 environment, while site metas are for specific community things like what's on and off topic.
    – lyxal
    Feb 6 at 12:18
  • 3
    I mean Definition phase exists to decide on the site scope, and this is a big part of site scope. We'll probably need to go over it in more detail later on, but figuring out a rough set of rules now can't hurt. Feb 6 at 16:17

"Programming language" is a prototype category. ALGOL is a programming language, lambda calculus is a programming language, Turing machines are a programming language... and things like them are programming languages.

Esolangs? Sure. A penguin is a 100% bird, even if it's not a great example of a bird.

EDIT Someone who has never read any Wittgenstein downvoted this.

  • 2
    I didn't downvote your answer, but I believe the reason for the downvote is that you didn't exactly classify what you consider a programming language (especially the other points about markup languages), you merely stated some examples. Also, I do believe this question is better suited as a meta question, as lyxal mentioned above. Or, they might just disagree with you, which is a perfectly fine reason to downvote an answer :P
    – mathcat
    Feb 28 at 12:45
  • As noted in my comment, Wittgenstein would point out that there isn't a set of features that all programming languages must have, or all non-programming-languages must not have. Rather, "programming language" is defined by reference to examples. Things like those examples are programming languages.
    – Pseudonym
    Feb 28 at 22:37
  • 2
    True, but Wittgenstein's view might not necessarily be the best for our site, (but it is a valid opinion). Perhaps you could explain that a bit more, rather than providing examples.
    – mathcat
    Mar 2 at 16:15

You must log in to answer this question.

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