Si buscais en un diccionario «programación», os encontraréis con algo como: «acto de crear un programa de computadora, un conjunto concreto de instrucciones que una computadora puede ejecutar» (Wikipedia dixit)
Quiero empezar diciendo que este blog no trata de eso
Quiero decir, no trata de eso únicamente. Seguro que a algunos de vosotros os gusta programar. Quiero decir que os gusta mucho. Vamos, que os apasiona. Para vosotros, es posible que la definición anterior se quede un poco corta. Sí, el mecanismo de programar está contenido en esa definición pero… falta algo….
Programación en vuestra cabeza suena a reto, suena a crear algo fantástico que funciona a partir de la nada, sólo con ideas y líneas de código, suena a la lucha cuando las cosas no funcionan y a la sensación de triunfo cuando por fin das con el problema y todo encaja.
Aunque puede que me equivoque y para ti programar sea solamente eso que te obligan a hacer en tu trabajo, de 9 a 18 (con pausa para comer), y a lo que prefieres no dar muchas vueltas…
En ese caso, puede que este blog no te interese
Por supuesto yo intentaré convencerte de lo contrario. De que sí te interesa porque hay más cosas en la programación que escribir líneas sobre siempre lo mismo
Si me pidieran una definición para qué quiero decir con programancia yo diría que es algo como «el conjunto de técnicas, ideas y mecanismos de pensamiento que hacen del acto de crear programas una actividad creativa, divertida y útil».
Y es que tal y como yo lo veo, desarrollar aplicaciones es uno de los campos más intelectualmente estimulantes en la actualidad. ¿Conocéis muchos más campos en los que haya tantas posibilidades de probar nuevos conceptos, mejorar día a día y disfrutar de la sensación de haber realizado un trabajo que va a ahorrar trabajo a otras personas?
Programancia101 es un experimento que pretende que todos aprendamos un poco más sobre distintas formas de abordar problemas y/o practicar esas técnicas e ideas que a veces tenemos un poco olvidadas, pero que hacen del desarrollo algo mucho más entretenido.
Desde aquí iremos planteando distintos tipos de problemas interesantes, divertidos o simplemente que nos obliguen a revisitar conceptos que puede que nos sean útiles en un futuro (o que al menos nos sirvan para desconectar un poco y ver las cosas de un modo distinto) y comentarlos. Ejemplos de problemas que podrían ser interesantes son:
- Programación genérica: a partir de una descripción, llegar al código para resolverlos (preferentemente en términos que nos permitan independencia del lenguaje)
- Problemas de tipo «puzzler» en los que se presenta un trozo de código y se intenta que determinemos qué hace exactamente (sin ejecutarlo, claro)
- Problemas de depurar pensando («debugging by thinking») en los que el código mostrado contiene errores y tenemos que localizarlos
- Otras habilidades relacionadas con la programación, como trucos matemáticos o representación de datos.
Y por supuesto, estamos más que abiertos a recibir otras recomendaciones o sugerencias de actividades. Esto no sería ni la mitad de interesante si no os animáis a colaborar, proponer nuevas ideas y discutir los problemas entre todos. Yo haré lo que pueda por aportar mi granito de arena
Asi que… ¿qué me decís? ¿Os animáis a probar? }:)