Mathematics is old, Logic is old, but so is computer science. In this talk, I go through some of the developments in mathematics and logic which influenced the creation of some computer science ideas in the 20th century. In particular, I discuss the need for more precision and formality in the 18th century, the influence this had on the development of logic in the 19 the century, the work of Frege and the discovery of Russell's paradox. I then discuss the use of type theory by Russell to avoid the paradox and explain that types are an old concept. I briefly review the evolution of types from the time of Euclid (325 B.C.) to the mid of the 20th century. The developments in the early part of the 20th century led to the lambda calculus of Church in the early 1930th. Lambda calculus and type theory continue to play an influential role in computer science.

This talk is of interest for anyone interested in the foundation and implementation of logic, mathematics and programming language.