Paradigmas de la programación V: Programación funcional

Publicado el 20 marzo 2014 por José José Molino Ortega @BlogLinceus
  Finiquitadas los principales paradigmas de programación imperativos, va siendo hora de adentrarnos en un campo totalmente distinto que ofrece otra serie de protocolos y filosofías de actuación a la hora de programar, la entrada de hoy apunta a la programación funcional, la cual basa sus principios en la resolución de operaciones aritméticas. A diferencia de otros paradigmas, la programación funcional elige prescindir de datos de estado o mutables para centrarse en la resolución del problema mediante mecanismos puramente matemáticos basados en funciones, esto choca principalmente con las bases de los paradigmas imperativos, ya que éstos últimos se basan en la aplicación de dichos estados y de sus cambios para la automatización a la hora de resolver una operación. Los intrínsecos mecanismos de la programación funcional arraigan directamente del revolucionario sistema de funciones recursivas lambda, ésta forma de cálculo fue usada por Alonzo Church y Stephen Kleene para resolver el mítico Entscheidungsproblem (Problema de decisión) un problema lógico de dictaminación acerca de teoremas, hoy día y tal y como describimos en la entrada sobre Java 8, lambda tiene múltiples aplicaciones que apuntan a los procedimientos de la programación funcional. En definitiva éste paradigma compite con la principal debilidad de la programación imperativa, y es que salvo usando funciones, como concepto más allá del plano matemático, se evita con creces el famoso cúmulo de "efectos secundarios" referidos al hecho de que cambiar valores en manos de imperativa supone el cambio de los resultados incluso tras la realización del procedimiento, por lo que el uso de funciones aporta transparencia referencial al software en tiempo de ejecución, asegurando valores correctamente establecidos y sin cambios durante el transcurso del mismo. No obstante, más por el costoso uso que por su alcance operativo, éste paradigma está popularmente etiquetado dentro del campo académico, no soliendo ser el predilecto de recomendación para el desarrollo comercial de aplicaciones, no siendo éste el caso de aplicaciones como Scheme, Haskell, Erlang, Objective Caml o Rust, Con excelentes resultados en aplicación industrial. La programación funcional encuentra hueco en la industria gracias también a lenguajes de dominio específico como pueden ser Mathematica (usado en matemáticas simbólicas), R (estadística), J y K (finanzas), F# en Microsoft.NET o XSLT (XML).  Lenguajes tan usados como Lex/Yacc y SQL, usan algoritmos propios de la programación funcional, por ejemplo, principalmente al tratar valores mutables. Incluso podemos considerar parte del pack a las hojas de cálculo. En definitiva, en aplicaciones matemáticas, industriales, académicas, o en casos específicos como SGBDs, ésta forma de proceder es útil, sobre todo, si lo que se desea es escribir código aritmético sin necesidad de enfrentarse cara a cara con bajo nivel, evitando la mutación del estado de un resultado, e incluso, como fin autodidacta, no olvidemos que, a fin de cuentas algunos de los lenguajes qu precisan de parte de éste paradigma, son realmente útiles como es el caso de SQL. “Cuéntame cómo pasó”. A sus 34 años de edad, y con una amplia trayectoria en cine, teatro y televisión a sus espaldas,  Cristina Alcázar asegura que su carrera como actriz solo acaba de comenzar. En Perversiones sexuales en Chicago interpretas a Joan, una mujer tímida y reservada pero con las ideas claras. ¿Qué diferencias existen entre Joan y Cristina? Para empezar, a Joan le cuesta muchísimo relacionarse con los demás, y a Cristina Alcázar no le cuesta nada. Joan tiene miedo a las relaciones y a enamorarse y Cristina no, de hecho está en una relación que es ya larguísima. La primera tiene también mucho miedo al fracaso, pero Cristina no, ella sigue luchando y, si fracasa, para ella será una enseñanza más. Como semejanza entre ambas resaltaría que las dos son muy amigas de sus amigos y se preocupan mucho por quien tienen al lado. ¿Crees que la obra es demasiado atrevida al hablar de tantas intimidades sexuales? ¿Yo? Para nada. No, no y no. Sin embargo, cuando hemos ido de bolos, algunas personas se echaban las manos a la cabeza cuando oían por ejemplo la palabra “lesbianas” Características principales: Funciones de primera clase y de orden superior: Funciones que, en definitiva, son subceptibles de poder implementar otras funciones, estableciéndolas de forma directa com oargumentos y/o devolverlas como resultado a otra.   Funciones puras Carecen de los "efectos secundarios" propios de imperativa, permitiendo además mejorar el rendimiento del có. Pero a mí no me asusta para nada la obra, yo creo que refleja la realidad misma, quizás un poco acentuada, pero muestra lo que se ve hoy en día. ¿Qué mensaje intenta transmitirnos Perversiones sexuales en Chicago? Que lo que se ve en la obra misma es lo que no hay que hacer. En el fondo se habla de la incapacidad que tenemos, de cómo fastidiamos algo que está bien por una simple tontería como lo es por ejemplo un champú. La obra nos enseña las limitaciones humanas con respecto a las relaciones, nos muestra cómo a veces nos dejamos llevar por las experiencias que tenemos a nuestras espaldas y dejamos que estas nos salpiquen las nuevas. Realmente todo es mucho más sencillo y nosotros lo hacemos difícil. Has trabajado con muchos actores jóvenes a lo largo de tu carrera, ¿qué crees que es lo mejor de colaborar con nuevos talentos? Lo mejor es su vitalidad y su fortaleza. Nada puede con ellos, no tienen miedo a nada. Yo, por ejemplo, a medida que voy haciendo trabajos cada vez tengo más miedos porque sé que hay que llegar a unos límites y que tengo que exigirme un poquito más cada día. Ellos, como están tan frescos, saben divertirse, trabajar…, pero lo que más me llama la atención es que no tienen miedo a equivocarse, que es el que yo ya empiezo a tener. Tras probar con cine, televisión y teatro, ¿con qué te quedas? Yo me quedo con trabajar. Quiero trabajar, así que me da igual que sea en cine, teatro o televisión. Sí es verdad que echo de menos el ritmo frenético de la televisión, el de levantarme todos los días e ir a trabajar. Eso es sublime, me apasiona. ¿Cuál es el personaje que mayor satisfacción te ha aportado en toda tu carrera? Daniela, de la obra de teatro “Desnudas”. Ese papel fue un punto de inflexión en mi carrera y me abrió muchas puertas, ya que después conseguí mi personaje en “El club de los suicidas” y logré digo, por ejemplo, elimina valores en desuso, aplica transparencia referencial (definida anteriormente), independencia de datos o uso de "poda" eliminando completamente efectos contraproducentes para la ejecución óptima del código. Recursividad Antes hemos mencionado la recursividad como una de las características de ésta filosofía procedimental, pero, ¿Qué es exactamente la recursividad? Fácil, las funciones recursivas tienen la potestad de invocarse a sí mismas, lo cual supone condicionar la repetición de una función creando así patrones sencillos que lograría el efecto de un bucle. Evaluación estricta de subtérminos Si un subtérmino falla, el término no se aprovará Pre-asunción de los tipos primitivos Implementan la declaración de los mismos sin necesidad de que el programador lo haga tras su primera declaración trabajar con Cayetana Guillén Cuervo en el programa D-Calle. A nivel personal también ha sido Daniela el personaje que más me ha enseñado, porque abrió una puertecita dentro de mí que yo no conocía: la de la ingenuidad. ¿Con qué actor y/o director te gustaría trabajar? Me encantaría trabajar con Diego Peretti. Ya hemos trabajado antes juntos, pero fue algo muy coral, y me gustaría mucho trabajar con él mano a mano. Como director me gustaría mucho rodar a las órdenes de Fernando Boira, quien ya me dirigió en el cortometraje “Nubes”, pero sé que tiene mucho más que sacar de mí, y al ser un buen amigo puede mostrar algunas  facetas mías que el público desconoce… Quiero que me “destroce como persona”. También me gustaría trabajar con nuevos directores como Paco León o Alfonso Sánchez, quienes tienen un grandísimo talento. Has probado suerte con la dirección, ¿tienes intención de seguir con ella? Sí, de hecho comienzo este mismo mes a rodar un documental. Soy madrina de la asociación ALFA, una asociación que ayuda a los discapacitados intelectuales de Murcia con un conjunto de viviendas tuteladas, en cada una de las cuáles un tutor ayuda a seis discapacitados a que tengan una vida lo más independiente posible y a que se sientan cada vez más integrados en la sociedad. Para el documental he escogido a seis actores profesionales recién salidos de la Escuela de Arte Dramático de Murcia y a seis discapacitados de la asociación ALFA y vamos montar un musical que se estrenará el 1 de mayo en el Teatro Circo de Murcia. Lo que voy a hacer es rodar todo el proceso de creación de ese musical para ver dónde está realmente la discapacidad, porque muchas veces la discapacidad está en el otro y no en el que la tiene. Para financiar el proyecto utilizaremos el crowfunding en cuanto nos lo aprueben en la página web de Verkami.   Aparte de Perversiones sexuales en Chicago, ¿tienes alg Adaptación multilenguaje Puede aplicarse en múltiples lenguajes, e incluso en algunos que no han sido orientados de forma directa a ésta metodología Lenguajes aplicables: Lenguajes funcionales puros: Haskell y MirandaLenguajes funcionales híbridos: SAP, Scala, Lisp,Ocaml, Clojure, Scheme y Standard MLún proyecto para los próximos meses? Acabo de terminar de rodar con Cuéntame, y esa serie está ahí para cuando me necesiten. También est