First, let us define markup language and programming language.

Markup Language is a modern system for annotating a document in a way that is syntactically distinguishable from the text. The idea and terminology evolved from the “marking up” of manuscripts, i.e., the revision instructions by editors, traditionally written with a blue pencil on authors’ manuscripts. Examples are typesetting instructions such as those found in troff, TeX and LaTeX, or structural markers such as XML tags. Markup instructs the software displaying the text to carry out appropriate actions, but is omitted from the version of the text that is displayed to users. Some markup languages, such as HTML, have pre-defined presentation semantics, meaning that their specification prescribes how the structured data are to be presented; others, such as XML, do not.

source: http://en.wikipedia.org/wiki/Markup_language

Programming Language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely.

source: http://en.wikipedia.org/wiki/Programming_language

Many were confused in identifying which is which. Based on what I usually here from starting programmers / developers, they tend to say that HTML is programming language though its not.

Let’s analyze the definitions of the two. In the definition of a markup language, it is said that markup language instructs the software displaying the text to carry out appropriate actions, but is omitted from the version of the text that is displayed to users. What’s on your mind if it said that it instructs the software? What’s that software? For me, I would say its the browser since I’m a web developer.

For example, HTML, in using HTML we follow rules in forming an HTML Document. Why do we use HTML? We use HTML to format our desired output in the browser, whether it’s compose of text and/or images, it could be also other forms of media, like audio and video.

On the other hand, programming language communicates to the machine which a markup language cannot do. For example, a programming language can change access permissions or access rights of a user. Programming language is a human readable language that communicates to a machine. Imagine it as an interpreter between a human being and a machine/computer. Who says we can’t talk to computers? We can, through a programming language.

Through a programming language, we can command a machine what we want it to do. Actually, we can even command a machine to harm someone. How? Through making viruses. Yes, we can make a computer virus with a programming language. We can also hack. Actually, all sorts of computer crimes. I just want to remind you that I’m not influencing you to do illegal activities, okay? I’m just giving you examples for you to understand what a programming language can do that a markup language cannot.

I hope you’ve learned from this short blog of mine. If you have additional inputs, don’t hesitate to comment on this topic. I hope you can now identify what is a markup language and a programming language. Don’t tell HTML is a programming language, okay? :)