Sites Inria

Version française

Computer science from A to Z

L is for Language

© INRIA Sophie Auvin - L comme Langage

If (x = = y) {n + + ;}/
But why don't we speak to computers in the same way we speak to people?

For a long time, science-fiction has depicted machines that understand English or other earthly tongues. Software already exists that partially “understands” our natural language, but this runs up against a number of obstacles: ambiguities, the importance of context, cultural references, plays on words…

In addition, to create this software, programmers must use programming languages that more closely resemble mathematical notation. To run a program written by a human being, the computer starts by translating it into elementary instructions, but the existing translation software (compilers) is a long way from mastering the subtleties and ambiguities of our natural languages.

In principle, any program can be written in any language. But do we create new languages or perfect existing ones with specific characteristics that make them better suited to particular uses? Will we ever have a real-life R2-D2, a robot which understands everything we are saying without our having to spell it out in simple terms?

Did you know...?

© INRIA / Sophie Chauvin - Langage

A programming language is therefore a compromise: it must be natural enough for humans to learn and simple enough to be translated automatically without errors. Programmers must be very careful about the way in which they express what they want to say.

Keywords: Computer science from A to Z Science awareness