Code Golf – Pasatiempo para programadores

Code GolfCode golf es un adictivo pasatiempos para programadores en el que el objetivo es conseguir una solución a un sencillo problema con el menor número de teclas picadas al programarlo (o lo que es lo mismo el archivo con menor peso en bytes es el que gana).

En la web se plantean diferentes retos y a partir de ahí se van marcando los mejores resultados a medida que los usuarios van subiendo sus scripts. Puedes subir tu mini-programa en uno de los siguientes lenguajes: PERL, PHP, Phyton o Ruby.

Si teneis dudas sobre probar este pasatiempos, os doy un ejemplo del tipo de programas que suelen pedir:

Home On The Range

Diseñar un programa simple que dada una ristra de números, sustituya las secuencias numéricas seguidas por el primer y último número de la secuencia separadas por un guión. Dicho así suena complicado, pero es sencillo si vemos un ejemplo de la salida por pantalla:

  • “1 2 3” => “1-3.”
  • “1 2 3 5 7 8” => “1-3, 5, 7-8.”
  • “1 3 4 5 7” => “1, 3-5, 7.”

Además de un entretenido juego, Code Golf nos sirve de entrenamiento para optimizar nuestro código a la hora de trabajar en nuestros desarrollos profesionales.

Probádlo y juzgad.

3 thoughts on “Code Golf – Pasatiempo para programadores

  1. Respecto a lo de optimizar el código, a mi es una cosa q me gusta mucho hacer. Ir recortando lineas y suprimiendo variables temporales, pr cuidado q luego no se entiende una mierda de lo q hace el código XD

  2. La verdad es que está muy chulo! Los problemas no són complejos … pero en la clasificación ves gente que lo hace con ficheros que ocupan muy poco (todo un reto!).

    Por otro lado, no creo que sea bueno optimizar hasta tal punto el código de una aplicación convencional, pués queda muy comprometida la escalabilidad.

  3. Estoy de acuerdo contigo Pau, por ejemplo, en mi caso, para optimizar al máximo mis programas elimino los saltos de línea y los abrir y cerrar llaves. Esto compromete la legibilidad del código, sin embargo, seguro que en tus desarrollos, de la primera versión a la última has eliminado varios pasos innecesarios; a este tipo de optimización me refiero 😉

Comments are closed.