Aprende programación mientras juegas con The Unix Game
The Unix Game es como como un divertido juego/concurso de programación para principiantes en el que hay que resolver retos de programación encadenando un pipeline de instrucciones de procesos UNIX que tratan los datos (textos) para dar con la solución.
Entre los retos que se plantean están ordenar listas o seleccionar elementos a partir de ficheros de texto; contar cuántas rondas tiene una partida de ajedrez (a partir de la notación estándar) y por supuesto algo que tiene que ver con el clásico ¡Hola, mundo! En cada problema hay varias preguntas. Y conviene registrarse para ver los puntos que se obtienen, aparecer en las clasificaciones y demás.
Los problemas planteados no son demasiado complicados aunque pueda parecerlo… siempre que sepas algo de Unix, claro y awk, sort, tail y demás no te suenen a «chino». En los más enrevesados hay que extraer y ordenar datos de tablas para calcular la atracción gravitatoria de los cuerpos del Sistema Solar o hacer algunas manipulaciones con una lista de nombres de los Premios Turing.
The Unix games from Bell Labshttps://t.co/145yp44k9W#Unix50 pic.twitter.com/KeCljSGdsp
— The Best Linux Blog In the Unixverse (@nixcraft) October 14, 2019
Tomemos la primera pregunta del desafío «Hello World». El objetivo es extraer el apellido de cada persona en la lista, y presentar los datos en orden alfabético. La idea es que hagas clic en la sección «Commands» de la zona de programación, y buscar algo allí que sea útil en el desafío. El comando «cut» ya se encarga de elegir la columna con los apellidos, y todo lo que debes hacer es arrastrar el bloque del comando «sort» para ubicarlo debajo de «cut». ¡Éxito! Has subido el primer escalón.
La segunda pregunta requiere seleccionar las primeras dos líneas de la lista de apellidos, y para la fase final del Hello World, algo un poco más complicado: Contar la cantidad de veces que un mismo nombre se repite, y organizar los resultados de mayor a menor. A veces, el juego nos entrega una pista, y en este caso, la primera línea debe ser «Joe», que se repite tres veces.
Existen diferentes maneras de completar esos objetivos usando la terminal. De hecho, los usuarios más experimentados reclamaron en la Web la posibilidad de escribir los comandos directamente… pero ese no es el punto. Es más, The Linux Game no está pensado para ellos, o de lo contrario no adoptaría una estructura similar a Scratch. En un principio, era obligatorio crear una cuenta o usar credenciales de Facebook para continuar, sin embargo, una ola de protestas llevó a los creadores a incorporar un modo anónimo de juego, sin logins ni ingreso de información. ¡No dejes de probar!