Introduction
A programming tool or software development tool is a computer program that software developers use to create, correct, maintain, or support software and other applications. The term usually refers to relatively simple programs, which can remain combined to accomplish a task, just as one may use multiple hands to repair a physical object. The essential tools are source code editor, translator, and used everywhere and continuously.
Other tools are used in one form depending on the language, development methodology, and individual engineer and are often used for a separate task, such as a bug patcher or identification program. Tools may be different programs, implemented separately from the command line. Or parts of one extensive program, called integrated development environment (IDE).
In many cases, especially for more straightforward use, simple custom techniques are used instead of a tool, such as correcting printing errors instead of using a bug correcter, manual timing (for the overall program or a section of code) instead of the identification tool. Or tracking errors in a text file or spreadsheet instead of a bug tracking system.
The distinction between tools and applications is vague. for example, developers use simple databases (such as a file with a list of essential values) all the time as tools. [ questionable – discuss ] However, the entire database is an application or program per se. Computer-assisted software engineering tools (CASE) have been searched for many years. Successful tools have proven elusive. On the one hand, CASE tools emphasized design and structure support, such as UML. But the most successful of these tools are IDEs.
Uses of Programming Tool
Translation from Human to Computer Language
Modern computers are very complex, and to program them productively, many abstractions remain needed. For example, instead of writing a program’s binary representation.
The programmer will write a program in a programming language such as C, Java, or Python. Programming tools such as assemblies, compilers, and linkers translated the program from the capable and readable human source language into bits and bytes that computers can implement. Interpreters translate the program immediately to produce the desired behavior.
These programs perform many well-defined and repetitive tasks that will take a long time and are prone to error when performed by a human, such as putting parts of the program in memory and repairing references between parts of the program as the link does.
On the other hand, improving the compilers can lead to complex conversions on the source code to improve the speed of implementation or other characteristics of the program. In addition, it allows the programmer to focus more on the higher-level conceptual aspects of the program without worrying about the details of the device it is working on.
Make Program Information Available to Humans
Because of the incredible complexity of programs, most programs cannot remain understood at a glance, even for the most experienced software developers. Abstractions provided by high-level programming languages also make it difficult to understand the relationship between the source code written by the programmer and the actual program behavior.
To find software errors and prevent new errors from being created when expanding software, the developer uses some programming tools to visualize all kinds of information about programs.
For example, a bug corrector allows the programmer to extract information about a running program based on the source language used in its programming. The error correcter can calculate a variable value in the source program from the status of the concrete machine using information stored by the translator.
Memory corrections can directly indicate access to downright questionable or erroneous memory for running programs that may remain undetected and be a common source of program failure.
List of Programming Tool
Software tools come in many ways:
Binary compatibility analysis tools
Error databases: compare problem tracking systems – including error tracking systems
Construction tools: construction automation, the automated construction software list
Contact chart
Code coverage: code coverage # program code cover tools.
Code review: list of code review tools
Code-sharing sites: Freshmeat network, Krugle, SOURCE, Gethbe. Also, see code search engines.
Assembling and linking tools: GNU toolchain, GCC, Microsoft Optical Studio, Code Warrior, Cascade, ICC
Correctors: corrector # list of corrections. See also correcting errors.
Screwdrivers: reverse engineering tools in general.
Official methods: mathematical methods of characterization, development, and verification
GUI generators
Integration Programming Tool
Memory correctors are frequently used in programming languages (e.g., C and C++) that allow memory to be managed manually. Therefore, memory leakage, and other problems. It is also helpful for improving memory efficiency.
Examples: malloc, electric fence, insure ++, Valgrind
Generators analyst: analysis # language analyst development program
Performance analysis or profiling: list of performance analysis tools
Audit monitoring: review monitoring software list, comparison of audit monitoring software
Scripting languages: PHP, Awk, Perl, Python, REXX, Ruby, Shell, and Tcl
Search: grep, find
Copy source code/see iterations: duplicate code # tools Source code, editor
Text editors: list of text editors, comparison of text editors
Source code format: prefix distance, beautiful printers, cosmetics, miniaturization factors
Code creation tools source: automatic programming # applications
Hard code analysis: lint, list of tools for hard code analysis
Unit test: list of unit test frames