Learning objectives
Interaction with the computer takes place in a variety of ways: when the <br />
behaviour to be obtained is simple or already coded, it is possible to use simple and intuitive formalisms. For more sophisticated types of communication, formalisms with a strong expressive power must be applied. Programming languages offer an extensive range of notations for the specification of the behaviours required of a computer. The study of programming languages is fascinating and also important. In the first place because the study of the <br />
fundamental principles (values, links, control, abstraction, <br />
encapsulation, objects, modules, non-determinism, types, ...) and their realisation in the various languages (C, C++, Fortran, Pascal, OCaml, Java, Python, ...) help students understand what really counts in the choice of a programming language, above and beyond the "fashion" of the moment.. In the second place, because the comparative study of languages leads to a refining of ability and programming style no matter what languages are given major weight in a given moment of our professional life. Last but not least, more often than we realise, the solution to a computer science problem is arrived at through the definition of a language and the realisation of a "machine" that interprets it.