Language is a generative system of signs for transmitting information. These signs are normally conventional and arbitrary in nature, though the case of body language is a (borderline) exception to this. The reality of any given language consists in its being interpretable by some community (usually human). This is not quite true of computer languages, however such languages are only possible insofar as some kind of automation of the process of interpretation (by computers) has been effected. In the case of dead languages, the community may no longer exist (although even if no one can speak such languages any longer, currently-interpretable texts often remain, for example, the Attic Greek dialect). Languages are most often spoken, but not always (i.e. Sign Language).
Not every system of signs is a language; a certain richness of possible expression is required. Thus Morse Code, for example, though a convention for communication, is not a language. Finally, the concept of language is not intended to cover the special vocabulary and usages of a scientific, professional or other group, or a characteristic style of speech or writing (e.g. ‘Shakespearean language’).
It’s worth noting that the possibility of a language which is in principle not interpretable by a community but only by a single individual is not a philosophically uncontentious issue. However certain influential arguments have been presented against it (see in particular Ludwig Wittgenstein, Philosophical Investigations).