Recently, Mego, quartata, CᴏɴᴏʀO'Bʀɪᴇɴ and I (VoteToClose) (building upon the work of ProgramFOX et al.) built a chat bot named Data that can run code for several different esoteric languages (and maybe, in the future, other languages). Now, after a conversation with overactor, one of the devs for SE-Chatbot, this was asked:
Could this bot with all its commands be considered a programming language?
And my immediate reaction was "Of course!" However, I wanted to ask on Meta to be sure.
Do you think that we can use this as a programming languages?
1 Answer 1
Yes.
According to the consensus on programming languages:
- Support a representation of natural numbers and of tuples. (We're talking about languages rather than implementations, so we will leave to one side the issue of type widths).
Check.
- Be able either to transform inputs into outputs (transformational model) or to distinguish an "accepted" input from a "rejected" input (decision model).
Still check.
- Be able to take two natural numbers and add them. In the transformational model, this means transforming an input tuple of two numbers into an output which correctly represents their sum. In the decision model this means deciding whether an input contains the representation of a tuple of three natural numbers such that the third is the sum of the first two.
Big check.
- Be able to take a natural number and say whether or not it is a prime. In the transformational model this means transforming a natural number into the representation of
0
or1
according to whether it is a composite or a prime number. In the decision model it means accepting precisely those inputs which represent a prime.
Check.
Of course, questions still need to be asked: "What defines input for this language", "Is it a full functioning program", "Is chat a command line (and then how do we count bytes/flags)", etc, but we can define those later if a consensus on this is reached.
-
5\$\begingroup\$ Next, if bots can be considered programming languages, can humans? I can meet all those criteria. :D \$\endgroup\$mbomb007– mbomb0072016年02月11日 19:04:59 +00:00Commented Feb 11, 2016 at 19:04
-
1\$\begingroup\$ @mbomb007 Eh, not really. You're not exactly "easily distributed", neither can you "run in any user's home computer". \$\endgroup\$Addison Crump– Addison Crump2016年02月11日 19:32:40 +00:00Commented Feb 11, 2016 at 19:32
-
\$\begingroup\$ @VoteToClose Neither of those objections are raised in the four points you make in the post ;) \$\endgroup\$Geobits– Geobits2016年02月11日 19:34:25 +00:00Commented Feb 11, 2016 at 19:34
-
\$\begingroup\$ @Geobits Yeah, it was addressed in comments on the question; we're working on that, actually. \$\endgroup\$Addison Crump– Addison Crump2016年02月11日 19:37:10 +00:00Commented Feb 11, 2016 at 19:37
-
4\$\begingroup\$ @VoteToClose I am, too, easily distributed. But please don't. And I certain could run ON any user's computer. :D But anyway, I'm also my own IDE and interpreter, and I perform more operations per second than any user's computer. I'll beat every computer at image and speech recognition. \$\endgroup\$mbomb007– mbomb0072016年02月11日 20:26:24 +00:00Commented Feb 11, 2016 at 20:26
!eval
. \$\endgroup\$