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.
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:
- Source Code Control: SCCS, RCS, CVS
- Compilation and linking tools: Make, automake
- Search: grep, find
- Editors: emacs, vi
- Scripts Shell, Perl
- Parsing: Lex, Yacc
- Bug Databases: gnats, Bugzilla
- Visual studio