Contenido
- Tiempo de construcción
- Tiempo de ejecución
- Diferencia
- Errores en tiempo de compilación
- Errores catastróficos en tiempo de ejecución
- Errores lógicos en tiempo de ejecución
El funcionamiento de un programa de computadora es un misterio para el usuario típico que confía en el trabajo de los programadores. El programador debe comprender cómo la computadora espera recibir comandos en los dos pasos de ejecución (tiempo de compilación y tiempo de ejecución), además de otros conceptos.
Tiempo de construcción
La primera etapa de la ejecución de un programa, el tiempo de compilación, implica traducir el lenguaje comprensible para los humanos, o "código fuente", a un lenguaje que la computadora entienda, o "código máquina". El código fuente contiene palabras que reconoce, números en formato decimal y estructuras organizadas que facilitan la comprensión del flujo de instrucciones. El paso de tiempo de compilación se completa cuando el nuevo programa es un archivo ejecutable.
Tiempo de ejecución
La computadora usa las instrucciones producidas en tiempo de compilación para ejecutar el programa. Durante el tiempo de ejecución, la computadora lee la traducción del código fuente para realizar las tareas incorporadas por el programador. Cada vez que alguien ejecuta el programa, lo hace en tiempo de ejecución.
Diferencia
El tiempo de compilación solo se cruza una vez para traducir el código fuente a un archivo ejecutable, al que se puede llamar tantas veces como sea necesario sin volver a compilar, a menos que el programa necesite cambios. La mayoría de los usuarios solo usan el tiempo de ejecución.
Errores en tiempo de compilación
Pueden ocurrir errores durante ambas etapas de la ejecución del programa. Existen errores en tiempo de compilación, o errores de sintaxis, en el código fuente. Ejemplos de estos son comandos mal escritos, problemas en el orden de las operaciones, combinaciones incompatibles de tipos de variables y omisiones de elementos necesarios. Un programador puede detectar fácilmente errores en tiempo de compilación, porque son más sintácticos que lógicos. El compilador generalmente encuentra un error en tiempo de compilación y explica o da consejos para resolverlo. Si el compilador genera un archivo ejecutable a partir del código, el programa no tiene errores en tiempo de compilación.
Errores catastróficos en tiempo de ejecución
Los errores de tiempo de ejecución pueden hacer que un programa se bloquee y finalice antes de tiempo. Ejemplos de tales errores son el acceso a la memoria restringida y la división por cero. La declaración "x / y" es sintácticamente correcta, pero si "y" contiene un valor de 0 en tiempo de ejecución, el programa fallará. Un programador puede tener dificultades para encontrar errores en tiempo de ejecución debido al hecho de que generalmente ocurren bajo ciertas condiciones.
Errores lógicos en tiempo de ejecución
Un error lógico no hace que el programa falle, pero lo hace funcionar de una manera que el programador no desea. Considere un programa con un menú de opciones que espera que el usuario ingrese el número de opción deseado. Si el usuario escribe una letra, el programa, esperando un número, puede transformarlo en un valor numérico y enviar al usuario a una de las opciones, pareciendo que nada está mal en lugar de informar que el usuario ha escrito una opción no válida.