I had just joined X after been learning Python syntax for a while from a code learning site and I kept coming over (I still do) some people there who claim that HTML is a programming language! That was a new one to me! What makes them say that?
Would you call HTML a programming language?
In my opinion, absolutely yes.
It is not turing complete — but it is a specialized language for programming the most ubiquitous computer interface there is.
HTML is not very powerful if not used in conjunction with other programming languages which interface with other parts of an operating system, but all the work in HTML is programming if you ask me.
Please don't say that! HTML is not a programming language. If we consider HTML is a programming language, then Markdown is programming language too?
Does Markdown have a {script} element? If it does, then ...
So let's rename HTML -> HTPL (Hyper Text Programming Language lol)
The creators of HTML are much more wise than you.
Ok, but then we have to state that ASCII is a programming language too. With ASCII, you can tell the computer to do some lyrics, and we learned that anything that tells a computer do do something is a programming language. Ok, ASCII is not very powerful. It contains 256 commands and each can just prints out one character, no loops, no conditionals.
Finally, it comes out, Shakespere was a programmer. I really like the codes he wrote. You should definitively check out The Art of Code, which adds a lot of interesting aspects to this discussion.
I like your answer
Most people here just think that Imperative programming is the only way of writing a program )
Most arguments be like:
No loops
No if statement
Ml in HTML
It's just sad to read those comments
Short answer: No!
Long answer: HTML (short for Hyper Text Markup Language) is used to structure a webpage which is not same as programming a software. To program a software, we need to add logic to it and HTML does not have ability to add logic. To add logic to webpages we use a wonderful language JavaScript. So.... HTML is not a programming language.
Depends on your definition of programming. I think programming is telling a computer what to do / how to do something.
Totally my point 😁 You cannot tell a computer to do something using HTML.
That's not what i meant. I think writing html is telling the computer (to be exact the browser that runs on that computer) what layout the page has and what components should be rendered and also how those components should function (with tag attributes like min, max, step, type and so on). But i know that this debate will be never settled.
We clearly aren't on same page then. And I agree that this debate would never settle.
For the time being, let's agree HTML is not a programming language 🤝
Let's just agree that if you think a programming language needs algorithms and logic then html is not a programming language. But if you think prorgamming is telling a computer what to do, then it is.
Exactly
Just read about declarative programming, the way we use HTML does not make it to loose it`s status of PL
No, logic in this case not required to call a language an programing language
The thing you described is imperative programming, where code consists of commands, statements and loops
And html is declarative and not turing complete (like SQL or XML)
The answer cant be so clear and straight, you need to dive deeper in the defenition of programming
(Btw Markup language is also can be Programming language)
No, HTML (HyperText Markup Language) is not a programming language. It is a markup language used for structuring content on the web. HTML provides a way to organize and display information through tags that define the structure of a document. While it enables the creation of web pages and interfaces, it lacks the capabilities of a programming language, such as variables, logic, and control flow. HTML focuses on presenting information rather than executing computational tasks, distinguishing it from languages like JavaScript or Python.
it does not mean that that it looses its status of programming language, html is just declarative, and not Turing complete.
Yes, Declarative programming is quite questioning term. But the key word is questioning not "clearly not a programming"
There are no special "exams" for programming langs, where they show what they can do, and based on this, get status of PL.
SQL is also a part of Declarative programming paradigm, its used only for queries (because its query language), but we still can call it programming
Some dialects of SQL, such as PostgreSQL, are Turing complete, and thus very clearly programming.
Declarative programming doesn't mean 'can't express logic'. In SQL you can express 'show this or that based on some criteria calculated at runtime'. In HTML you can't.
What? I didn
t say that in declarative programming you can
t express logicYes, in SQL you can calculate values and use logic, in HTML - no
I absolutely agree with the statement, but how is it related to the main question?
There is no strict definition where programming language should contain logic and variables.
If you redefine a programming language to mean 'a language that doesn't need to allow expressing conditional logic', then you can say anything is a programming language. Emojis are a programming language because they instruct the computer to draw pictures.
The reality is that every programming language must have a way to express conditional logic based on criteria calculated at (its) runtime. This criterion classifies things like XSLT as programming languages (correctly) and HTML as not programming languages (also correctly).
I didn't redefined it, i told you that html can be a part of that paradigm (declarative programming).
Just show me the defentition (not interpretation, or a specific case) where there should be logic in programing languages.
Yes, html is so simple that you can compare it with emogi, but it still matches the declarative programming defenition.
I already wrote in anther comment that html's programmig language status is questioning.
"Questioning...."
And not - "Haha, no logic, so its not pl"
And please don't create defenitions yourself
You just made lots of mistakes
I will help you to understand what would be correct to say in this case, and what is not:
"html is programming language" - "Not yes! ", But we definitely can treat it like that, refering to "Declarative programming"
"html is NOT programming language" - so... prove it, find anything that classifies programming languages by logic, refer to some Wikipedia pages, and please don't use stupid "Emogi argument" or "Any other language argument"
There is "no" or "yes", don't try to give a clear answer, if you are not good anough in this topic.
No one here can't say this, even authors from Wikipedia can't give a clear answer, it usually goes like this: "...there are many arguments on the..."
Really, what do you mean by "In realty every programming language must have conditional logic"
Because its true only for imperative programming (or other like Functional, logical, oop etc.)
And html is just non-imperative, non-Turing complete, domain-specific markup language which fully corresponds to standards of declarative programming paradigm.
I would like to remind you that html is not just text styling, it tells computer and server to perform actions based on different kind of data:
<noscript>
element (some domain specific logic)<map>
and<area>
elements (domain specific computation)h1
is not just big bold text hah, its an object, and it has its own properties, it can be accessed in scripts, and also it influences seo.HTML is just too domain-specific, i would say too high level language.
I`m struggling to call it an programming language,
but your arguments are just funny, you have no right to define the status of html, but you can discuss it. Like me, did you even read my replies? I never say things like: "aaa, its absolutely clear, html is programming language, is programming language nether markup nor configurational its PROGRAMMING, i redefine the main definition of programing language, now it should not contain logic or conditions (btw it's required only for imperative programming style, really, read more about that) ahah what makes people to say that html is not programming language are they that stupid?"
i think there are no such words in my comments.
I can't prove that html is not PL
But i can prove that html is a part of Declarative style, and it's not my personal opinion it's fact
en.wikipedia.org/wiki/Imperative_p...
en.wikipedia.org/wiki/Declarative_...
P.S.
My conditions for continuing the discussion:
I'm glad we agree that it's a markup language. I.e. not a programming language.
Buddy, I didn't create the definition, computer science created it: engineering.cornell.edu/programmin...
If you can't implement a specific algorithm with it, it's not a programming language.
No, you did not understand what am I talking about.
"If you can't implement a specific algorithm with it, it's not a programming language."
It only means that it's not Turing complete
I told you the defenition of html, but we did not agree with you, i told that html is a part of declararative programming paradigm.
The fact that you wrote: "I'm glad we agree that it's a markup language. I.e. not a programming language." makes me feel that you just ignore everything else in my comment
And the passage: "html is not programming language" isn't correct,
html is called markup language because it is used for murkup but.
But it also can be defined as declarative programming language
In you link, there were no mentions about the fact that html is not programming language
Progrogrsmming languages can be used.....
can be used....
... and also can't...
What algorithm, did he described
What types of programming are there?
It's not event a defenition
It looks like you didn't read my comment, I'm not surprised
Sereously, reread this, and then generate proper answer.
I will make your life easier, just prove these 3 things:
Your arguments... They like arguments of any newbie in programming who found out what do last two letters in html mean, and now he knows the truth, the undisputed truth.
Reread... My... Comment
I'm not talking about Turing completeness here, I'm talking about basic logic. Calculate a boolean (binary) condition at runtime and show a different result depending on that logic. I cited a source, which you want to reinterpret to support your argument, that's fine. We disagree on it. By the way, I'm not attacking your knowledge level personally, I have no idea why you feel compelled to attack mine, especially when it only takes a few seconds to check my profile and post history on this site. Especially when you can't be bothered to learn basic spelling and grammar?
Why? I Don't reinterpret this, it's not even a defenition it's case specific introduction to an article.
I told you that logic and conditions are only required for imperative programming
By defenition, it's just fact
And html is non - imperative
It s written in those two articles, mentioned above
Just go deeper into these two terms.
Seriously, you did not read what I have written neither about html capabilities no about imperative and declarative programming styles.
We can discuss the status of html forever
Because the declarative programming is not always can be called "programming"
But
The statement "basic logic required for a programming language" is absolutely incorrect.
You need to stop use this argument
And read about declarative case specific programming styles, and may be you will be able to win an argument
It'd just unclear to me, why you can't just reply to what I really wrote.
Why you didn't mention imperative programming?
Why you didn't talk about html's features I described.
You just keep going like this: "basic logic should be in pl"
Please, you should understand that you tak about imperative programming.
You say that I redefine, reinterpret and etc.
But you really didn't my comments.
I never said that html is pl.
And I never said that it is.
I just tryna to say that your arguments not realy correct
In computer science, declarative programming is a programming paradigm—a style of building the structure and elements of computer programs—that expresses the logic of a computation without describing its control flow.
In computer science, control flow (or flow of control) is the order in which individual statements, instructions or function calls of an imperative program are executed or evaluated. The emphasis on explicit control flow distinguishes an imperative programming language from a declarative programming language.
Many languages that apply this style attempt to minimize or eliminate side effects by describing what the program must accomplish in terms of the problem domain, rather than describing how to accomplish it as a sequence of the programming language primitives2. This is in contrast with imperative programming, which implements algorithms in explicit steps.
Source: wikipedia
Btw, on Russian wiki there is a line which says that html is a part of declarative programming paradigm
"defenition of declarative programming"
P.S.
English is not my native language, so sorry for some spelling mistakes
I checked your posts, looks like you good at what you do. So, i have no idea why you write things like that:
"If you redefine a programming language to mean 'a language that doesn't need to allow expressing conditional logic', then you can say anything is a programming language. Emojis are a programming language because they instruct the computer to draw pictures.
The reality is that every programming language must have a way to express conditional logic based on criteria calculated at (its) runtime. This criterion classifies things like XSLT as programming languages (correctly) and HTML as not programming languages (also correctly)."
Now we don't talk about what html is. But abut what programming language actually is.
And the line: "...every programming language must have a way to express conditional logic based on criteria calculated at (its) runtime..." contradicts with the definition of declarative programming. Ans by the way, we cant call emoji a programming language because it does not have any control flow and it does not processes any data. Mean while html has (we just don't describe it) and also it has an ability to "process" data (i described it in one of my replies), this processing is just very domain specific.
For example regular expression is also can be called declarative "programming" language.
That is why:
This pattern is also possible with html.
And also remember my position, i don't say that html is programming language, and i also don't say that html is not. I only say that it can be defined like this, based on ...(all my comments above)
i'm trying to stop people using wrong arguments, and being obsessed with their "precious" knowledge: "html is not pl, everyone knows it, what makes them to say the oposite "
Explain how i reinterpreted your sourse?
it says the following: "
A programming language is a formal language that specifies a set of instructions that can be used to produce various kinds of output. Programming languages generally consist of instructions for a computer. Programming languages can be used to create programs that implement specific algorithms.
"
It exactly what pl is and it doesn't contradict with what i say.
This term also covers my sources. But its still just an introduction.
"I'm glad we agree that it's a markup language. I.e. not a programming language." - it's one more thing you need to explain
That was not really polite from your side. You knew that i didn't mean it. I just gave one of html's definition.
So, was it an attempt to reinterpret my words?
(Notice how carefully i'm trying to define your actions, and everything else)
Actually no, that's not a fact. Every programming language that falls under the non-imperative paradigm also has features for expressing conditional logic at runtime. Here's an example of a fundamentally pure programming language: mathematics: en.wikipedia.org/wiki/Indicator_fu...
Look at how that function is defined with two 'if' conditions. In other words, it is checking at 'runtime' (under some implementation of a runtime, e.g. a human brain) whether a number x is an element of a set A or not. I think you will agree that mathematics is not imperative programming. And yet here you see that even in mathematics we need to have a way of expressing conditional logic.
These are the basic ingredients you need for programming in any paradigm–functions and conditional logic. If a language doesn't have those, it's not a programming language.
What do you mean by: "every non-imperative programming language also has features for expressing conditional logic"?
I gave you a defenition of both imperative and declarative programming, I discussed your Sourse.
Tell me is Wikipedia mistaking? Or I didn't find something in those defs?
Why you just say "every non-imperative..... alsa has ability to express a logic"
Where are proofs?
Describe the defenition of declarative of the declarative programming
And find a line where it should have conditions.
And also answer my arguments, I just described the abilities of html, that there ectualy is (very case specific) controll flow.
OK, agree with your math fact but it also does not contradict my statements
Look
In our discuss I described two things:
1 "abilities of html"
2 "the defenitions of DP"
In what ways 1st doesn't much the 2nd
Show me defenition where pl should have primitive logic.
For now you just throwing lines like:
"So I glad we agree that... "
"No that's not fact"
"that's only possible... "
"ur not right"
Etc.
It's a big disrespect
I think you should use something like that:
"this Defenition does not mach",
"I don't agree with...."
And also I don't argue with everything above but give me Sourse,
Sourse you gave before, is on my side
For anyone else who read this
**
I don't support any side
**
Never give strict polarized defenitions (yes | no), because it 80% will be not correct.
I have no point, I just asked the person above a leading question, and gave a defenition which contradicts his words.
Instead of describing why this defenition (fits, or is wrong), it's just: "you redefine... "
Now for our dialogue:
I give you this:
en.wikipedia.org/wiki/Imperative_p...
And find me any line which supports your arguments.
For everyone else who read this
"Programming languages can be used to create programs that implement specific algorithms."
It's just one of interpretations of pl:
engineering.cornell.edu/Programmin...
And The thing I told about imperative programming is actually fact (answer to your disrespect)
I wrote this based on defs from wiki, copy them and show me the line where IT'S NOT A FACT, ALSO WHY DON'T YOU REPLY ON FACTS I GIVE YOU ABOUT HTML'S POSSIBILITEIS, AND THE FACT THAT IT'S "LOGIC" IS TOO HIGH LIVEL AND CASE-SPECIFIC, I EVEN DESCRIBED YOU WHY HTML IS NOT EMOGI, EVEN THOUGH I BROUGHT YOU DEFENITIONS WHERE NOTHING HAD BEEN SAID ABOUT RUNTIME AND CONDITIONS, INCLUDING YOUR SOURCE WHICH IS NOT EVEN AN ARTICLE
I CAN'T BE RIGHT IN THIS BECAUSE I HAVE NO POINT, I M TRYING TO SHOW YOU THAT YOUR ARGUMENTS SUCKS, IF YOU WANT TO PROVE THAT HTML IS NOT PROGRAMMING LANGUAGE STOP USING POLEMICS
I'tired of the fact that we just promote the post of the girl who is promoted by speaking out controversial topics.
Contact me on tg: t.me/web3dot1
The result of our discussion we will publish here
I gave you a computer science source–you language lawyer it to fit your own definitions. I gave you an example that directly contradicted your claims, using mathematics–you ignore it and ask for proofs. OK, then let's dig deeper into computer science, where programming languages are actually studied:
Foundations of Computer Science, Prof. Anil Madhavapeddy: cl.cam.ac.uk/teaching/2223/FoundsCS/
Lecture 1, 'Introduction to Programming', p. 7:
What they are calling 'commands' or 'control flow' is what I am referring to as conditional logic. But wait, there's more!
Concepts of Programming Languages, Prof. Robert Sebesta: ime.usp.br/~alvaroma/ucsp/proglang...
Chapter 2, 'Evolution of Major Programming Languages', p. 48:
In other words, programming.
In other words, he was studying–what are the fundamental requirements of programming languages.
In other words, conditional expressions i.e. conditional logic at runtime. John McCarthy, the creator of Lisp, the first and only computer programming language which humans consider is 'discovered' rather than 'invented', because it is so fundamental in computer science.
Look, no matter how strongly you might think otherwise–and how much bold and capitalized text you put in internet comments–programming languages have actually been studied and well understood for decades, and they have certain basic requirements. Which you will find repeatedly in any programming languages textbook. And HTML is not a programming language. This, of course, does not detract from its immense value. It's just not what it is.
Well... This is an age old question. Being objective it's not, as the name states (hyper text markup language). But it's debatable if it is or not. I don't really care, and neither should anyone really. It does not matter what we call it, it does what it does quite well, and that's the important part.
Ever since I learned C++ several years ago, I have been aware that HTML is not a programming language (I associate HTML with web pages), it is a markup language (it even says so in the name). Thank you for pointing that out. Despite this, I have not understood how anyone can call HTML a programming language, and I got very surprised when I first came over some who called it that on X. Has there always been someone who has claimed that HTML is a programming language or is it a more recent claim?
I think it's as old as the language
I always learn HTML is a mark-up language, not a programming language 😄
2 cents: AFAIK HTML is not! it's just a markup language. We may say it is primarily focused on presentation and structure of content, but nothing far from that :)
Wrong example, absolutely wrong
html can be compared to profession where an engineer makes car using ready modules
Why are you focusing on impact in development and complexity of an lang to find out if it is a programming language? Yes, HTML is just for page construction, SQL is for querying data, you cant do much with that.
But what do you call *shame *? "Programing language" is not a privilege, baggage, or a honorary status, its about science and definitions.
And by definition the thing you described called "imperative programming"(it also can be referred to other paradigms such as OOP).
in a nutshell, Imperative programming is a common way of programming for most people here.
Following this paradigm, your code should consists of commands, loops, statements, procedures, and with this set you change your global state (manipulating variables), and then your give a result
Now, lets talk about Declarative programming
Declarative programing is a way of writing a program when you focus only on result, but not an algorithm.
More about it
Yes, declarative programming languages are not Turing complete, so some people are struggling to call it "programming"(also me)
But its still programming
So the most correct thing you can tell about HTML is that it is not imperative programming language
But ....
It can be treated like declarative programming language
(I know about last two letters in HTML (Markup language))
HTML is a computer language and not a programming language. Specifically it is a DSL (Domain Specific Language) and under that it is a markup language.
Programming languages are generally expected to be "turing complete" which is much well defined idea. However this is not a hard rule because some folks put SQL under the programming language category where some of its flavors are not turing complete.
Despite the ambiguity of the definition of the word "programming language" I do not think any one would mistake HTML for a programming language.
Really spicy take: It doesn't really matter. It's a fun question to be pedantic about, and I'll happily argue over whether it is one or not just for the lulz.
But most people seem to be arguing for all the wrong reasons, and this just shouldn't be a matter of "are HTML people worth less than C people or not", because they're both valuable skills; and the same applies for discussions about other languages like CSS.
And the elitist attitude of some people really just spoils the fun of the discussion for me, honestly.
I'd ask yourself if Markdown is a programming language. I'm aware that the features, capacities, and intended use cases are wildly different, but at the end of the day, Markdown and HTML are both "markup" languages, and thus HTML is not a programming language.
The fact this is a conversation is frightning in a sense.
Nope.
I would say that HTML is not a programming language because. it is a markup. It is also only possible to get full potential with CSS combined and both are different in the sense of syntaxes and code structure. and you can not make an entire webpag with it alone like with Python if you use Flask and other frameworks. so in short HTML is not a programming language but a side tool that helps in the process of making a website/webpage.
Perhaps if you understand the role of these languages, everything will be easier.
No, HTML is not a programming language for 3 reasons:
1.It does not allow for the use of variables
2.It does not allow for the use of conditional statements
3.It does not provide any iterative looping structures
It's a markup language. In fact, that is the technology's name: HyperText Markup Language. That self-identified fact alone should settle the debate.
Is a Word document a programming language?
Yes, it can be treated like that.
Word document has XML structure under the hood
And XML can be treated as a programming lang in a "Declarative programing" paradigm
xml - extendible markup lang
(I just dont want arguments like "it`s markup lang, just read the defenition")
no!
Hypertext Markup Language did create a big hype in the Y2K era. However, HTML is no were close to any programming language and will never be in the future!
and well asked question. For your first post
As per my opinion no because it's just the structure language which contains the content and you know it cannot be used as for logical way.
Unfortunately Not, I believe that HTML is a method of providing structure, and the processing is done by Javascript, a programming language.
It is not turing complete, so no… there is no need for a discussion.
While HTML is not a programming language, it is a crucial component for creating and organizing the content on web pages. So, no.
Definitely not. It is widely believed among novice developers that HTML is a programming language, but this is not the case
Read about Declarative programming, and may be you will finally reach a level of "novice dev"
In my opinion it' not. HTML it is amazing, but it works as markup language. HTML is necessary for web life and it's very important, but HTML it is a markup language as xml as well.
I think HTML is not programming language.
Obviously not! HTML is scripting language!
It's a language, and the purpose of the language is to be used when you program a website. And in the end, it constitutes a great part of the resulting website.
Then it's not very impressive or useful on its own, so no need to mention it in a resume regardless of whether it's treated as a programming language or not.
If HTML is not a programming language, because it is a markup language, then JavaScript is not a programming language, because it is a scripting language, and the USA is not a country, because it is a union of states. Features are mutually exclusive and any subject can only be one thing or another at the same time.
So, i would say that people who just say "No", "Absolutely no" or "Did you see that three is Markup Language in HTML", are absolutely mistaking. They just need dive deeper in computer science.
The fact that HTML is a part of Declarative programing(yes PROGRAMING) paradigm (Like CSS, SQL, XML etc.). In a nutshell, declarative programming is a way of programming when you tell computer what kind result you want to get, and don't think much about algorithm itself. So Yes, HTML's programming language status is quite questioning, but only because it's not Turing complete.
And arguments like "it`s markup lang, look at two last letters in HTML" or "we cant create algorithms with that" are just stupid.
"it`s markup lang, look at two last letters in HTML" - it does not deprive it of programing lang status
"we cant create algorithms with that" - OF COURSE, BEACUSE IT IS DECLARATIVE PROGRAMMING, and most of languages of that paradigm are not Turing complete.
In my opinion, we don't need to give straight and "ONLY POSSIBLE" answer, in different cases we can treat HTML differently.
Btw, Declarative programming is also doubted to be "programming", it's mentioned on wikipedia. Doubted, but it's still programming )
When you say "HTML", are you including CSS and JavaScript?
No
Ah yes, the question (after the one about burrito being a sandwich) that has sparked long debates. In my opinion, HTML is a programming language. It's the foundation of websites and many other online tools. It's like the tortilla of a burrito. Without it, you have a mess. Thanks for posting this @anitaolsen! :)
You are very welcome! 😀
Yes!
It's quite confusing knowing that HTML is not a programming language
HTML should be defined as a light programing
It has no logic however it passes instructions to the computer.
Somehow in my opinion this is logic.
HTML (Hypertext Markup Language) is not considered a programming language; it is a markup language used for structuring content on the web. HTML provides a way to organize and format the elements on a webpage but lacks the ability to perform complex computations or logical operations. For tasks requiring programming, additional languages like JavaScript are typically employed. If you are seeking an affordable web designer in Chicago to enhance your website, consider exploring local design services that align with your budget and requirements.
HTML is not a programming language. It's a markup language used to structure content on the web. Unlike programming languages, HTML doesn't have variables, loops, or conditional statements. It defines the structure and presentation of web content.
No. It's on the same boat as JSON, XML, YAML.
They are not a programming language, neither HTML (unless you consider that odd programming language named HTML).
mY Teacher used to say HTML is a markup language so I just agreed his words... cos I don't wanna break his Heart.. ;) 😄
Hahah 😄 But it is a markup language, it even says that it it's name: HyperText Markup Language (HTML).
Weak argument. At least say why you think a markup language is not a programming language
Html probably not but now a days css is.
Woah, that was a new one. English is probably a programming language as well!
yes and better than php