Computational Linguistics is a field of both
computing and
linguistics. Unlike other forms of linguistics, it specialises in analysing the
semantic and
syntactic structures of languages, emulating these structures and trying to put them together to form rules (often called phrase structure rules), so that they can be programmed.
One of the main applications of computational linguistics is in parsing. Parsing is where we break down language and analyse it to see if it's properly formed. An example of an application of parsing is in grammar checkers in word processors and also in web searchers, though the applications of it are far reaching and will have potentially huge implications in the future.
Most computational linguistics use programming languages, which specialise in or are better equipped for natural language processing. These most often include prolog and perl.
Computers are not hugely advanced at the moment when it comes to understanding language, because as linguists, we cannot analyse completely the grammars of all languages in the world. Even for one simple language, the grammar would be huge. The reason for this is that humans (it is theorised) are born with an innate ability to grasp the fundamentals of any language. It is a cognitive process, which we have yet to fully understand, one which can be studied in the fields of cognitive science and artificial intelligence (which most computational linguists will learn about). The matter of how we learn language as children are normally divided into the Innateness Hypothesis and the Empiricist Hypothesis. We can therefore conclude that because we do not yet have a detailed understanding of how the brain works, we cannot reproduce computationally how computers can best learn language.
Computational linguists can specialise in many areas, or combinations of areas. Obviously, computational linguists are better equipped than anyone else to program computers to understand language, since they have an equally good understanding of linguistics and programming, but there are many branches of each of these. The most popular branches of computing would be in programming and development, as well as artificial intelligence. The most popular branches of linguistics are semantics, pragmatics, syntax, phonology, phonetics and morphology.
Contrary to belief, the science of language contains much more detail than one might believe. It shares common interests with computers, mathematics, psychology, sociology and many other fields.