On the teaching of programming, i.e. on the teaching of thinking