Languages are not just sets of symbols. They also contain a grammar, or system of rules, used to manipulate the symbols. While a set of symbols may be used for expression or communication, it is primitive and relatively unexpressive, because there are no clear or regular relationships between the symbols. Because a language also has a grammar, it can manipulate its symbols to express clear and regular relationships between them.
For example, imagine going on a walk with a person who only knew individual symbols, or words. If you saw a dog, he might say, "Dog scare" or "Scare Dog". Although any English speaker would have some notion of what he was talking about, the relationship between the words is unclear. Is he scared of dogs? Or just that dog? Or does he want to scare the dog off? Does he think the dog is scared? But if you respond, "I’m not scared of dogs," the relationship between dog and scare is quite apparent and hence the meaning of the utterance.
Another important property of language is the arbitrariness of the symbols. Any symbol can be mapped onto any concept (or even onto one of the rules of the grammar). For instance, there is nothing about the Spanish word nada itself that forces Spanish speakers to use it to mean nothing. That is the meaning all Spanish speakers have memorized for that sound pattern. But for Croatian speakers nada means hope.
However, it must be understood that just because in principle the symbols are arbitrary does not mean that a language cannot have symbols that are iconic of what they stand for. Words such as meow sound similar to what they represent, but they could be replaced with words such as jarn, and as long as everyone memorized the new word, the same concepts could be expressed with it.