A language, is a mean of communication shared by a community and which includes a grammar and the ability to speak about anything. It is the most often verbal, and is often associated with a way to write it down. There are some exception, the most prominent being the sign languages used by deaf communities.
However, the same language can have several material forms which do not change them enough so that they are considered a different language. For example, English can be spoken, written down by hand, typed in an email, written in Braille or signed as manually coded English, it stays the same language: English. On the other hand, an email can be in English, German or French, the technique of transmission stays the same, but the language change.
Some means of communication share some properties of languages, and are therefore sometimes called "language", but they are not real language in the linguistic sense :
Body language is a (often subconcious) way to transmit some informations. But it is of course impossible for body language to convey any moderate elaborate meaning like "Don't forget to buy Apples at the market tomorrow", while it's trivial in any language (spoken or signed).
Computer languages and the mathematical formalism have some structure which may recall natural languages's grammar, and the capacity to convey some elaborate meaning, but they lack the possibility to speak about anything a true language has.
Secret languages like Pig Latin or Thieves' cant are often a variation of a natural language, either through a systematic rule (Pig Latin) or a a different vocabulary (Thieves' cant), but they often preserve a lot of the original language characteristic, and they are rarely a true distinct language, but mainly an encrypted version of it.