Small programs may not do very much themselves, but become quite powerful when combined with each other. In most traditional software a large portion of the code is devoted to something other than the task which that program is intended. This can lead to greater complexity. A copy command can easily perform twelve different tasks, only one of which is copying a file. Small Programs are Easy to Understand Small programmes contain only a few algorithms and keep the focus on a single problem.
Larger programs tend towards complexity and are difficult to understand.
The sheer size of the program can make it unmanageable for the programmer. Small Programs are Easy to Maintain Ease of understanding translates to easier maintenance. Less memory is required to run, less time is required to load, and less disk space is needed to store small programs. Small Programs are Easier to Combine with Other Tools Monolithic programs are assumed to contain all of the features necessary for an application. This mistakenly assumes that the future of the software isn't going to be much different from today.