|Come for the quick hacks, stay for the epiphanies.|
I want to make it abundantly clear here that I'm really playing devil's advocate in arguing with you. From a technical standpoint, I agree with you completely because the distinctions you are making are useful from that standpoint. Those distinctions, however, aren't so necessary or even so easy to make outside of a technical discussion.
There's only one problem with that - HTML tags are requests, not commands.
There's no such thing as "requesting" that a computer does something because a computer doesn't have free will. Its behavior is well-defined and predictable.† How a browser implements the specification isn't the issue; those choices have already been made by the browser developers.
Also, the issue isn't whether all computers do exactly the same thing with the input. But, that should be obvious. Give C source to two different compilers and you probably aren't going to get the same output (even on the same platform.)
The distinction between data and code is blurry. Which, for instance, is a perl script? It isn't machine code, but it does contain strings of symbols that, when fed to a perl interpreter, determine the behavior of that interpreter. Perl itself is written in C. C isn't machine code either, but it does contain strings of symbols that, when fed to a compiler, determine the behavior of that compiler. And HTML isn't machine code, but it does contains strings of symbols that, when fed to a browser, determine the behavior of that browser.
By the way, I had this argument with a college professor once (and he, as I, played devil's advocate and argued the side I am now.) It was a little more specific in that the question was "is HTML a programming language?" At one point I decided to appeal to higher authority and I wrote email to Guy Steele, Bjorne Stroustrup, and one or two other famous names. The only reply I got was from Stroustrup. His reply was that, yes, a case can be made for calling HTML a programming language. I've been looking for that email, but I guess I no longer have a copy. In any case, his response shocked me into a more flexible point of view. While I do agree with you from a technical standpoint, I understand completely why your argument won't hold up in court.
† Predictable to someone and in theory (ignoring implementation errors.)
-sauoq "My two cents aren't worth a dime.";