Why HTML is Not a Programming Language

Programming languages are those that allow a programmer to control the expression of algorithms. It is the lack of control that disqualifies HTML as a programming language. It comes down to level of control. HTML does allow you to trigger things to occur such as have words and pictures drawn on a screen. By itself, you cannot use HTML to solve the traveling salesman problem or do a binary search or iterate an arbitrary data structure. The ability to solve those problems alone does not define a programming language. However, by itself, HTML lacks the algorithmic capabilities available in imperative and functional programming languages.

What is HTML? A type of data structure interpreted by a web browser.

Eventually, they may rework HTML such that it does these things. At that time, it may become a programming language. Until then, as markup, it needs JavaScript for functionality it does not have. You cannot use HTML by itself to do anything meaningful in the context of creating an operational process of the kind programming languages allow.

A programming language is a singular specification. Although you can converge HTML+CSS to achieve a Turing complete result, the key factor is the combination of data structures to produce a side effect natural to imperative or functional languages. There is such a thing as data-oriented programming and it is a way of using data with programming languages. HTML is data that must be interpreted by other means.

More Details on This Topic

StackOverflow | Is HTML Considered a Programming Language?

Tampere University | Programs vs. Markup or Why HTML authoring is Not a Programming

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s