Antony O. Onyango I'm glad this was helpful. Also, I don't think of this as a debate, but rather, a clarification.
That said, while HTML qualifies as a programming language that declaratively provides instructions for loading the DOM, it's domain usage is very specific and, therefore, very limited in its overall capabilities compared to the general usage capabilities of implicit programming languages.
So, I wouldn't want to give the wrong in impression that HTML is as capable as imperative languages or even as other domain specific declarative languages that are turing complete, such as, SQL, XSLT, or any of the Functional languages like Haskell, Erlang, Elixer, F#, Scala, Closure, etc.
Seb TheS Um... okay. 🤷♂️ I'm not sure what English grammar has to do with this. 🤔
I was simply responding to the comment where you explain, "HTML... is not a programming language," to help clarify this to be an inaccurate statement reflecting a common misunderstanding.
I'm not disputing that the 'majority uses the "programming language" term rather than "imperative language".'
However, that's irrelevant.
It's your prerogative to perpetuate this false notion that HTML isn't a programming language.
However, that won't change the fact that it's still a completely inaccurate understanding.
If, for whatever reason, it's that important for you to reject the industry accepted classification of HTML as a programming language, have at it... go nuts. 🎉🕺🤟👌
However, I suppose you may also need to determine if you want to apply this campaign to redefine well established facts in computer science to other declarative languages such as XSLT, CSS, SQL, and all functional programming languages.
[Ярослав Вернигора Followup: 4 of 4]
With this in mind, see if you can think of it all like this...
HTML are declarative instructions for the initial loading of the DOM tree into memory.
CSS are declarative instructions for modifying the initial style attributes of each element node in the DOM as loaded in memory.
Notice how all three languages take a different approach to load and manipulate the same DOM object in memory?
If you're still not buying it after this explanation, I don't know what else I can say to explain it. 🤷♂️😉
Indeed... I completely agree HTML is not Turing Complete.
However, Turing Complete is not a criteria for qualifying as a "programming language."
Rather, Turing Complete is used to qualify whether or not a programming language is computationally universal.
Therefore, HTML can still qualify as a "programming language" that is not Turing Complete.
To my surprise, I just pulled up this link after writing my response, which essentially states the same thing. 🤣😂
[Ярослав Followup: 3 of 4]
HTML isn't and shouldn't be about formatting data. While deprecated tags like <b> and <center> were created for formatting, that was simply how the browser engine styled such tags by default.
Rather than thinking about the web page rendered from HTML, let's think about it programmatically as loading an object.
HTML tags are actually typed schema elements. Schemas are similar to an OOP class definition. Therefore a <div /> tag loads an instance of the div object. Elements contain properties implemented as HTML attributes. Attributes use values that bind to either a string, an enum of values, or even to an event handler function. Some tags, like <a> or <img> extend their base element with special attributes such as "href" or "src". Most elements can also contain a nodelist of other elements. These are represented as nested elements.
In the end, all elements are loaded into memory as the document object, which is also known as the DOM, or Document Object Model.
[Ярослав Вернигора Followup: 2 of 4]
Ultimately, I think you would agree these two programming paradigms are fundamentally different in style, complexity, usage, and capability.
If so, then, your earlier posts weren't really about whether or not HTML is a "real" programming language, but rather, that HTML is NOT an "imperative" programming language. To this point, I would completely agree! 👍
Even if you find yourself following my arguments, I suspect you're still struggling with this notion that HTML can be a programming language. Am I right?
I can certainly understand why this is a tough pill to swallow, especially when you compare it to applying formatting to text with a GUI button click within a Word document. I get it.
So, let's explore this in a different way: programmatically.
Ярослав Вернигора In response to your question...
Question: Why to call it a programming language?
Answer: 🤷♂️ It's computer science 101. 🤓
This is stuff that has been around long before I started programming.
I do recommend you find my discussion with Lord Krishna in my other post. He makes many of the same points as you.
You might find my reference to XSLT interesting and helpful. 😉
Paul K Sadler Eh? Vhat iz zis debate you speak of with zis "aRe-Pee-Gee"? 🤣
(Read that with the accent of Inspector Jacques Clouseau from the Pink Panther 🕵️♂️)
Seriously... though... I wasn't aware of a debate with RPG.
If you especially are interested in web development you might want to know HTML, it is not a programming language, but HTML applications will also require use of JS, which is also a beginner friendly programming language, but some basic HTML understanding is required.
Basic HTML understanding is just knowing the HTML structure and how HTML tags work.
Dear David! What are you think about this thing?
HTML is not a programming language. While some may point out that HTML is a "markup language", this doesn't clarify how that is different from a programming language. I'd like to provide a simple reasoning that is easy to understand by the layperson. (This isn't meant to be a thorough argument, but rather a brief explanation that goes just a bit more in detail than "HTML isn't a programming language but instead a markup language.")
Here is a point I'd like to make: HTML is no more a programming language than Microsoft Word is. With Word (or any other word processor software), you can write out text and format it with different fonts, sizes, and colors. Images and tables and bullet points can be added as well. This is all done through the word processor's graphical user interface.
[Ярослав Вернигора Followup 1 of 4]
I believe all your points are addressed in the article links from my post. I'll add them here for convenience:
If you're still unconvinced after reading these articles, I'm not sure I'll be able to make a difference in your understanding. That said, I'll give it a go. 😉🤞
First, I don't believe you're disputing any of the following:
1. HTML is a declarative programming language.
2. HTML serves a specific purpose for a specific domain.
4. Imperative languages involve control flow statements such as IF conditions, loops, and other computational constructs.
5. Declarative languages are much easier to learn and feel more human like.
David Carroll I hardly get your point here.
Yes, it is a language used for programming, but I'm not the english grammar expert here. I think the majority uses the "programming language" term rather than "imperative language".