In the simplest of terms, code is not language and language is not code even though informally sometimes it is incorrectly called “computer language”. Neither the computer nor any linked community of computers such as the internet speaks a language; humans represent useful language information in their computer use through code. Language consists of and is created through immersion in social activity, there is no such thing as a “private language” known only to an individual. An individual can create a private code for personal use or interpretation of a language, however because the language being interpreted by the code will always be a public creation, the personal code regardless of its difficulty and obscurity in fact will conceptually always be decipherable given the necessary time and energy.
Code is a finite set of rules for getting specific outputs from specific inputs. This is why you can create code for an language alphabet but not for a language directly: finite input leads to finite output. All non-mathematical language is vague and indeterminate. Vagueness and indeterminacy cannot be coded: infinite input leads to an infinite output. When I translate a word from one language to another, there is no code for doing this and any translation is as indeterminate as the speaking of the languages themselves. Different translators will translate sentences from one language to another in countless different ways. Look up Quine’s “indeterminacy of translation”. All words are vague and the rules for using them are indeterminate and usually ambiguous in some way. The whole purpose of a code is to try to be universally precise by being finite. For example, in Morse Code, once anyone knows it, the code “… – – – …” universally gives you the word SOS regardless of what language you speak. Most English speakers understand the meaning of SOS. But, how would you explain its meaning to a Basque, Greek, or other non-English or non-Latin alphabet user? There is no code for that translation nor any determinate way of doing it other than by social interaction between individuals.
Though language is sometimes a rule-based activity, it is not defined by rules — it defines rules and pretty much everything else. Language is best described as a holistic social activity by which individuals in a society communicate. Do not commit the Homunculus Fallacy that is omnipresent in artificial intelligence, in much of modern linguistics, and even in so-called cognitive sciences. (For more contemplation, see Kenny, A.J.P. “The Homunculus Fallacy”. (1971) reported in his The Legacy of Wittgenstein. Oxford: Blackwell (1984), pp. 125-36.) Language does not exist in the brain anymore than code exists in the computer. A brain is necessary to speak a language in the same way that a computer is necessary for computer code but it is nonsense to say the brain contains or has rules for language in the same way it is nonsense to say the computer contains or has code. A computer as does a brain has a bunch of ‘chemical’, ‘electrical’, and other ‘physical’ interactions —- words created by language —- but no code or language; the latter are created by social interaction. Language is the social activity by which we create words such as ‘brain’, ‘computer’, and so forth and their meaning not the other way around. Both language and code exist in the place or with the person in which they are being expressed or who is using them or making them useful: in the room, on the paper or computer screen, with the person speaking, with the person hearing, and so forth. Language no more exists in the brain than “running” or “walking” exist in the legs or “throwing” exists in the arms. A person or persons interacting socially speak a language not their brains.
The social activity of language can exist without code, but code cannot exist without language. The so-called “code of life” words and numbers of DNA exemplify this distinction. This “code of life” no more exists in life than do tote boards in horse racing without bookies. Without the language created by the social interaction of biologists, mathematicians, chemists, and so forth through language, life would have no “code of life” DNA —- just as horse racing would not have the code of its tote boards without the social interaction language of its gamblers, owners, and racers.
One way to think about the difference is to contemplate the famous Private Language Argument of Wittgenstein. One cannot have a “private language” spoken by only oneself. This would be nonsense because there would be no concept nor any way to know whether one is using the words and sentences of the private language “correctly” —- either syntax or semantics. The “correctness” of language meaning comes to life by its use and usefulness in social interaction, otherwise any word or sentence can mean whatever any individual wants it to mean at any given moment and “meaning” would be meaningless. One can create a private code whose meaning is derived from language, however because its creation is dependent on language, it will by necessary always be decipherable eventually into language (or in modern terms, it could always in principle be hacked).
To paraphrase the Ancients and Star Trek: language is the fire in which we burn. Talking about language involves an observer effect as much as does quantum physics, however there is no way to compensate for it but we can be aware of it. For more contemplation, see Bennett, M.R.; Hacker, P.M.S. Philosophical Foundations of Neuroscience. Oxford: Blackwell (2014).