Category talk:Non-Programming Languages: Difference between revisions

WP definition
m (Added crosslink)
(WP definition)
 
(4 intermediate revisions by 3 users not shown)
Line 11:
 
::: HTML, JSON, SGML, SVG and XML are not designed to be programming languages. The maintainers do not expect to support you writing a program in them. (except maybe as a small part of their primary focus, and even then, that part usually comes with its own name such as [[JavaScript|ECMA script]]). --[[User:Paddy3118|Paddy3118]] 13:34, 6 July 2009 (UTC)
 
:::: Hmm, this requires a definition of ''program'', provided that ''programming'' = ''writing programs''. The traditional definition of '''program''' is a ''syntactically correct, complete sentence in the language''. This gives no way to determine what is a "programming language". Is object code a programming language? In the above sense it is. "Focus on programming" isn't really better, because it itself requires "programming". Maybe "programming" merely refers to certain human activity named so? I.e. "non-programming" means ''not good to be used by a decent programmer'', or ''unusable for software engineering''? But people are programming Web pages in HTML, don't they? Consider a program generator that spits [[C++]] code. Does this make [[C++]] not a programming language? Among three key aspects of a language: 1) application domain, 2) syntax and semantics, 3) computational environment (the target), which one should classify it as programming or non-programming? Or to put it in other words, is "programming" a property of the language or else a way of its use [by programmers]? --[[User:Dmitry-kazakov|Dmitry-kazakov]] 14:31, 6 July 2009 (UTC)
 
I just want to add my gut-feeling upvote for this category. Apparently details need to be ironed out but there definitely are languages here that just don't seem like "programming" languages. SVG is a good example. Its application is too specific to really be considered for general comparison with definite programming languages like C++. Languages like this can be excluded from minimum penetration consideration because they would have too few tasks available to them. XML seems to be mostly about data description and metadata. I'm really not sure how it could be used to add numbers for example. I'm not saying arithmetic is a good measuring stick, but the fact that it's not really designed for that sort of basic thing makes it seem fishy. --[[User:Mwn3d|Mwn3d]] 15:10, 6 July 2009 (UTC)
<hr>
I've updated the category page with an attempt to formalize what I meant when I created it.
:A non-programming language, for the purposes of this category, is a language which is not suitable for expressing algorithms to be executed by a computer: they do not have execution semantics (e.g. JSON which is “just a data structure”) or those semantics are directed towards a particular purpose and are not Turing-complete or not intended to be (e.g. SVG which outputs images).
Don't take this as absolute; I'm trying to make, not a distinction out of principle, but a practical distinction for purposes of "what kind of tasks, ''mostly'', will this language be good for?"
 
It might be a better idea to not have this "negative" category and instead have positive ones, e.g. "Programming language", "Document language" (html, svg, latex, ...), "Data format" (json), ...--[[User:Kevin Reid|Kevin Reid]] 14:57, 6 July 2009 (UTC)
 
I am afraid it still confuses things. This round it is Turing-completeness and the language purpose. A data description language, or a text processing language can perfectly be Turing complete. The notable example is the [http://en.wikipedia.org/wiki/Conway%27s_life Conway's life]. The "language" of its configurations has no "algorithmic" purpose. Nevertheless it is Turing-complete. Is it a programming language? At the same time [[SQL]] is not Turing-complete. Is it a non-programming language then? As for "execution semantics", that rather is a hidden reference to imperative programming. Do [[Prolog]] or [http://en.wikipedia.org/wiki/Simulink MATLAB/SIMULINK] have it? [http://en.wikipedia.org/wiki/Printer_Command_Language PCL] does not? My opinion is that any computer language is a programming one independently on its power or purpose. --[[User:Dmitry-kazakov|Dmitry-kazakov]] 21:09, 6 July 2009 (UTC)
 
: According to [[wp:Programming language|Wikipedia]]: "A programming language is a machine-readable artificial language designed to express computations that can be performed by a machine, particularly a computer." --[[User:Ce|Ce]] 23:10, 6 July 2009 (UTC)
973

edits