Is "binary" a language?
-
I would argue that Binary Code is a formal language. Based on wiki's language disambiguation[^], there is a distinction between human, natural, and artificial languages. A formal language, i.e. an artificial language - a language created for a specific purpose, is a concept used in mathematics and computer science. Thus[^], a formal language L over an alphabet Σ is a subset of Σ*, that is, a set of words over that alphabet. In computer science and mathematics, which do not usually deal with natural languages, the adjective "formal" is often omitted as redundant. While formal language theory usually concerns itself with formal languages that are described by some syntactical rules, the actual definition of the concept "formal language" is only as above: a (possibly infinite) set of finite-length strings, no more nor less. In practice, there are many languages that can be described by rules, such as regular languages or context-free languages. The notion of a formal grammar may be closer to the intuitive concept of a "language," one described by syntactic rules. By an abuse of the definition, a particular formal language is often thought of as being equipped with a formal grammar that describes it. If by binary[^] we understand binary code[^], a way of representing text or computer processor instructions by the use of the binary number system's two-binary digits 0 and 1, then we have a formal language. For another example, Braille is a type of binary code that is widely used by blind people to read and write. This system consist of 6 dot positions, three in each column. Each dot has two states, raised or not raised. Braille is a language, right? : )
I would imagine if you could understand Morse Code, a tap dancer would drive you crazy. -- Mitch Hedberg (American Comedian, 1968-2005)
You can program in binary, not as easily as assembler, not as easier as C,FORTRAN, etc. Back in the very old days, you did program you computer using binary switches.
-
Help us settle a programmatic civil war here at my job... The first camp says "binary is NOT any kind of language". The second camp says "binary IS a kind of language". Neither camp is implying that there are teams of binary programmers out there or anything, there's just a debate on what constitutes a "language". What say you? Is binary a language? Thanks!
-
Help us settle a programmatic civil war here at my job... The first camp says "binary is NOT any kind of language". The second camp says "binary IS a kind of language". Neither camp is implying that there are teams of binary programmers out there or anything, there's just a debate on what constitutes a "language". What say you? Is binary a language? Thanks!
-
Help us settle a programmatic civil war here at my job... The first camp says "binary is NOT any kind of language". The second camp says "binary IS a kind of language". Neither camp is implying that there are teams of binary programmers out there or anything, there's just a debate on what constitutes a "language". What say you? Is binary a language? Thanks!
-
I can't believe I was dumb-nerd enough to write a decoder...
It's nice to write a decoder, but for this quick task i've 1) merged it to long string 2) divided by groups of 8 bits 3) copy-pasted to excel 4) used to excel functions bin2dec and char, and voila! in 2 minutes. steps 1 and two i did with Textpad macro, but it for such small length it can also be done manually.
-
The binary I posted is actually one of the responses of "Group 2" above. The point being, if the block of binary "says" anything, then by default "Group 1" must admit that it's a programming language. If it does not "say" anything and is just random gibberish, then it's not a language.
Those bits don't say anything by themselves. They make sense iff we assume they're in ASCII. So, in this case, ASCII *IS* a language, and "binary" is its particular alphabet. The same could also be written with decimal or hex, like the English words can be written with "regular" letters or with Braille. Latin letters or braille dots are not language, are they?
-
It's nice to write a decoder, but for this quick task i've 1) merged it to long string 2) divided by groups of 8 bits 3) copy-pasted to excel 4) used to excel functions bin2dec and char, and voila! in 2 minutes. steps 1 and two i did with Textpad macro, but it for such small length it can also be done manually.
Nice, as I'm no excel expert I was completely oblivious of bin2dec existence. A nice trick, the problem arises when you don't know which encoding it is, writing a decoder let's you quickly change decoder mechanism
-
It's nice to write a decoder, but for this quick task i've 1) merged it to long string 2) divided by groups of 8 bits 3) copy-pasted to excel 4) used to excel functions bin2dec and char, and voila! in 2 minutes. steps 1 and two i did with Textpad macro, but it for such small length it can also be done manually.
Nice, as I'm no excel expert I was completely oblivious of bin2dec existence. A nice trick, the problem arises when you don't know which encoding it is, writing a decoder let's you quickly change decoder mechanism
-
I would argue that Binary Code is a formal language. Based on wiki's language disambiguation[^], there is a distinction between human, natural, and artificial languages. A formal language, i.e. an artificial language - a language created for a specific purpose, is a concept used in mathematics and computer science. Thus[^], a formal language L over an alphabet Σ is a subset of Σ*, that is, a set of words over that alphabet. In computer science and mathematics, which do not usually deal with natural languages, the adjective "formal" is often omitted as redundant. While formal language theory usually concerns itself with formal languages that are described by some syntactical rules, the actual definition of the concept "formal language" is only as above: a (possibly infinite) set of finite-length strings, no more nor less. In practice, there are many languages that can be described by rules, such as regular languages or context-free languages. The notion of a formal grammar may be closer to the intuitive concept of a "language," one described by syntactic rules. By an abuse of the definition, a particular formal language is often thought of as being equipped with a formal grammar that describes it. If by binary[^] we understand binary code[^], a way of representing text or computer processor instructions by the use of the binary number system's two-binary digits 0 and 1, then we have a formal language. For another example, Braille is a type of binary code that is widely used by blind people to read and write. This system consist of 6 dot positions, three in each column. Each dot has two states, raised or not raised. Braille is a language, right? : )
I would imagine if you could understand Morse Code, a tap dancer would drive you crazy. -- Mitch Hedberg (American Comedian, 1968-2005)
English is a language but the letters A through Z are not. Binary in and of itself I don't think could be thought of as a language but when you refer to "binary code" that is something different, I would argue. When one says the "English language" they would be referring to the language that is constructed using the English(?) alphabet and so "binary" refers to the code but doesn't constitute a language by itself. I believe this is what you are saying. Very well put.
-
English is a language but the letters A through Z are not. Binary in and of itself I don't think could be thought of as a language but when you refer to "binary code" that is something different, I would argue. When one says the "English language" they would be referring to the language that is constructed using the English(?) alphabet and so "binary" refers to the code but doesn't constitute a language by itself. I believe this is what you are saying. Very well put.
: ) what I gathered from the wiki pages, is that a formal language can be defined as a set of words over an alphabet (with or without grammar). Since binary code is a set of words formed by putting together 0s and 1s, it constitutes a language. The meaning/usage of the words, if you think about it, is independent of the language construction. '0110' may mean 7 or may mean that there are 4 switches of which two are on and two are off. 'Cool' may describe a thing with a temperature between 10-15C degrees or may describe a thing that we like. It seems to me that if you are smart in your choice of language, you can reuse it later for a different purpose. Braille is an interesting illustration of this where binary code is used for written communication for the blind people rather than for representing computer processor instructions. But this discussion becomes confusing pretty fast if you ignore the distinction between human, natural, and artificial languages.
I would imagine if you could understand Morse Code, a tap dancer would drive you crazy. -- Mitch Hedberg (American Comedian, 1968-2005)
modified on Monday, April 11, 2011 11:14 PM
-
: ) what I gathered from the wiki pages, is that a formal language can be defined as a set of words over an alphabet (with or without grammar). Since binary code is a set of words formed by putting together 0s and 1s, it constitutes a language. The meaning/usage of the words, if you think about it, is independent of the language construction. '0110' may mean 7 or may mean that there are 4 switches of which two are on and two are off. 'Cool' may describe a thing with a temperature between 10-15C degrees or may describe a thing that we like. It seems to me that if you are smart in your choice of language, you can reuse it later for a different purpose. Braille is an interesting illustration of this where binary code is used for written communication for the blind people rather than for representing computer processor instructions. But this discussion becomes confusing pretty fast if you ignore the distinction between human, natural, and artificial languages.
I would imagine if you could understand Morse Code, a tap dancer would drive you crazy. -- Mitch Hedberg (American Comedian, 1968-2005)
modified on Monday, April 11, 2011 11:14 PM
I see what you are saying now. Good example. Braille is a language and a binary code. Doesn't matter if the encoding is read by a machine or a human it is, technically, (and, apparently, by definition) a language. I use binary quite a bit when creating flag variables, I can convert to and from, and read them as decimal (the smaller values) but I never looked at it in that light. Interesting. Impressingly articulated by the way. ;)
-
Help us settle a programmatic civil war here at my job... The first camp says "binary is NOT any kind of language". The second camp says "binary IS a kind of language". Neither camp is implying that there are teams of binary programmers out there or anything, there's just a debate on what constitutes a "language". What say you? Is binary a language? Thanks!
There are 10 kinds of people in the world. Those that can read binary and those that cannot.
-
I see what you are saying now. Good example. Braille is a language and a binary code. Doesn't matter if the encoding is read by a machine or a human it is, technically, (and, apparently, by definition) a language. I use binary quite a bit when creating flag variables, I can convert to and from, and read them as decimal (the smaller values) but I never looked at it in that light. Interesting. Impressingly articulated by the way. ;)
Thank you, Keith. I did enjoy the discussion because it makes you see things from different perspectives and helps you discover new things. I think that it is very smart to use binary as flag variables. Nice and quite flexible application. Well done. Blushfully yours :)
I would imagine if you could understand Morse Code, a tap dancer would drive you crazy. -- Mitch Hedberg (American Comedian, 1968-2005)