A system of symbols developed to communticate ideas between intelligent entities.

Natural languages are used (so far as we know) only by humans, but computers are starting to be able to understand them, albeit imperfectly.

Formal languages, such as programming languages are created to express ideas in a more rigid, but also less ambiguous way. They are used in Mathematics, Computer Science and many other scientific disciplines.