HTML Is Not a Programming Language

HTML Is Not a Programming Language

First, let’s take a peek at the transcript (or the photo above):

OP:
My Thursday morning so far:

– Spammed with messages from angry techies because I think HTML and CSS are programming languages (sorry if you think it’s not, but you can’t change my mind??? 😂)
– Disconnected from my stand-up twice because my internet isn’t great atm 😩

Commenter:
Uh, HyperText Markup Language is a markup language not a programming language.

CSS is Turing complete, so it is indeed a programming language.

BTW why do you care what others say? You can’t please everyone + haters gonna hate,

Me:
My dude, declarative programming is a thing.

Commenter:
How would you implement an algorithm to calculate nth number of a Fibonacci sequence? Asking for a friend.

Commenter:
In HTML ofc.

As most of you know, I can’t handle gatekeeping. It’s one of the most annoying parts about being in the tech community because everyone does it. Of course, what makes it worse is when people start gatekeeping by tools and knowledge rather than just merit.

For example, it would be one thing to say someone isn’t a real programmer because they haven’t completed a degree or haven’t worked in the industry. It’s still wrong, but this type of gatekeeping can be overcome through endurance.

What I really don’t like is when you have someone like this who seems to be gatekeeping tools and knowledge. In this case, we have someone who’s arguing that HTML isn’t a programming language, and therefore someone who programs in it isn’t a real programmer. This isn’t what they said, but it’s often what these sort of post-positivistic discussions lead to. In other words, these types of people try to gatekeep folks based on their opinion of a tool. Why is that relevant?

The funny part is that I’ve almost commented back a few times, but I know it’s never worth it. It’s a lot more fun to watch someone like this lose their mind because I won’t debate them.

That said, I’m not even fully sure what type of argument they’re trying to make here. First, they claim HTML isn’t a programming language, but it shouldn’t matter. Naturally, I counter with the idea that HTML is classified as a declarative language: that should be the end of discussion.

Of course, as I’ve mentioned several times on this site, people like this never seem to back down on their beliefs. As a result, they’ll reach for whatever arbitrary criteria they need to “prove” me wrong. In this case, instead of mentioning Turing Completeness or some other restriction, they give a very specific example (i.e. the ability to compute the nth term of a fibonacci series). This is weird to me because it’s possible to find a “programming language” that doesn’t meet this very specific criteria.

Now, I’m just going to go off the cuff for a second and laugh about this argument a little bit. After all, the fibonacci sequence grows really, really fast. In a 32-bit architecture, we can only compute roughly the first 50 terms. In a 64-bit architecture, we barely get an improvement as the fibonacci sequences caps out at less than 100 terms (at least based on this computationOpens in a new tab.). In other words, if I wanted to be an asshole about it, I’d mention how it would probably be easier to make a table of the first 100 in HTML than try to write a program in C/C++ to get even the 100th term.

Of course, that’s not the point. The point is that different programming languages serve different purposes. Just because one language CAN do more things than another language (or different things for that matter), doesn’t make it more or less of a programming language.

For instance, I wouldn’t dare try to build a website in C++. At best, I could use C++ to generate HTML, but it would be a nightmare to try to style things or even generate JavaScript. It could be done, but there would need to be a lot of tooling around it. The last thing I need to be doing is chasing down a memory leak on my web server. Ironically, this whole experiment would result in the generation of HTML anyway. In other words, you can’t create a web page without it. Uh oh! I guess C++ isn’t a programming language.

The hilarious part about this is I’m not even a web developer. I’d much rather tinker in Python. However, I can’t stand around and watch someone gatekeep another developer because of the tools they use. It doesn’t do anyone any good except the person doing the gatekeeping. And even then, they’re losing out on a potential ally as they slower push them out of the field. No wonder tech has such a bro mindset. No one in their right mind would put up with this shit.


If you came from the Wall of Shame, here’s a link to the previous comment. Also, here’s a link back to the Wall of Shame.

Jeremy Grifski

Jeremy grew up in a small town where he enjoyed playing soccer and video games, practicing taekwondo, and trading Pokémon cards. Once out of the nest, he pursued a Bachelors in Computer Engineering with a minor in Game Design. After college, he spent about two years writing software for a major engineering company. Then, he earned a master's in Computer Science and Engineering. Today, he pursues a PhD in Engineering Education in order to ultimately land a teaching gig. In his spare time, Jeremy enjoys spending time with his wife and kid, playing Overwatch 2, Lethal Company, and Baldur's Gate 3, reading manga, watching Penguins hockey, and traveling the world.

Recent Content