Grammatical inference is about learning a finite state machine or a grammar given data (strings, trees, now even graphs) from a language. The question has numerous applications, from computational linguistics to bioinformatics, model checking or pattern recognition. The algorithms and techniques can be quite different from those in statistical machine learning, often less robust and on the other hand better suited for cases where the situation is that of identification: we know that there is a pattern of the intended family to be found. In this talk we will present the main ideas of this field, some applications and current research questions.