A software tool is a computer program that software developers use to help create or maintain other programs. The term most commonly refers to relatively simple programs that can be used together to accomplish a task, much as one might use multiple hand tools to fix a physical object.

The history of tools really began long ago, but became famous with Unix. Unix tools like grep, awk and make where meant to be combined flexibly with pipess.

Tools were originally simple and light weight. As some tools have been maintained, they have been integrated into more powerful integrated development environments (IDEs). These environments can make searching and editing much easier, however they lack the ability to massage code, like old Unix tools.

The distinction between tools and applications can become murky. For example, developers use simple databases (such as a file containing list of important values) all the time as tools. However a full blown database is usually thought of as much more than a tool.

Software tools come in many forms:

Software environements combine the features of many tools:

See Also