Así es como funciona el proceso:
1. Entrada: La computadora recibe una secuencia de caracteres (sus instrucciones tipadas). Esto podría estar en un lenguaje de alto nivel (como Python, Java, C ++) o un lenguaje de bajo nivel (ensamblaje).
2. Analización/compilación/Interpretación: El paso crucial. Un programa (compilador, intérprete o ensamblador) analiza la entrada. No comprende directamente el significado en el sentido legible por humanos, pero verifica:
* Sintaxis: ¿La secuencia de caracteres se ajusta a las reglas gramaticales (sintaxis) del lenguaje de programación? Si no, informa errores de sintaxis.
* Semántica: Incluso si la sintaxis es correcta, el programa verifica si las instrucciones tienen sentido lógico. Esto a menudo sucede durante la compilación o en tiempo de ejecución. Un programa semánticamente incorrecto podría no bloquearse, pero puede producir resultados inesperados o incorrectos. Ejemplo:dividir por cero.
3. Traducción: Si la entrada pasa la sintaxis y las verificaciones semánticas (o al menos la verificación de sintaxis inicial), el programa la traduce en el código de la máquina:el idioma de la CPU de la computadora entiende directamente (instrucciones binarias).
4. Ejecución: La CPU ejecuta las instrucciones del código de la máquina secuencialmente (a menos que haya saltos, bucles o llamadas a otras funciones). La computadora no decide si es un "programa"; Simplemente ejecuta las instrucciones.
5. Salida/resultado: La ejecución produce alguna salida (por ejemplo, texto, gráficos, un cambio en el contenido del archivo). El * significado * y si este resultado constituye la ejecución exitosa de un "programa" es juzgado por el usuario humano en función de sus expectativas y el propósito previsto del programa.
En resumen, una computadora solo sigue las instrucciones. Si una colección de instrucciones es un programa depende de:
* si es sintácticamente correcto dentro del contexto de un lenguaje de programación.
* si es semánticamente significativo (¿Hace lo que pretende hacer?).
* si logra un objetivo específico según lo previsto por el programador. Este es el aspecto del juicio humano.
Una sola instrucción, por sí misma, no es un programa. Un programa es un conjunto completo de instrucciones que, cuando se ejecuta, realiza una tarea. La computadora solo ejecuta instrucciones; Depende del programador organizarlos en un programa.