The development of programming languages as a means of communicating with digital computers is surveyed with emphasis on those languages and characteristics of particular relevance to economists and statisticians. There are several different types of software: (1) True programming languages which are used for many purposes in communicating with the machine, such as FORTRAN. (2) Software with greater specificity in purpose and function such as MATHEMATICA, GAUSS, MATLAB and MAPLE. (3) “Libraries” or collections of special purpose algorithms designed to be used within programs written in one of the major languages, e.g., the LINPACK, MINPACK, EISPAC, and IMSL libraries. (4) Collections of programs, sometimes called packages, linked together and designed for special purposes. These generally must be used within some of the languages one step removed from the basics. Examples include MATLAB Toolboxes. (5) Finally, there are programs which although made generally available cannot be used stand-alone in any sense.