Fundamentos de programación/Herramientas de desarrollo
Las herramientas de desarrollo son aquellos programas o aplicaciones que tengan cierta importancia en el desarrollo de un programa (programación). Pueden ser de importancia vital (como un ensamblador, un compilador o un editor) o de importancia secundaria, como una IDE (Integrated Development Environment - Entorno de Desarrollo Integrado).
Compiladores
editarLos compiladores son programas que «traducen» un fichero de código fuente de cualquier lenguaje al lenguaje ensamblador y lo llama, cuando sea necesario, igual que al enlazador (o linker). Los más importantes son GCC (GNU Compiler Colector) para C, G++ para C++, G77 para Fortran 77 y Microsoft Visual C++, entre otros
Ensambladores
editarLos ensambladores son aquellos programas que se encargan de desestructurar el código en lenguaje ensamblador y traducirlo a lenguaje binario. Los archivos en lenguaje binario se enlazan posteriormente en un único fichero, el ejecutable.
Los más importantes son tas, gas, nasm...
Enlazadores (Linkers)
editarSon los programas que enlazan varios ficheros objeto en lenguaje binario para crear un único fichero, el ejecutable del programa.
El más importante es ld. y también es una de las más usadas.
Depuradores (Debuggers)
editarComo su nombre lo indica, sirven para corregir los errores o fallas de la programación (bugs). Se encargan de ejecutar, paso a paso un programa, alertando sobre los errores presentados y los valores de las variables, entre otros. Son particularmente útiles cuando el programa parece estar bien, pero no se obtiene el resultado esperado (se cuelga, da resultados erróneos...).
El más importante es GDB. Actualmente casi todas las IDEs incluyen uno, o deberían.
Editores de texto
editarSon tan importantes como un compilador pues es el editor de la programación; actualmente incluyen funciones específicamente dedicadas a la programación, como resaltado de sintaxis, y autoindentación, entre otras
Grandes editores de texto son GNU Emacs, Vim, Scite, Notepad++...
Otras herramientas
editarNo son tan importantes como las anteriores, pero también tienen su importancia:
- IDEs (Interfaz de Desarrollo Estructurada): juntan en un sólo programa editor de texto, compilador, enlazador, ensamblador, depurador... Ejemplos de ellas son Anjuta, Dev-Cpp, Codeblocks...
- Programas de indentación: sirven para aclarar el código escrito confusamente. El único que conozco es indent. De todas formas, un editor de texto medianamente decente suele incluir sus propias funciones de indentado.