[English]
CALESYTA 2016 es el primer concurso argentino de diseño de lenguajes de programación esotéricos.
Los lenguajes de programación esotéricos son lenguajes de programación no convencionales,
que sirven para experimentar con nuevos paradigmas de cómputo,
ejercer la programación masoquista ateniéndose a reglas restrictivas,
explorar los límites del diseño de lenguajes
y sobre todo para divertirse.
Si no conocés ningún lenguaje de programación esotérico
podés mirar los links que te recomendamos más abajo.
Objetivos del concurso
- Alentar el diseño y desarrollo de nuevos lenguajes de programación esotéricos.
- Estimular la creatividad y el pensamiento crítico sobre la programación.
- Fortalecer la comunidad de programación autóctona.
- Promover la visión de la programación como medio de expresión cultural con valor en sí mismo y no subordinado al de otros objetivos.
- Fomentar la creación activa de software en contraposición a su consumo pasivo.
- Divertirse y en especial no tomarse muy en serio estos objetivos.
Formato del concurso
- Cada equipo presentará el diseño de un lenguaje de programación esotérico original.
- La fecha límite de presentación es el 15 de noviembre de 2016.
- Los trabajos serán evaluados por un jurado que potencialmente determinará un primer puesto.
- Los ganadores podrán recibir un premio (sujeto a las contribuciones de los auspiciantes del concurso).
- Para participar, ver más detalles en el reglamento.
Sugerencias de diseño
- Valoramos que el lenguaje tenga ideas novedosas o interesantes.
A nadie le interesa otra variante de Brainf*ck.
Lo que nos interesa es explorar el espacio de diseño de lenguajes y minar
su potencial.
- En lugar de diseñar otra variante de Brainf*ck,
es mucho más interesante trabajar con preguntas disparadoras:
- ¿Se puede diseñar un lenguaje que sea imposible de compilar?
- ¿Se puede implementar un lenguaje Turing completo en menos de 128 bytes?
- ¿Se puede hacer un lenguaje que compile a una planilla de cálculo?
- ¿Se puede diseñar un lenguaje basado en el ciclo del agua y el movimiento de las nubes?
- ¿Se puede diseñar un lenguaje cuyos programas sean partidas de ajedrez?
- ¿Se puede diseñar un lenguaje que no tenga otro tipo de datos más que los punteros?
- ¿Se puede diseñar un lenguaje esotérico para componer música electrónica?
- ¿Cómo sería el lenguaje de programación de las hormigas?
La lingografía de Chris Pressey es una fuente inagotable de inspiración.
- Valoramos que el lenguaje cuente con un manual de referencia a la vez técnico y divertido,
idealmente en castellano. El manual de INTERCAL es nuestro norte.
- Valoramos que el lenguaje cuente con herramientas: fundamentalmente un intérprete, compilador o IDE.
No imponemos ninguna restricción sobre la plataforma, pero preferimos que sea software libre.
- Valoramos todo tipo de análisis del lenguaje: ¿es Turing completo? ¿Cómo se pueden expresar las construcciones de otros lenguajes de programación? ¿Cómo crece el tamaño de un programa cuando se lo expresa en el lenguaje?
- Valoramos que el lenguaje esté acompañado de programas de ejemplo, cuanto más difíciles de escribir mejor.
¿Podés imprimir "Hola Susana\n"? ¿99 botellas de birra? ¿Listar los números primos?
¿Podés escribir un quine en tu lenguaje?
- Este concurso es argentino y valoramos que el lenguaje esotérico diseñado
tenga características que evidencien su naturaleza de argentino.
Como contraparte, nos interesan especialmente los diseños que tengan
relevancia ulterior al marco en que fueron concebidas, y que gocen así de cierta validez universal.
Las referencias ocasionales al dialecto argentino del castellano, a hechos o personajes históricos,
o al bagaje cultural argentino en general pueden contribuir a un buen diseño, pero se recomienda abstenerse de hacer referencias
a temas mediáticos o de actualidad de dudosa relevancia para las generaciones venideras.
Links