It is commonplace to remark that a cell phone has more computing power than the Apollo rocket that sent the astronauts to the Moon. It is somewhat less common to hear that the cell phone also costs a lot less. How did this happen? It required the interplay of economics and technology to bring the development community to its current position.
In the beginning, computers were big, slow, and expensive. Programmers were rare and highly skilled. It was worth spending a programmer's time to save a computer's time. This is the era of mainframes, assembly language, and Fortran.
As time went on, computers got faster and cheaper. Programmers became somewhat less rare, but still commanded a premium. At some point, it became more cost-effective to spend the computer's time to save some programmer time. This is the era of PCs and high-level languages.
For a time, things were good. Computers were always getting faster, and memory was always getting bigger. There was no need to write...