Von Neumann , Arthur W. Burks , and Herman Goldstine, in "Preliminary Discussion of the Logical Design of an Electronic Computing Instrument," going out of their way to use biological metaphors, defined the concept of a software program and showed how a computer could execute such a program by , stored in a binary-code random-access memory unit, by obeying instructions of a central control unit.  This 'von Neumann architecture,' drawing its circuit designs using McCulloch-Pitts neural-net notation with its sharp distinction between software and hardware, is the basis for almost all computers today.