Si nos adentramos en la mente de Eric Wastl, el creador del Advent of Code, vemos un niño ilusionado que contaba los días que quedaban hasta Navidad. Desde 2015, empieza a desarrollar en abril los puzles de este calendario de adviento tan especial… pero, ¿qué es exactamente?
¿Qué es Advent of Code?
Advent of Code es un calendario de adviento diseñado para que la gente interesada en la programación se acerque un poco a ella. Este calendario está formado por 25 retos de programación diarios que se van realizando del 1 al 25 de diciembre de cada año, y actualmente, Eric asegura que más de medio millón de personas han resuelto al menos un puzle.
Además, estos retos son temáticos: inspirados en la Navidad y cosas relacionadas, el de este año comienza con los elfos de Papá Noel.
¿Cómo funciona cada reto?
En cada uno de los retos, se crea un escenario ficticio y se indica a los participantes los parámetros necesarios con el fin de descifrar dos enigmas. Cada enigma tiene una única respuesta posible y como máximo, se pueden ganar dos estrellas diarias. Quien consiga ganar todas las estrellas, podrá sentirse orgulloso, porque ha salvado la Navidad.
Cómo empieza el Advent of Code
El Advent of Code se inicia en octubre de 2015 en Salem, en Massachusetts. El primero de estos calendarios no tenía una gran ambición: Eric simplemente quería hacer algo divertido para sus amigos.
El 30 de noviembre, publica un tuit que dice que su proyecto secreto ya está finalizado y explica que se trata de un calendario de adviento.
Si hablamos de su mejor creación, Eric Wastl siente debilidad por el puzle del día 16 de diciembre de 2018. En él, los participantes tenían que encontrar la manera de viajar en el tiempo para regresar al presente.
¿Para qué sirve este calendario?
En realidad, el Advent of Code plantea veinticinco problemas que pretenden entrenar a los participantes en la programación. El solucionar estos puzles puede ayudar, por ejemplo, en entrevistas de trabajo. Los retos, al final, son parecidos a los que algunas empresas de informática plantean retos similares durante sus procesos de selección.
Además, el Advent of Code no solo es utilizado por particulares que quieres iniciarse o mejorar su programación, sino también por compañías y profesores, que, en algunos casos, dedican los viernes por la tarde a resolver estos pequeños puzles.
¿El reto es muy difícil?
La dificultad depende mucho de cada evento. Generalmente, los puzles suelen ir haciéndose más difíciles a lo largo del tiempo, pero simplemente tus habilidades y aptitudes pueden hacer que cada puzle sea significativamente más fácil o difícil para ti en comparación con otras personas.
Puntos clave del Advent of Code
Si queremos resumir o destacar algunas características del Advent of Code, serían las siguientes:
- Se puede utilizar cualquier lenguaje de programación. Incluso se puede utilizar un lenguaje distinto cada día.
- Los participantes no tienen por qué ser desarrolladores.
- Lo que se necesita para participar son algunas nociones de programación y habilidades de resolución de problemas.
- Todos los retos tienen una solución que puede completarse en 15 segundos en hardware de hace 10 años.
- Hoy en día, Advent of Code es popular en redes como Reddit, Twitter o Stack Overflow.
- Las soluciones no suelen tener más de 20 líneas de código.
- Todos los puzles son problemas lógicos.
Algunos consejos
Desde la propia web de Advent of Code, Eric nos deja algunas recomendaciones:
- Si te quedas atascad@, puedes comparar tu solución con los ejemplos que te dan en el puzle. Ten en cuenta que deberías tener más o menos las mismas respuestas.
- Si no coinciden las respuestas, prueba a leer con detenimiento de nuevo la descripción.
- Si las respuestas coinciden con las del ejemplo, pero tu respuesta todavía no es correcta, trata de construir algunos casos de prueba, donde puedas echar un vistazo a qué está fallando.
- Si después de todo, aún sigues sin dar con la solución, puedes incluso pedir ayuda algún amigo, o darte un tiempo para reflexionar antes de volver al puzle.
- Como última opción, puedes buscar pistas en el subreddit.
Si quieres participar en el Advent of Code, aquí te dejamos su página web. ¡Esperamos tus comentarios para saber cómo te ha ido!