Speaking as a Fancy Computer Science Professor at a Fancy Institution of Higher Education who teaches the course on Programming Languages:
I endorse @vkc’s position here 100%.
HTML is programming.
@vkc (To be clear, the position I endorse is both “HTML is programming” •and• the heckler blocking.)
Beyond the reasons of “don't heckle, don't be an asshole” and “this boundary-drawing is elitist” — reasons which, to be clear, are •entirely sufficient• to justify the OP on their own — I am willing to defend the assertions that writing HTML is programming and that HTML is a programming language on the merits:
1/?
HTML is a way for humans to express their ideas and their intentions in a form that is unambiguously interpreted by a machine. We express our ideas, then turn them loose. The machine's interpretation may diverge from our human understanding; when it does, our ideas talk back to us and they •surprise• us.
If that’s not programming, I don’t know what is.
2/
We might draw a line about Turing completeness or intended purpose. Both completely miss the point.
It is fun to try to find Turing tarpits in HTML and/or CSS! But that’s not what makes programming programming.
The previous post is it. The problems of programming — the things that make it difficult, the things that make it rewarding — all come from that collision of human intent with unambiguous machine interpretation. That’s the game right there.
/end
An addendum, a useful word:
An ••ostensive definition•• is a definition by example. No bright line that distinguishes “is” from “isn’t;” instead, we have a set of examples we agree clearly fit the word, then ask, “How does this other thing resemble the examples?”
Some words are best defined ostensively. “Sandwich” is a great example. You can have silly fun playing with the boundary conditions — A quesadilla is a sandwich!! A hot dog is a taco!! — but to get pendantic about that fun is foolish.
With a word like sandwich that’s defined ostensively, instead of asking “Is it a sandwich or not? Binary yes or no!!,” it’s better to ask, “•How• is it a sandwich?”
Similarly: “How is ____ a programming language?”
How does it resemble the pattern? How does it depart from it? Which lessons we’ve learned about programming apply here? Which don’t? Will it need…technical learning? precision? testing? debugging? version control? docs? knowledge sharing? curiosity? resilience to frustration? etc.
Thanks, @Crell, I'm glad you asked!
Nontrivial Excel usage is quite obviously programming. Come on. But beyond that:
We’d have a much better understanding of usability failures if we understood tiny UI actions as itty bitty moments of programming. We’re asking people to momentarily span the bridge between human understanding and machine execution. Pretending that bridge doesn't exist is a perennial footgun.
“What, even clicking a button, Paul?!?” Well…
@inthehands @Crell probably worththile at this point to resurrect https://www.youtube.com/watch?v=uNjxe8ShM-8
@thinkMoult @Crell
This video never gets old.
Also in the same general spirit: https://www.youtube.com/watch?v=xP5-iIeKXE8