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)