Charla

Volver al programa

El programador lingüista

David Muñoz Díaz (Seedtag)

Si eres programador, quizá hayas tenido que desarrollar una aplicación con tantas opciones y maneras diferentes de comportarse que lo más complicado era modelar la configuración. Probablemente todo acabara en una bonita colección de archivos ".cfg" con tantas opciones, flags, prefijos, secciones y casos particulares que todo acabara siendo un churro infumable que nadie sabía utilizar. Y seguro que más de la mitad del código acabó siendo una colección de estrategias, factorías y comandos tan enorme que podrían exponerse como colección permanente en un museo de patrones de diseño. Bien, si esta situación te suena, te has enfrentado al problema de definir un comportamiento de forma paramétrica. Ese enfoque no tiene una buena solución. Es una castaña. No lo hagas así. Hay otra manera de hacer las cosas, y es creando un lenguaje.

Crear un lenguaje, un compilador, o una máquina virtual es una solución razonablemente compleja pero con un beneficio enorme. SQLite, Emacs, tcpdump o Spark son ejemplos de las ventajas de este enfoque lingüista. Facilita la configuración. Dispara el rendimiento. Convierte a tu aplicación en una navaja suiza capaz de cosas inimaginables, y a ti en el Hulk de la programación. Admítelo. Siempre quisiste ser verde.

Lenguajes de programación

Viernes 10/02/2017

15:30 - 16:15

Track 1
Salón de Grados

Slides y material adicional

Sobre el ponente

David Muñoz Díaz (Seedtag)

Los primeros años de colegio de David no fueron nada fáciles. Sus compañeros de clase eran un poco tontos y él no acababa de hacer amigos. Un buen día sus padres pusieron a su alcance un ordenador, un Amiga 2000 con dos disqueteras y un procesador a 8MHz, y su vida cambió para siempre. Era un aparato grande, gris, frío, pero mucho más listo que sus compañeros del colegio. En realidad una aceituna o una lasca de piedra caliza eran cosas más listas que ellos. Así que aprendió a hacer pequeños programas y juegos en BASIC, y poco a poco comenzó a usar máquinas más potentes y lenguajes más interesantes.