|
A programming tool is a program or application that software developers use to create, debug, or maintain other programs and applications. The term usually
refers to relatively simple programs that can be combined together to accomplish a task, much as one might use multiple hand
tools to fix a physical object.
The history of software tools began with the first computers in the early 1950s that used linkers, loaders, and control
programs. Tools became famous with Unix in the early 1970s with tools like grep, awk and make that where meant to be combined flexibly with
pipes.
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 is 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 an application
in its own right.
For many years, computer-assisted software engineering (CASE) tools were sought after.
Successful tools have proven elusive. In one sense, CASE tools emphasized design and architecture support, such as for UML. But
the most successful of these tools are IDEs.
The ability to use a variety of tools productively is one hallmark of a skilled software engineer.
List of tools
Software tools come in many forms:
- Revision control: SCM,
SCCS, RCS, CVS,
SVN, SourceSafe, PVCS, ClearCase, Bonsai
- Compilation and linking tools:
Make, automake, gcc, GNU
toolchain
- Lint: lint, Splint
- Search: grep, find
- Editors: emacs, vi
- Scripts: Shell, Perl
- Parsing: Lex, Yacc
- Bug Databases: gnats, Bugzilla, Trac
- Debuggers, GNU
Binutils
Debugging tools also are used in the process of debugging code, and can also
be used to create code that is more compliant to standards and portable than if they were not used.
Memory leak detection: In the C programming language for instance, memory
leaks are not as easily detected - software tools called memory
debuggers are often used to find memory leaks enabling the programmer to find these problems much more efficiently than
inspection alone.
IDEs
Integrated development
environments (IDEs) combine the features of many tools, into one complete package. They are usually simpler and easier to do
simple tasks, such as seaching for content only in files in the project. They usually have a much harder time with linking tools
together, such as preprocessors and code generators.
Integrated development environments are often used for development of enterprise-level applications, especially on Microsoft Windows based machines, however IDEs (as they are also known)
also exist on other operating systems. IBM's VisualAge development tools run on OS/2, for instance.
See Also
|