Debate: Is HTML a Programming Language (Why/Why Not)

Hello users of reddi- I mean the forum. Today I bring you, is HTML a programming language? When you look up HTML, many results say it is or identify it as one, but also some do not. If you look up “is HTML a programming language?”, many results say no. This brings us, your opinion on why/why not. I myself will keep saying it is due to it being identified as one.

Please be respectful and mindful of other peoples opinions, make sure to site your sources also!

Invite: @pumpkinhead

My opinion:

Yes technically and factually HTML is not a programming language, BUT I refer to it as one because it is identified as one by certain (resources?) such as Google when you search HTML and other results. Please be mindful of my opinion but feel free to debate it, just make sure to keep in mind that all of these are opinions and this is not fact.

I think HTML is a programming language. Well, kind of.

If you merge HTML with CSS and/or JS, then boom, you have a solid coding development platform/IDE.

Yep. It’s kind of hard to make much without the assistance of CSS and JS.

If you are me and make awfu - I mean good websites with just HTML, then...I don't know what would happen.

I believe my website v1.4 is pure HTML (edit: regarding copywrite at bottom), idk if it’s good or not but yeah. My newest version uses a bit of CSS and JS.

I strongly believe that HTML is not a programming language since it is not capable of executing instructions, and is instead a markup language. It says so in its name, which stands for HyperText Markup Language. It is merely a language designed to tell the HTML display program what to display. This is in contrast to programming languages, which represent a series of instructions to be executed by a processor.

It can be argued that HTML is a programming language because the contents of the file affect what is executed, similar to what programming languages do. However, the HTML language itself is only able to display text on a screen on designated areas. You cannot, for example, change the contents of the page with the HTML language itself, or calculate numbers of the Fibonacci sequence, or graph an equation -- you'd need JavaScript for that. (Or CSS but that's out of the question).

It can also be argued that HTML is a programming language because you can merge it with JavaScript. This is incorrect because JavaScript is a completely different language.

So because you can't calculate or modify anything with HTML itself, and because HTML literally has "markup language" in its name, it is a markup language, and not a programming language.

Good argument must I say.

When I search up "HTML is a programming language" on Google (I phrased it like that to increase the likelihood of results that say HTML is a programming language), I get a featured snippet from a stackoverflow post that says HTML is not a programming language. The first result is a page titled, "Why HTML is Not a Programming Language by Ben Romy." However I do get pages saying HTML is a programming language further down.

Also the Wikipedia page for the list of programming languages excludes HTML. For its reason it states, "A programming language does not need to be imperative or Turing-complete, but must be executable and so does not include markups such as HTML or XML"

So, uh, yeah.

I haven't seen it yet. I'm using a computer which has this system made by the school to block certain websites, included.

Welp. I looked at the code and it’s 100% html not including the copyright with date at the bottom. If YT is not blocked, it’s in this video.

HTML doesn't really have any processing. It is more so a list of where to place elements of a page.

Oh wow, pretty cool!

It's really hard to draw clear, thin lines, about anything. The classic example is from Wittgenstein, in Philosophical Investigations, in which he poses the question "what is a game?" He proposes about a dozen different definitions and shoots them all down with examples in which everyone clearly agrees about whether it is or isn't a game, but the definition goes the other way. Example definition: "A game is something you do for fun, rather than for some practical purpose." And a counterexample: Professional football is something the players play to make money, but nobody would say it isn't a game. Counterexample the other way: Massage and eating candy are fun, but not games. Another example definition: "A game is an activity with formal rules." Counterexample: Little kid games, such as playing house or playing tea party or playing school, are very ad hoc, depending on who's playing and what moods they're in, but still clearly games. Counterexample the other way: Banking is an activity with formal rules, but isn't a game. And so on.

So, what's a programming language. Pumpkinhead quotes Wikipedia saying a language must be executable. Does this mean that it has a finite number of program elements, each of which tells the computer something to do? In that case, declarative languages such as Prolog aren't programming languages, but you won't find anyone to agree with that.

What about the sequence of buttons you push to tell your DVR to record The Tonight Show while you're asleep? (Never mind if they stream that on demand these days. Just pretend.) Is that a programming language? It's totally executable! But probably most programmers would say it isn't one, or at best it's a trivial one.

So I'd prefer not to engage in a debate about this, but rather to take the opportunity to introduce the idea of data directed programming, in which every data type includes code to carry out methods on data of that type. This is exactly like {div class="foo"} which tells your browser to format the div in a certain way. The way is typically expressed in css, but the html file is a program expressed in an unusual way. So, yes and no.

Alright. Amazing post by the way.




HTML cannot execute any instructions, only markup text, so I don't consider it a programming language.
I mean, HTML looks nothing like Python or JavaScript, does it?

thats a tricky one, i'd say maybe?