This article provides an introduction to the theory of automata and formal languages. The elements are presented in a historical perspective and the links with other areas are underlined. In particular, applications of the field to linguistics, software design, text processing, computational algebra or computational biology are given.