Gracias por el A2A
Ya hay un montón de buenas respuestas sobre los aspectos específicos del software, así que permítanme ser un poco abstracto (chiste de software para los que saben)
Yo diría que todo el software consiste en formalizar la causa y el efecto. Cuando se ejecuta un programa de software las cosas sólo ocurren por una razón. Un ejemplo básico sería cuando un usuario hace clic en un botón - ejecutar un conjunto de comandos.
Puede haber un montón de desencadenantes ocultos que serían difíciles de encontrar para alguien que no sabe cómo programar. Por ejemplo, en Excel se ejecuta un código cuando una celda pierde lo que llamamos "foco" (cualquier cosa menos la celda actual está seleccionada) este código actualizará todos los valores de las fórmulas en la hoja de cálculo.
Ahora alguien mencionará qué pasa con los eventos aleatorios, que no se desencadenan... pero sí... como un fallo del ordenador.
Cuando se ejecuta una instancia de código que utiliza los recursos del ordenador, utiliza todos los recursos del ordenador y el ordenador se bloquea. Si un humano tuviera la paciencia probablemente podría calcular exactamente cuándo un ordenador se estrellará... pero ¿qué sentido tendría?
Así que para redondear, el software funciona formalizando y escribiendo causas y efectos.
Ahora tengo sed (causa) así que iré a hacerme una taza de té (efecto)
En realidad hacer una taza de té es lo que hace la programación
.