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

editar

Los 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

editar

Los 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)

editar

Son 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)

editar

Como 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

editar

Son 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

editar

No 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.