Skip to content(if available)orjump to list(if available)

HTML Is a Programming Language. Fight Me

sxp

> Because HTML ... lacks features like ... Turing-completeness, it’s often dismissed as not a programming language.

This is the core reason why HTML isn't considered a programming language. It's not designed to be Turing-complete which is a key aspect of programming languages.

That being said, HTML+CSS is unintentionally Turing-complete: https://stackoverflow.com/questions/2497146/is-css-turing-co...

tomohelix

I will get flak for this but just too funny to not say it.

This looks to me the equivalent of: "software engineer is a real engineering discipline" argument. Some practitioners of one field consider themselves to be equivalent to another related field because of similarities. Opponents cite some "key differences" and requirements to deny the claim. Fights ensue.

lolinder

It's the same type of argument because both of them are based on the flawed idea that there's some clear dividing line that an entity falls on exactly one side of. The trouble is that there's not, for either "engineering" or "programming languages". They're both fuzzy concepts, and where you draw the line is pretty arbitrary.

Another similarity is that in both cases there is an implied value judgement—both sides of both arguments see one side of the dividing line as being "better" somehow than the other side, and want to either be included or to defend the integrity of the "better" side.

threatofrain

This is just a HN personality test in disguise.

null

[deleted]

bowsamic

The article seems to simply assume that only programming languages have value, then argue that since HTML has value, that it is a programming language.

EDIT: It's a very common logical confusion. Just because someone says "HTML is bad because it's not a programming language" but you think HTML is good doesn't mean that HTML is a programming language. The first person could just be wrong about there being a connection between badness and not being a programming language. It's a shame the entire article is written based on this error

8338550bff96

I would say that HTML is a programming language of the Declarative programming language paradigm.

For SQL you are not instructing the computer what to do, you're describing the rules and structure of the result that you want in some coded language such that an execution engine can determine how to deliver the expected result.

For HTML you're not instructing the renderer what to do, you're describing the rules and structure of the result that you want in some coded language such that the rendering engine can determine how to deliver the expected result.

If I'm wrong, I would be very happy to be corrected because I've argued this for a long time with people who don't know what a programming language paradigm is - so I'd like to know if I'm mistaken.

lcnPylGDnU4H9OF

HTML can be used to tell different devices in different contexts what to display and how to display it. It serves as a sort of general DSL, which is a bit of an oxymoron and does come remarkably close to describing a programming language.

bowsamic

That's not really what's going on though. Semantically, it is a type of document that browsers to display in certain ways. A HTML isn't really programming your web browser any more than a .wav file is "programming your audio player". I suppose though, semantics are ultimately made up, and we can indeed choose to flip it such that documents are actually programs for platforms that are the document browsers

lcnPylGDnU4H9OF

> A HTML isn't really programming your web browser any more than a .wav file is "programming your audio player".

Also not any more than a .c file is "programming your compiler" nor a binary executable is "programming your operating system" nor an operating system is "programming your hardware" nor hardware is "programming mathematics". Disclaiming HTML as a programming language when it is actually powerful for programming comes across to me as a No True Scotsman argument about "real" programming languages being used to program only in some contexts or to make only some things as the program.

I agree that it's a matter of semantics but I also understand HTML to be a programming language, semantically. It seems to me that where one draws the line for programming language is always going to be arbitrary unless one is willing to see that a language being used to program in some context is a programming language.

null

[deleted]

recursivedoubts

empressplay

Cute, but that's not the HTML TFA is talking about :)

recursivedoubts

look the same to me!

65

> HTML is somehow simultaneously paper and the printing press for the electronic age. It’s both how we write and what we read. It’s the most democratic computer language and the most global. It’s the medium we use to connect with each other and publish to the world. It makes perfect sense that it was developed to serve as a library—an archive, a directory, a set of connections—for all digital knowledge.

Ah yes, journalist word salad.

No, HTML is not a programming language. We all know this. The definition of programming is: "creating a sequence of instructions to enable the computer to do something" - which HTML does not do. Defining HTML as a programming language is like defining a plain .txt file as a programming language. You can open it in your browser, the computer is "running" it, but it's not doing anything. The underlying rendering engine of HTML is what's doing the work rendering your markup.

I suspect this is the author trying to quell his cognitive dissonance at not knowing how to write code for actual programming languages. Perhaps it's his ego invoking that fear... "I don't know something I want to know, so I must rationalize something I do know as being more than it is."

I suppose it's a good article for engagement - for journalist types to send to each other to feel better about their lack of knowing how to write code, and for developers to chuckle.

lolinder

> The definition of programming is: "creating a sequence of instructions to enable the computer to do something"

I know a lot of Haskell programmers who would take issue with the idea that programming requires a sequence of instructions.

breakingrules3

what a completely useless article of drivel

empressplay

> Because HTML looks easy and lacks features like formal conditional logic and Turing-completeness, it’s often dismissed as not a programming language.

Uh, yes? It's _not_ a programming language, it's a markup language. It's kind of in the name.

koolala

It's a declarative programming language. Saying it's "in the name" is a meme, it was named that before it supported scripting.

null

[deleted]

yjftsjthsd-h

And when it added scripting, it did so by adding an actual programming language.

quux

This is a dumb article, part way through they admit that HTML isn't capable of doing anything a "programming language" does by definition, and that it's really just the most impactful markup language of all time.

Yes thank you for using 1200 words to state the obvious.