A look at the evolution of programming