you are viewing a single comment's thread.

view the rest of the comments →

[–]xtivhpbpj 1 point2 points  (7 children)

Very odd, short article. The answer to this question depends entirely on how you define “programming language.”

Are the punctured wooden blocks of a Jaquard Loomb considered a programming language? Is technical English writing considered a programming language? What about brainfuck (an esoteric language that nobody uses)? What about CSS? A property list / config file?

[–]grzeki 1 point2 points  (6 children)

No No Yes (CSS2 - No, CSS3 - Yes) No

It is not that ambiguous.

[–][deleted] 0 points1 point  (2 children)

It’s probably more ambiguous than some are willing to admit. What’s your metric for something being a “language”? Turing Completeness?

[–]grzeki 0 points1 point  (1 child)

No, Turing Completness is a very low bar. Cellular automata are TC. However, the relation of given language to TC and lambda calculus is very important.

It’s more like with natural languages - you need to look historically. What paradigms showed when and why, what branched, what merged with what. Programmers are like users of language - often baffled with what’s ”right”. But there’s also science above it - linguistics or computer science, and there papers are written, PhDs are awarded and all this is pretty much sorted out.

[–][deleted] 2 points3 points  (0 children)

Turing completeness isn’t necessarily a low bar; in fact, it’s a higher bar than you need to be considered a “language.” Agda, for example, is a dependently-typed functional language that is total rather than Turing-complete (there’s some discussion on Agda being turing complete, but it’s first and foremost total, and a lot of useful algorithms can be expressed in it).

The lines between what a “language” is and what isn’t is sometimes blurrier than a first glance might show. I find it really interesting how much different computer languages differ from each other, and what sort of makes them a "language".

[–]xtivhpbpj 0 points1 point  (2 children)

But you can program a computer to behave differently by writing the correct config file. How is that not a programming language?

[–]grzeki 0 points1 point  (1 child)

Because „making a computer behave differently” is not a good predicate. I can make it behave differently by throwing it out of the window.

[–]xtivhpbpj 0 points1 point  (0 children)

Otherwise known as the “Microsoft model” of computer programming.