The exponential advance of all the underlying technologies noted by Moore's law cannot continue indefinitely. Nevertheless, dire predictions for the end of this advance in electronics have consistently been wrong because they have underestimated the continuing technological innovation and the rapid market expansion, fueled by declining prices and innovative new applications, that continue to pay for that innovation and for increasingly expensive fabrication factories. What is clear, however, is that continued scaling of existing technologies will someday run out of gas, perhaps in a decade or two. The limitations may be physical (the number of atoms per device gets small enough so that the devices no longer work properly) or economic (the costs of technological innovation or capital expenditures become excessive).
The end of scaling for existing technologies is probably not the end of technological advance because radically new technologies may be possible. Nanoscale technologies and quantum electronics are currently being pursued in research laboratories. These technologies directly exploit the quantum properties of individual atoms and thus work very differently than current electronic technologies. While conceptually possible and consistent with the laws of physics, they are unproven in practice. If they can be made to work, they will yield dramatic advances over current technologies, creating a discontinuity in performance characteristics, although cost is more of a question mark. They, too, will experience physical limitations and will thus postpone but not eliminate the day when the advance noted by Moore's law comes to an end.
When technological advance does slow down, the effect on the software industry may or may not be dramatic. A lot depends on when it happens. If it were to happen today, the effect would be felt strongly, reversing some industry trends such as increasingly centralized server functionality, fueled largely by lower recurring costs. Examples of this include client-server computing (section 4.5.3), the application server platform (section 7.3.6), and Web services (section 7.3.7). Exponential advance of technology is a significant enabler of this trend because it (along with increasing parallelism enabled by faster networks) enables this architectural model to keep up with the mainstream demanding applications. A slowing of technological advance today would require a rethinking of this architecture and likely encourage more decentralization of processing requirements to clients.
Today technology has largely outstripped the needs of desktop computers for standard business applications, although many other types of engineering and scientific applications have an insatiable demand for processing power. Technological advances could eventually outstrip even the needs of the most demanding commercial applications (as happened in commercial aerospace with the commercial failure of supersonic transport), which would remove one important economic driver for further advances. In any application area, further advances have diminishing returns in terms of benefits to users, and at this point their economic underpinning is diminished.
In summary, there are three possible causes for slowing technological advance: physical limitations, increasing and unaffordable development and fabrication costs, and outstripping the performance needs of the mainstream applications that finance it. It is difficult to predict the outcome, but it is the balancing of supply and demand reflected in the last two factors that will most likely determine the point of slowing advance, not insurmountable physical barriers.