In the early days of the computer (circa 1970's), we all learned to write programs using Fortran. It was a time when every company believed in developing in-house applications. In time to come, the applications became standardized and a few big software developers dominated the scene. As applications got bigger and more complex, it required a big team of programmers many years to develop each application. Hence, it was no longer feasible for an small team of programmers to create in-house applcations other than for simple straighforward tasks.
Now it looks like the scales are tipped once more. With the advent of the iPhone and Android platform, budding programmers can once more write small applications that are marketable. It is an exciting change. Thousands upon thousands of "apps" can be purchased for a few dollars each to run on mobile platforms (i.e. mobile phones). I am excited by the prospect of a harmonized computing environment where applications can run interchangeably on a mobile phone, netbook, laptop, or desktop. These cute little apps can be used at home or carried around in the pocket. As for DIY programmers, they can once more publish, flourish, and get rich without the threat of Microsoft trampling all over them.