Is HTML A Programming Language Or Nah?

Is HTML A Programming Language Or Nah?

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.

Well, fast forward a few years later and here I am, in the thick of all of the action, finally coming out of the JavaScript invoked depression that had engulfed me for about 8 months. At this point I can read, write, and actually understand what is going on (in most cases) when I am reading code.

But enough about me and my dysfunctional relationship with JavaScript, let’s get back to the issue at hand (yes, another article about our relationship will be coming in the near future). I know you are probably wondering if I even know what HTML stands for. Yes I do, and HTML stands for Hypertext Markup Language. The short definition of HTML is it’s a file that tells your browser what to show you when you either type an address in the search bar, or click on a link. I’ll get into a little more detail shortly.

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.

Now let’s talk about the programming languages for a second here, I feel as though my last statement needs to be clarified a little further. When you are looking at a webpage, you are most likely watching the programming languages manipulate the HTML tags. When you see any animations on the page (items flipping, drop-down menus, something disappearing when you click on it, etc.) this is more than likely either jQuery or JavaScript.

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.

Think of this as a recipe having 3 parts, and HTML is the meat, and the next portion being the seasonings. The second portion, or seasonings of what you see on www.anywebsiteyouarelookingat.com is known as either JavaScript or jQuery. The final portion of our recipe, or garnishment is a Cascading Style Sheet (CSS). I will delve a little deeper into CSS in another article. Think of the process this way, HTML is the base of your app, JavaScript or Jquery makes your app work, and CSS makes your app pretty.

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:

Tameera Corporal is a professional website designer, graphics creator, business administration trainer, and published author. She loves to write code, articles, and books and is a lifetime professional development advocate. She is also a MBA and PMP. She specializes in PHP, MEAN, jQuery, JavaScript, HTML5, CSS3, SCSS, and SQL. She also utilizes Heroku, GitHub, Bootstrap, and other helpful apps in her builds.

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.