!functional programming VON NEUMANN BOTTLENECK _____ _______ | | | | | CPU |----| store | |_____| |_______| The task of a program is to change the contents of the store. This task is accomplished by pumping words back and forth through the bottleneck. A large part of the traffic is not useful data but merely names of data, as well as operations and data used to compute such names. High level languages are complex versions of the Von Neumann computer. Von Neumann programming languages use: - variables to imitate the storage cells of the computer - control statements to elaborate its jump - assignment statements imitate its fetching, storing and arithmetic The assignment statement is the Von Neumann bottleneck; it keeps us thinking a word at a time