Un nuevo esolenguaje se acerca

25 Sep 2020

Hits

Mi interés por los esolenguajes no ha terminado con Ni, apenas, Ni fue mi primer experimento. Ahora mismo estoy explorando un paradigma de programación dentro de los esolenguajes, me llama mucho la atención.

Lenguajes multi dimensionales.

Ejemplo de AsciiDots.

Hace unos meses ayudé a un chico con su esolenguaje, ya que lo tenía en teoría hecho pero no había implementación completa, así que le dije que le ayudaría, y resultó en la implementación de Dig.

Dig es un esolenguaje tridimensional realmente, pero su idea me cautivó, el objetivo de Dig es desarrollar en una parrilla bidimensional, donde manejas a un "topo", el topo tiene la capacidad de "meterse en la tierra", por tanto el topo puede estar en el suelo o debajo del suelo, por eso digo que es tridimensional realmente.

Programar Dig fue relativamente fácil, lo hice prácticamente en un día, luego conocí el AsciiDots, que es también un lenguaje bidimensional.

Al principio pensé en crear un "juego" sobre esto, ya que en cierta manera la programación es bastante gráfica, como si se tratara de armar legos o rompecabezas, pero eso elevaría mucho la complejidad del proyecto y no creo que valga la pena realmente.

Entonces mi idea aún en desarrollo es usar los simbolos que parecen flechas para moverse a través de la parrilla: ><v^, sin embargo, el simbolo ^ no me gusta, quisiera conseguir un uso de simbolos que sea facil de escribir, pero que también sea facil de entender.

Algo que muchos de los lenguajes bidimensionales hacen es que tienen límites en su parrilla, es decir, una vez que llegan al EOF (End Of File) éste tira un error. Mi intención aquí es que la parrilla sea infinita, pudiendo realizar ciclos infinitos sin mucho esfuerzo.

También no logro decidir el tipo de dato que utilizará, si Stack, Cells o variables, pero buscaré la opción mas fácil de utilizar.

En fín, los mantendré al tanto de este mini proyecto, a ver que hacemos con él luego. Mientras me puedes aportar ideas en los comentarios, discord o a mi twitter.