Is HTML A Programming Language Or Nah?
Tameera Corporal, Author
CEO, Accufigures, Inc
“I love to show others how to get the results they need to grow their business.
Why I’m talking about this…
When I began my journey of learning the how to code, I kept running into articles with hilariously debated comment sections pertaining to whether or not HTML should be classified as a language. Some would say yes, some would say no, then the establishment of “programming tenure”
peppered with insults would ensue. Of course I didn’t have anything to say, at the time I was just getting started with all of this. Not to mention, I found the article due to the fact that I was googling the meaning of a tag in the first place. So naturally, I didn’t feel as though I was qualified enough to weigh in on that argument.
Notice the name…
The naysayers state that HTML is a markup language, not an actual programming language, and there is a difference.
A markup language is simply used to create the environment for a programming language to do it’s bidding. To say that another way, we use HTML to create a framework of instructions organized in a specific format with tags. Tags are special keywords wrapped in <> (think greater than and less than here) that your browser understands. This organized framework is saved with a .html at the end and is also known as an HTML document. The HTML document represents the frame of what we see when we are looking at a website.
For this article, I just want you to understand that an HTML file literally looks like a list of text and underlined links that are hugging the left hand side of your screen. And programming languages handle all of the functionality, or to-dos, on your website. Yes, it is as hideous as it sounds, and the second portion of what you are viewing on a webpage takes care of all of that.
Now that we are all up to speed as to what HTML is, it’s decision time. What side of the fence are you on? In this case, I have to agree with the naysayers here, a programming language is not a markup language. An HTML file is made up of elements identified with tags which are used to create a DOM. The DOM is then used by programming languages to perform manipulations. A great resource for this information can be found in the MDN library here.
So… what is the DOM?
Ok, there I go again passing new terms into this conversation, you caught me. The short definition is the Document Object Model (DOM) is a model of the elements created by the collection of organized tags that were created in the HTML file. This model of the file is what programming languages use to perform the manipulations we see on our computer screens. Manipulations in this context refer to animations and event handlers. An event handler example would be what happens when a button is clicked. For example, when I click the “Read More” button on a blog summary, then the entire blog post is loaded, and appears on the screen.
Ok-what side are you on?
It feels good to choose a side of the fence, however, I can understand why this is a confusing issue in the first place. HTML is the tool used to create the DOM and the programming languages manipulate it. This is just one of the quirks I have stumbled upon so far while researching and learning as a developer. So, what side of the fence are you sitting on and why? Is there something you would like to add to the discussion? Let me know in the comments.
ABOUT THE AUTHOR:
Currently, she is actively working on building her web development and micro-training firm, Accufigures, Inc., located in Tampa, FL. At Accufigures, we help small businesses turn their target audience into returning customers with customized website designs and graphics. Visit her online at bit.ly/accufigures for more information.
SHARING IS CARING:
If you like what you read, share this out and subscribe to our blog to learn more about building the website you deserve.
My life experiences. Coding is hard, but the end result is worth the struggle.
This work by Tameera Corporal is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.