Jump to content

Programming tool

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Stevebroshar (talk | contribs) at 16:29, 8 January 2025 (See also: Move items from categories ... that are either not categories or not programs). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A programming tool or software development tool is a computer program that is used to develop another computer program, usually by helping the developer manage computer files. For example, a programmer may use a tool called a source code editor to edit source code files, and then a compiler to convert the source code into machine code files. They may also use build tools that automatically package executable program and data files into shareable packages or install kits.

A set of tools that are run one after another, with each tool feeding its output to the next one, is called a toolchain. An integrated development environment (IDE) integrates the function of several tools into a single program. Usually, an IDE provides a source code editor as well as other built-in or plug-in tools that help with compiling, debugging, and testing.

Whether a program is considered a "development tool" can be subjective. Some tools, such as the GNU Compiler Collection, are used exclusively for software development. Others, like the text editor Windows Notepad, are not meant specifically for development but are nevertheless often used by programmers.

Major functions of development tools

Translation

A translator is used to translate code from one computer language to another. For example, a compiler can translate source code from its original programming language to lower-level language, such as machine code. Other tools, namely assemblers (another type of translator) and linkers, are used alongside compilers to package the code into its final, usable form.

Some programming languages, such as Python and Java, are usually compiled into a special kind of machine code called bytecode. The bytecode may be further compiled to machine code as the program is running, a process called just-in-time compilation, or it may be fed to another type of tool called an interpreter, which executes bytecode or source code directly. Some interpreters provide on-demand translation to machine code or an intermediate form.

Debugging

A debugger allows a programmer to view information about the state of a program while it is executing. For example, a developer can use a debugger to pause the program at a breakpoint inserted at a particular line of code, and then directly check the value of a variable. This information is useful in resolving bugs and testing.

Categories

Notable categories of development tools:

  • Assembler – Converts assembly language into machine code
  • Bug tracking system – Software application that records software bugs
  • Build automation – Building software via an unattended fashion
  • Code review software – Activity where one or more people check a program's code
  • Compiler – Computer program which translates code from one programming language to another
  • Compiler-compiler – Program that generates parsers or compilers, a.k.a. parser generator
  • Debugger – Computer program used to test and debug other programs
  • Decompiler – Program translating executable to source code
  • Disassembler – Computer program to translate machine language into assembly language
  • Documentation generator – Automation technology for creating software documentation
  • Graphical user interface builder – Software development tool
  • Linker – Program that combines intermediate build files into an executable file
  • Memory debugger – Software memory problem finder
  • Minifier – Removal of unnecessary characters in code without changing its functionality
  • Pretty-printer – Formatting to make code or markup easier to read
  • Performance profiler – Measuring the time or resources used by a section of a computer program
  • Static code analyzer – Analysis of computer programs without executing them
  • Source code editor – Text editor specializing in software code and [[text editor}}
  • Source code generation – Type of computer programming
  • Version control system – Stores and tracks versions of files

See also

References

  • Software Development Tools for Petascale Computing Workshop 2007
  • Kernighan, Brian W.; Plauger, P. J. (1976), Software Tools, Addison-Wesley, pp. 352, ISBN 0-201-03669-X

Media related to Programming tools at Wikimedia Commons