+ 6

CSS, BrainF*ck etc. Are they programming languages?

I think BrainF*ck is a programming language since Logo basic is considered as one. Also, CSS has functions and variables. So my question is if there is a clear definition if what a programming language is. I want to know if it is advised in a professional environment to call css, brainf*ck or turtle logo programming languages MY CONCLUSION By standard definitions of programming languages. CSS, HTML, BrainF*ck etc are computer programming languages. But there are still other definitions that rules out this languages. For example, the criterion of Turing completeness. So it is not generally accepted to consider some computer languages as programming languages See these https://mortoray.com/2019/02/11/of-course-html-is-a-programming-language/ https://tylermcginnis.com/imperative-vs-declarative-programming/ https://notlaura.com/css-is-a-programming-language https://en.m.wikipedia.org/wiki/Programming_language

9th May 2020, 8:41 AM
Ore
Ore - avatar
28 Antworten
+ 12
So the question is basically answered one way or the other, depending on how exactly you define programming-language. Like when you say 'Python is a compiled language because code is compiled to byte code' or whatever. Discussions like this can go on forever, and did before, and will do in the future. Just go to the links I gave about HTML, the same points are made there. Same in David's post. Slight shifting of goal posts - right back into rotation. Works every time. I restate what I wrote initially: Obsessing about this is not worth anybody's time. You just need to know what a specific language can do (format text) and what it can't do (hack NASA).
10th May 2020, 2:08 PM
HonFu
HonFu - avatar
+ 10
Most common judgement: Languages like HTML, CSS and such are no programming languages. Less common judgement: Languages like HTML, CSS and such are domain-specific, non-turing-complete declarative languages or something along the lines. No need to spend a lot of time pondering about. Choose the tool that does what you wanna do (probably not Brainf*ck though ^^) and be done with it.
9th May 2020, 9:00 AM
HonFu
HonFu - avatar
+ 8
Do the "factorial test": Can the language calculate 6! = 6*5*4*3*2*1, for any n! ? If yes, it's probably a programming language. If not, it probably isn't.
9th May 2020, 11:20 AM
Schindlabua
Schindlabua - avatar
+ 7
Let's not go too deep into the discussion, because... well, it's basically an old one: https://www.sololearn.com/discuss/1165433/?ref=app https://www.sololearn.com/discuss/556163/?ref=app
9th May 2020, 9:05 AM
HonFu
HonFu - avatar
+ 5
Ore Adeleye Sure, I love HTML, not being a programming language is not a bad thing. Unfortunately a lot of people seem to take it that way. Writing good HTML requires a similar skillset to writing good js. It's mostly pedantery but if we call HTML a programming language then we can use the same reasoning to call .zip-files a programming language which is obviously nonsense. Let's just call it markup, HTML even carries it in it's name :) The name is super descriptive: Hypertext markup language. It's markup, for hypertext. Web components help in seeing that, HTML went from simple hypertext markup to a complicated <div> jungle only coders could understand, these days we are moving back to simple markup. If you see a <Calendar> tag you immediately know what's going on. (Yet you didn't program anything. The programming part happens in the javascript alongside)
10th May 2020, 3:06 PM
Schindlabua
Schindlabua - avatar
+ 3
Not everyone agrees about that question. Read here: https://www.sololearn.com/post/141278/?ref=app
10th May 2020, 10:57 AM
HonFu
HonFu - avatar
+ 2
interesting question. and it goes on with json, xml,.. curious what our cracks will answer. meanwhile we could ask the oracle of SL. They call it searchbar.
9th May 2020, 9:02 AM
GeorgeT
+ 2
HTML is not a programming language for the same reasons that markdown is not a programming language, or word files. Yes it's a declarative language, but you are not using it to describe a program, hence it's not a programming language. You wouldn't believe it by looking at the complexity of modern HTML but at it's core it's still just hypertext - text with links. Contrast this with XSLT, which is an XML-based programming language which looks similar to HTML. It clearly describes program because we declaratively describe how to transform an input file to an output file.
10th May 2020, 1:49 PM
Schindlabua
Schindlabua - avatar
+ 2
Why mod not taking any actions they are asking same questions again an again😜😜
11th May 2020, 8:41 AM
A S Raghuvanshi
A S Raghuvanshi - avatar
+ 2
if you want some reference you can read this website https://en.wikipedia.org/wiki/Computer_language then you will know the differences
11th May 2020, 8:51 AM
𝖆𝖊𝖙𝖍𝖊𝖗
𝖆𝖊𝖙𝖍𝖊𝖗 - avatar
+ 1
HonFu yes ... a philosophical question. maybe irrelevant?
9th May 2020, 9:05 AM
GeorgeT
+ 1
HonFu I understand you and of course I have chosen the tool that does what I want to do. I am also not judging a tool based on whether it is a programming language or not. The point is it is expected of a professional programmer to at least know what a programing language is and what is not a programming language. Also, the links you posted do not answer my question of what a programming language is.
9th May 2020, 9:27 AM
Ore
Ore - avatar
+ 1
Okay. So what I am being made to believe now is that there is no clear definition of what a programming language is. According to Wikipedia, "A programming language is a formal language, which comprises a set of instructions that produce various kinds of output.  Many programming languages are written in an imperative form (i.e., as a sequence of operations to perform) while other languages use the declarative form (i.e. the desired result is specified, not how to achieve it)." Going by this definition. A programming language should have 1. Function and target 2. Abstractions 3. Expressive power https://en.m.wikipedia.org/wiki/Programming_language So I am confused on why the entire programming community do not consider html and css as programming languages. Is there something I am missing?
10th May 2020, 10:36 AM
Ore
Ore - avatar
+ 1
Schindlabua You said "it's still just hypertext - text with links". I don't think so. HTML allows you to embed media and vector graphics in web pages. Also it supports coding web scripts with <script> tags. That's not just text with links.
10th May 2020, 2:02 PM
Ore
Ore - avatar
+ 1
Ore Adeleye But an <img> tag say is also just a link. A browser for blind people or a browser inside a terminal may choose not to represent it. It has script tags but the stuff within it is written in a different language (mostly js). So a script tag contains just text as far as HTML is concerned. (Javascript is not a "feature" of HTML.) Vector graphics are a good example actually, SVG is also not a programming language for the same reasons. (JPEG is not a programming language either for that matter.)
10th May 2020, 2:49 PM
Schindlabua
Schindlabua - avatar
+ 1
Schindlabua I get it. But it does not feel right to say something is not a programming language just because it is not general purpose or because it is declarative. I mean HTML, combined with CSS is used to program beautiful UIs. Have a look at this article https://mortoray.com/2019/02/11/of-course-html-is-a-programming-language/
10th May 2020, 2:58 PM
Ore
Ore - avatar
+ 1
Schindlabua I appreciate your help in shedding more light into this. Even though I am not fully satisfied yet, I am no longer confused as to what makes a language a programming language. Also I would not like this discussion to become a debate. Thanks very much
10th May 2020, 3:14 PM
Ore
Ore - avatar
+ 1
@Ore, it's interesting that you bring this up, I've personally always thought of html and css as real programming languages especially when you look at sass, most client side languages have been disregarded as real programming languages unlike server side programming languages, but when you look at what html and css can do now compared to what they could do back then, they've come a long way, at some point javascript was just seen as a client side scripting languages, but when you look at all the frameworks that came as a result of js you realize that the languages evolve and should not be limited to client side or server side, OOP and all the other factors that seem to make up a real programming language.
11th May 2020, 8:33 AM
Mangaliso
Mangaliso - avatar
0
look... interesting...
9th May 2020, 9:03 AM
GeorgeT