Hot take: "HTML is a programming language" is gatekeeping in effect, if not in intent.

That is, something need not be a programming language to be a the subject of highly useful and important technical skills — viewing all of computing through the lens of programming languages is inherently limiting.

It's perfectly reasonable, I posit, to have a taxonomy in which HTML is absolutely a markup language, but is not a programming language, and in which different *mutually beneficial skills* are relevant for each kind of language. Computing isn't just programming. Hell, software development isn't just programming!
As with most of my hot takes, I believe the above about 63% seriously, and offer it by way of making a point more than as a literal truth.

It's been a few days, with a lot of misunderstanding in replies. That's on me for not communicating my point effectively, so let me expand on and clarify.

Suppose you encounter "HTML isn't a real programming language" as an example of gatekeeping people out of tech. It's a real and really awful canard that techbros use, even now.

Very roughly, you can respond in one of two ways:

• Expand the definition of "programming language"
• Challenge the idea that programming is necessary to be in tech

I vastly prefer the second approach, as the first one doesn't actually challenge the core assumption that gives the threat of gatekeeping its teeth.

Also the differentiation between writing a program (very *very* roughly, an executable sequence of instructions) and markup (very *very* roughly the declaration of some data upon which a program acts) is an important one, and I don't think we should let gatekeepers co-opt that distinction to be assholes.

Amongst other things, arguing against gatekeeping by asserting that HTML is a programming language just lets the gatekeeper shift the goal posts. "Writing documentation isn't programming," "triaging issues isn't programming," "project management isn't programming," "UI design isn't programming," and so forth.

I fairly strongly believe that challenging the core assumption is an effective way of cutting that line of gatekeeping off entirely.

@xgranade I would still argue that declarative programming is a thing, but I think that's rather beside the point.

I think when someone says something is "not programming" it's because they believe that being able to program is still anything special, which it hasn't been since, oh, the 90s at the latest, probably.

My university taught Java in the 2000s, and one of the lecturers around 2007 was saying "when we implemented the course, if you didn't know Java, you were nothing, but these days, if you do know Java, you're still nothing."

And I think that's where the gatekeeping comes from. There was a time when you could be basically bare-minimum competent at programming and be considered a genius and that time is gone but people are still desperately clinging to it because they became accustomed to mediocrity being rewarded.

@Catriona Absolutely agreed about declarative programming, that's part of the complexity that I tried to sweep under the rug a bit with "very *very* roughly" in order to fit things into toot-length, but absolutely, yeah.

As for the bit about since the 90s, I tend to agree, save for that I've seen that discourse rear its ugly head again this bloody week, so some folks are still stuck in the 90s. Desperately clinging, as you say.

@Catriona Part of my intent with that thread is to try and call out what I see as being an insufficient if well-intentioned response to that desperate clinging, and to try and get slightly closer at the core of where that clinging comes from, as well as the harm that it causes.
@xgranade This. I remember when “Web Designer” was a distinct role commanding as much respect and compensation as a programmer, so of course techbros’ giant egos and fragile insecurity couldn’t let that stand.