Home > Programming tool
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 were 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.
1 List of tools
Software tools come in many forms:
- Revision control: SCM, SCCS , RCS, CVS, SVNThis article is about the computer software framework. See rebellion, sabotage and insurgency for information on the undermining of authority. Subversion (also known as svn is a version control system designed specifically to replace CVS, which is conside, SourceSafe , PVCS , ClearCase, BonsaiThe Bonsai CVS code management system is a computer program designed to help large programming projects productively manage CVS code archives. It was initially developed to fill the Mozilla project's need for good tools to allow multiple developers to edi
- CompilationA compiler is a computer program that translates a computer program written in one computer language (called the source language into an equivalent program written in another computer language (called the output or the target language . Introduction and h and linkingA linker or link editor is a program that takes one or more objects generated by compilers and assembles them into a single executable program. In IBM mainframe environments such as OS/360 this program is known as a linkage editor''. On Unix variants the tools: GNU toolchainThe GNU toolchain is a blanket term given to the programming tools produced by the GNU project. These projects form an integrated system that is used for programming both applications and operating systems. It is a vital component in Linux kernel developm ( Make, automakeAutomake is a programming tool that produces makefiles for use by the make program, used in compiling software. It is made by the Free Software Foundation as one of GNU programs, and is part of the GNU build system. It is written in Perl, a programming la, gccThe GNU Compiler Collection (usually shortened to GCC is a set of programming language compilers produced by the GNU Project. It is free software distributed by the Free Software Foundation (FSF) under the GNU GPL, and is a key component of the GNU toolch), Microsoft Visual Studio
- Lint: lint, Splint
- Search: grep, find
- Editors: emacs, vi
- Scripts: Shell, Perl
- Parsing: Lex, Yacc
- Bug Databases: gnats , Bugzilla, Trac
- Debuggers: kdbg, gdb, 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.