HTML with either CSS3 or JavaScript is definitely a program, though.
Neither can an ELF binary. It needs a loader to execute it.
> It can't run or be executed.
Yes it can, with a runtime that understands HTML.
> It doesn't transform state or even have state. It's not Turing complete.
That's not a requirement for a program.
Remember that html files are not just html. The way we use them today they are fully functional programs.
It seems we agree that HTML (a language, not a file that also includes other languages) cannot create a game like Mario or even Pong.
So GET and POST are figments of my imagination then?
Saying that HTML can send HTTP messages is like saying that HATEOAS API responses[1] can send HTTP messages. They can't without a separate program (written in a non-HTML language) to interpret the HTML and send the message.
Then so is something in HTML that doesn’t use CSS3 or JavaScript, for the same reason that a C program that contains no loops is still a program.
HTML is not "C without loops". It is, by definition, a subset of the string type. All HTML is a string, but not all strings are HTML.
The following is valid C, but I would absolutely argue that it isn't a program:
char str[] = "Geeks";
It's a declaration, just like HTML is. It is a string that is being declared and stored.Still, that C example is more of a program than any HTML is because it contains an instruction. It manipulates memory.
HTML is literally just a file format. It is not any more of a program than a PNG file is.