HTML is a programming language in the same way that Taco Bell is Mexican food.
I did not think this was a hotly debated topic but, if you’re going to call HTML a programming language then you probably aren’t far from calling CSS a programming language and that is not a reality I’m willing to accept.
But CSS is a programming language: https://notlaura.com/css-is-a-programming-language/
The video presentation version of this is lots of fun too: https://youtu.be/dtddBM8s7xY
Ty for this. Good read
A programming language is a set of instructions written by a programmer to deliver instructions to the computer to perform and accomplish a task.
By that definition, HTML is a programming language.
HTML is an initialism for HyperText Markup Language. It’s purpose is to provide structure to data and cannot perform logic, the defining feature of programming languages.
I guarantee you that the people writing that HTML isn’t a language are the junior devs that use DIVs for everything in their structure, especially actionable elements like buttons or anchors. Let’s ignore that the “DIV is the element of last resort”, as per the html spec. Also, I doubt that anyone suggesting CSS isn’t a language hasn’t picked up a OReilley’s manual on it recently - 1100+ pages, before you get to the glossary. HTML & CSS are quite a powerful combination.
HTML adds structure to data and CSS adds visual styling to HTML data. The only way to make that data interactive, or have it perform other complex tasks is with Javascript. JS is a scripting language which is a subset of programming languages.
Buttons, links, etc only move you from one piece of data to another via the browser. HTML cannot and does not perform any actions itself.
HTML is not trying to accomplish a task but specifically displaying stuff on the screen. Like a word document, or a jpeg.
HTML is not trying to accomplish a task but specifically displaying stuff on the screen.
But what if my task is to display stuff on the screen?
Then you would be a rendering engine, built from a language that isn’t HTML.
Is it Turing complete though? That’s normally the real test
CSS+HTML is Turing complete but not html alone.
Magic the Gathering is Turing complete but nobody’s calling it a programming language. Expressiveness and purpose are probably more important for calling something a programming language.