Alba on Tech

Talking about technology

Katas de programación

Siempre me han fascinado las artes marciales. Durante muchos años, practiqué Karate con asiduidad. La filosofía de superación, de desarrollo constante, de práctica para alcanzar la perfección… Son ideas increiblemente poderosas, y con todo el sentido del mundo. No se puede ser bueno en nada sin practicar. Por supuesto, la habilidad natural cuenta. Pero sin práctica, al final no vale de nada. En las artes marciales japonesas, una de las formas de practicar son las Katas. Una kata es una secuencia de movimientos preestablecidos, que simulan un combate contra múltiples adversarios. Consiste en una sucesión hermosamente enlazada de ataques y contraataques, que se debe ejecutar con gran fluidez. Es uno de esos casos en que el todo es mayor que las partes. Lo importante no es la ejecución de cada uno de los movimientos (eso es una necesidad, no un objetivo). Lo realmente importante es la sucesión, la fluidez del artista marcial a través de toda la secuencia. Y, cada vez que practicas una Kata, das un paso más hacia la perfección.

En 1999 se publicó el libro The pragmatic programmer. Es un libro muy recomendable, que ofrece muchas ideas para mejorar como programador. Uno de los autores, Dave Thomas, acuñó el término “Kata de programación”. Una Kata es un ejercicio relativamente simple, que te enfrenta con un problema imaginario, y te obliga a afrontarlo desde puntos de vista diferentes. El objetivo es, por supuesto, practicar tus habilidades de programación. Además, mediante ciertos condicionantes, pueden obligarte a utilizar pensamiento lateral, imaginar nuevas formas de resolver problemas conocidos. Lo importante no es la programación de cada uno de los algoritmos (eso es una necesidad, no un objetivo). Lo realmente importante es la sucesión, la fluidez del programador a través de toda la secuencia. Y, cada vez que practicas una Kata, das un paso más hacia la perfección.

Creo que es muy importante practicar nuestras habilidades de programación. Debemos mantenernos “on the edge”. Por lo tanto, me gustaría de vez en cuando proponeros algún ejercicio, alguna Kata, que pueda ayudarnos a todos a dar pequeños pasos en la dirección correcta.

Advertisements

27 October, 2011 - Posted by | Programación

No comments yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: