Am writing this post as a quick answer for this question.
Some history of the unix philosophy
Unix philosophy or the unix tools philosophy emerged when the UNIX operating system was created. Or to be more precise, when the pipes ‘|’ were invented. The pipes allow output from one command to be sent to another command as input.
ps -A | grep firefoxThe output from the ps command, list of all running applications is passed to the ‘grep’ utility which searches for the line having the word ‘firefox’, and prints it. Pipes are really handy. Really.
The philosophy lead by this invention was to create small tools which would do a particular job instead of creating big programs that do many things.
For example tools like grep, or wc. They exist for one and only one task (searching and counting).
These small tools could then be used together with the help of pipes to accomplish more complex tasks.
It was revolutionary. This philosophy avoided programmers from re-creating small subsystems of their software which could now be replaced by a small tool invented by someone else.
So this why the philosophy says
‘Do one thing, and do it perfectly well’