El paradigma predominante de programación actualmente es el de la orientación a objetos (OOP), encabezado por Java y su cada vez más potente JVM. OOP trata con objetos como elementos de primer orden y la manera principal de proporcionar resultados es mediante cambios de estado de los objetos. Aunque parezca que esta manera de programar es la más correcta hoy en día, aunque sea por mimetismo, se puede poner esta afirmación en duda. El paradigma de la programación funcional ha tenido un crecimiento considerable recientemente, aunque en realidad nunca ha dejado de estar ahí desde los tiempos de McCarthy y su LISP. La programación funcional plantea dar la vuelta a la tortilla: en vez de usar sustantivos (objetos) como elementos de primer orden, deberíamos usar verbos (funciones). El cambio es radical y proporciona una nueva perspectiva: una manera de programar más cercana a la lógica matemática, evitando tratar con elementos mutables y por lo tanto ignorar el concepto de estado. Varias ventajas inmediatas son una mayor verificabilidad, una concurrencia más natural y menos compleja o mayor modularidad. En esta sesión haremos un repaso rápido de Clojure, un dialecto de LISP para la JVM.