Weve known about algorithms for millennia, but weve only been writing c- puter programs for a few decades. A big di?erence between the Euclidean or Eratosthenes age and ours is that since the middle of the twentieth century, we express the algorithms we conceive using formal languages: programming languages. Computer scientists are not the only ones who use formal languages. - tometrists, for example, prescribe eyeglasses using very technical expressions, ? ? such as OD: -1.25 (-0.50) 180 OS: -1.00 (-0.25) 180 , in which the parent- ses are essential. Many such formal languages have been created throughout history: musical notation, algebraic notation, etc. In particular, such languages have long been used to control machines, such as looms and cathe...