John Backus proposed moving away from von Neumann programming styles towards functional programming in his 1978 paper. He argued that functional programming using applicative models without state could improve program clarity and reasoning about software. While functional programming ideas did not become mainstream, some concepts like higher-order functions are now common. Functional programming may also help with concurrency, but open questions remain around evaluation models and representing imperative computations.