Qué es una función en programación
Si a los pasos para preparar fideos instantáneos les pones el nombre "preparar fideos", la próxima vez te basta con esa frase. Una función agrupa varias tareas en un solo bloque y le pone nombre. Llamas al nombre, y todo ocurre.
Agrupar y poner nombre
Hervir el agua, echar los fideos, echar el sobre de sabor, servir en un bol.
Estos cuatro pasos se agrupan en un bloque llamado "preparar fideos" y se le pone nombre.
Ese grupo es una función.
Abajo puedes ver cómo los pasos sueltos se juntan en un solo bloque.
Pasos sueltos → un bloque con nombre. Los cuatro pasos se agrupan en "preparar fideos".
Agrupar y poner nombre ordena las ideas.
No hace falta decir "hierve el agua, echa los fideos..." uno por uno; con "preparar fideos" basta.
Es esconder algo complicado detrás de un solo nombre.
Lo llamas y todo ocurre
Como ya tiene nombre, ahora solo hay que llamarlo.
Dices "preparar fideos" y los cuatro pasos agrupados dentro ocurren todos en orden.
No hace falta volver a mirar dentro: el nombre hace el trabajo.
Llama al nombre y los pasos agrupados se ejecutan en orden. "Preparar fideos" → cuatro pasos, uno tras otro.
Esto es práctico porque puedes olvidarte del "cómo".
Si sabes el nombre y lo que hace, basta con llamarlo, sea cual sea su interior.
La complejidad queda escondida detrás del nombre.
Meter ingredientes y recibir un resultado
A una función se le pueden meter ingredientes.
Si metes 5 en una función llamada "duplicar", sale 10; si metes 7, sale 14.
Metes algo (entrada), trabaja por dentro y devuelve un resultado (salida), como una máquina pequeña.
Entrada → (función) → salida. Duplicar: 5 → 10. El resultado depende de lo que metas.
Mismo nombre, pero si metes otra cosa, sale otra cosa.
Si metes 3 en "duplicar" sale 6; si metes 100, sale 200.
Solo cambias los ingredientes y se hace el mismo trabajo.
Volver a usar una función
Lo mejor de las funciones es que se pueden reutilizar.
Una vez hecha "duplicar", basta con llamar su nombre cuando la necesites: para 5, para 8, para 12.
Se hace una vez y se usa muchas.
Llama varias veces a "duplicar", hecha una sola vez. 5 → 10 · 8 → 16 · 12 → 24.
Los bucles de la lección 7 también eran "escribir una vez, usar muchas".
Las funciones se parecen: si haces una bien, puedes sacarla una y otra vez en todo el programa.
Una buena función ahorra trabajo una y otra vez.
Una forma de dominar la complejidad
Las funciones son una forma de dominar la complejidad.
Agrupar tareas, ponerles nombre y volver a usarlas.
Incluso los programas grandes funcionan, en realidad, con funciones que se llaman unas a otras.
Ya sabes agrupar y poner nombre; ahora, lo que sigue. Función = agrupar, nombrar y reutilizar → colecciones · programas grandes · más allá.
Te ha costado llegar hasta aquí.
Poner nombre a los valores, conocer sus tipos, decidir, calcular, repetir y, ahora, agrupar bajo un nombre.
Ya tienes en la mano casi todas las herramientas básicas para construir un programa.