octubre 30, 2020

El gambao

Noticias de actualidad

DIEGO EMILIANO CORZO NOS HABLA SOBRE EL TIEMPO DE EJECUCIÓN Y COMPILACIÓN EN EL ÁMBITO DE LA COMPUTACIÓN

4 minutos de lectura

Diego Emiliano Corzo Fittipaldi  nos da a conocer que el funcionamiento interno de una computadora sigue siendo un misterio para el usuario promedio, que depende del trabajo de los programadores para decirle a la computadora lo que tiene que hacer.

En razón de esto, el programador debe comprender la forma en la que la computadora espera recibir instrucciones y las dos etapas de la ejecución de un programa, el tiempo de compilación y el de ejecución, además de otros conceptos, dice Diego Corzo.

Por este motivo, es importante conocer que el tiempo de compilación traduce código de lenguaje humano a lenguaje máquina, y siendo esta la primera etapa en la ejecución de un programa, involucra la traducción de un lenguaje que los humanos comprenden, o código fuente, al lenguaje que las computadoras entienden, o código máquina.

El código fuente contiene palabras que reconoces, números en formato decimal y agrupaciones organizativas que hacen que el flujo de instrucciones sea más sencillo de comprender. La etapa del tiempo de compilación termina cuando el nuevo programa es un archivo ejecutable.

Ahora bien, con respecto al tiempo de ejecución, que ocurre cuando la computadora ejecuta el programa, la computadora usa las instrucciones que el tiempo de compilación produce para ejecutar el programa.

Durante el tiempo de ejecución la computadora lee la traducción del código fuente para llevar a cabo las tareas que el programador ha incorporado en el código. Cada vez que alguien ejecuta el programa lo hace en tiempo de ejecución.

De esta manera, Diego Emiliano Fittipaldi  indica que el tiempo de ejecución y el de compilación son dos etapas de procesamiento diferentes, y esto se debe  a que el tiempo de compilación se lleva a cabo solamente una vez, traduciendo el código fuente a un archivo ejecutable. Este último puede iniciar el tiempo de ejecución cualquier cantidad de veces sin necesitar volver a visitar el tiempo de compilación, a menos que el programa requiera cambios, por lo que la mayoría de los usuarios de programas experimentan solamente el tiempo de ejecución.

Ahora bien, ante esto también es importante conocer que existen errores en ambos tiempos, los cuales Diego Emiliano Fittipaldi ha clasificado de la siguiente manera:

  • Errores del tiempo de compilación: Los errores en tiempo de compilación ocurren antes de que tu programa se vuelva ejecutable. Los errores pueden ocurrir durante ambas etapas de la ejecución del programa. Los errores de tiempo de compilación, o errores de sintaxis, existen en el código fuente. Entre los ejemplos se encuentran comandos mal escritos, orden incorrecto de las operaciones, variables con tipos no coincidentes y omisión de los elementos necesarios. Un programador puede detectar errores en tiempo de compilación muy fácilmente debido a que son sintácticos en vez de lógicos. El compilador generalmente indicará un error en tiempo de compilación y explicará o dará pistas acerca de cómo solucionarlo. Si el compilador genera exitosamente un archivo ejecutable a partir de tu código fuente, significa que tu programa no contiene errores en tiempo de compilación.

 

  • Errores catastróficos en tiempo de ejecución: Los errores en tiempo de ejecución pueden ocasionar que tu programa se bloquee. Los errores en tiempo de ejecución ocurren mientras un programa se ejecuta. Los errores catastróficos en tiempo de ejecución ocasionan que un programa se bloquee y deje de ejecutarse prematuramente. Entre los ejemplos se encuentran el acceso a memoria restringida y la división entre cero. La instrucción x / y es correcta sintácticamente, pero sí 'y' contiene el valor 0 en tiempo de ejecución causará que el programa se bloquee. Un programador quizá encuentre difícil el detectar errores catastróficos en tiempo de ejecución debido a que usualmente ocurren sólo bajo ciertas condiciones.

 

  • Errores lógicos en tiempo de ejecución: Los errores en tiempo de ejecución pueden causar un comportamiento no esperado. Un error lógico no causa que el programa se bloquee pero hace que se ejecute de una forma que el programador no esperaba. Considera un programa con un menú de opciones que espera que el usuario introduzca el número de la opción que desee. Si el usuario escribe una letra, el programa, esperando un número, la convierte a un valor numérico y envía al usuario a una de las opciones del menú. El programa se ejecuta como si nada estuviera mal en vez de decirle al usuario que escribió una opción no válida.