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 programs, such as the GNU compiler collection, are used exclusively for software development while others, such as Notepad, are not meant specifically for development but are nevertheless often used for programming.

Categories

edit

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 – Software that translates code from one programming language to another
  • Compiler-compiler – Program that generates parsers or compilers, a.k.a. parser generator
  • Debugger – Software for debugging a computer program
  • 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
  • Loader – Loads executable files into memory and prepares them for execution by the CPU.
  • 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
  • Source code generation – Type of computer programming
  • Version control system – Stores and tracks versions of files

See also

edit

References

edit
  • 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
edit

Wikimedia Commons logo Media related to Programming tools at Wikimedia Commons

📚 Artikel Terkait di Wikipedia

Lists of programming software development tools

software development tools by programming language. List of Ada software and tools List of assembly software and tools List of C++ software and tools

Build automation

non-interactive interface tools and running builds on a shared server. Build automation tools allow sequencing the tasks of building software via a non-interactive

Software development

Software development is the process of designing, creating, testing, and maintaining software applications to meet specific user needs or business objectives

Devin AI

is an AI-assisted software development tool created by Cognition Labs. It is designed to autonomously complete software development tasks. Devin AI has

List of Rust software and tools

list of software and programming tools for the Rust programming language, including IDEs, compilers, libraries, verification and debugging tools, numerical

List of AI-assisted software development tools

This is a list of AI-assisted software development tools which are tools used for AI-assisted software development, especially large language models and

Computer-aided software engineering

Computer-aided software engineering (CASE) is a domain of software tools used to design and implement applications. CASE tools are similar to and are

SCons

SCons is a software development tool that analyzes source code dependencies and operating system adaptation requirements from a software project description