Un compilador es un programa informtico que traduce un programa escrito en un len
guaje de programacin a otro lenguaje de programacin, generando un programa equival
ente que la mquina ser capaz de interpretar. Usualmente el segundo lenguaje es len guaje de mquina, pero tambin puede ser un cdigo intermedio (bytecode), o simplement e texto. Este proceso de traduccin se conoce como compilacin. Como parte importante de este proceso de traduccin, el compilador informa a su us uario de la presencia de errores en el programa fuente. un emulador es un software que permite ejecutar programas o videojuegos en una plataforma (sea una arquitectura de hardware o un sistema operativo) diferente d e aquella para la cual fueron escritos originalmente. A diferencia de un simulad or, que solo trata de reproducir el comportamiento del programa, un emulador tra ta de modelar de forma precisa el dispositivo de manera que este funcione como s i estuviese siendo usado en el aparato original. Podemos decir entonces, que un emulador es un programa diseado para crear una pla taforma virtual que pueda ejecutar un programa determinado, que no haya sido dis eado para ser ejecutado en el PC. Un depurador, es un programa usado para probar y depurar (eliminar) los errores de otros programas (el programa "objetivo"). El cdigo a ser examinado puede alter nativamente estar corriendo en un simulador de conjunto de instrucciones (ISS), una tcnica que permite gran potencia en su capacidad de detenerse cuando son enco ntradas condiciones especficas pero ser tpicamente algo ms lento que ejecutando el cd igo directamente en el apropiado (o el mismo) procesador. Algunas depuradores of recen dos modos de operacin - la simulacin parcial o completa, para limitar este i mpacto.Tpicamente, los depuradores tambin ofrecen funciones ms sofisticadas tales c omo correr un programa paso a paso (un paso o animacin del programa), parar el pr ograma (breaking), es decir, pausar el programa para examinar el estado actual e n cierto evento o instruccin especificada por medio de un breakpoint, y el seguim iento de valores de algunas variables. El trmino ensamblador (del ingls assembler) se refiere a un tipo de programa infor mtico que se encarga de traducir un fichero fuente escrito en un lenguaje ensambl ador, a un fichero objeto que contiene cdigo mquina, ejecutable directamente por e l microprocesador. Es un tipo de herramienta que traduce un archivo de cdigo fuen te escrito en lenguaje ensamblador, a un archivo objeto que puede ser ejecutado por la computadora. El paso de un cdigo fuente escrito en un lenguaje de programa cin cualquiera hacia un archivo ejecutable es realizado por un compilador. La ope racin inversa la realiza un desensamblador. Un entorno de desarrollo de software es una combinacin de herramientas que automa tiza o soporta al menos una gran parte de la tareas (o fases) del desarrollo: anl isis de requisitos, diseo de arquitectura, diseo detallado, codificacin, pruebas de unidades, pruebas de integracin y validacin, gestin de configuracin, mantenimiento, etc. Las herramientas deben estar bien integradas, pudendo interoperar unas con otras. Estn formados por el conjunto de instrumentos (hardware, software, proced imientos, ...) que facilitan o automatizan las actividades de desarrollo.