Publicidad
Publicidad

RSS Paradigmas de programación

Paradigmas de programación: Principios de una arquitectura limpia: mantenible y testeable.El resurgir de la programación funcional.Elixir,...

Principios de una arquitectura limpia: mantenible y testeable

15 Comentarios
Principios de una arquitectura limpia: mantenible y testeable

Estoy seguro de que si te dedicas a programar, conoces a Robert "Uncle" Martin. Su libro Clean Code es uno de los más recomendados en la lista de libros que todo desarrollador debería leer. Martin, con sus cosas buenas y malas, es uno de los desarrolladores más influyentes del panorama ingenieril. Fuerte defensor de TDD, de la cobertura de tests y otras buenas prácticas, y además cuenta con muchas personas que siguen sus enseñanzas a rajatabla.

Recientemente, Bob Martin, ha publicado un nuevo libro llamado Clean Architecture. ¿Pero qué se entiende por arquitectura limpia?

Leer más »

El resurgir de la programación funcional

10 Comentarios
El resurgir de la programación funcional

Aunque nunca hayas trabajado con ella, seguro que has oído hablar de la programación funcional. Y cada día más, ya que parece que hay un hype con ella. Este paradigma de programación, que parecía haber sido olvidado por la gran masa de desarrolladores, lleva unos cuantos años resurgiendo.

Es cierto que han sido otros lenguajes imperativos, en especial los imperativos y orientados objetos, los que se han llevado la fama de ser más productivos y eficaces para un mayor número de tareas. Pero no todo el mundo piensa igual. Últimamente ha aparecido una corriente crítica, argumentando que la mayoría de las ventajas que este tipo de lenguajes proponen, quizá no sean tan definitivas. Si bien la POO siempre ha prometido modelar el mundo real y proporcionar código reutilizable, cuando adquirimos algo de experiencia nos damos cuenta que eso no es nada sencillo.

Leer más »
Publicidad

Elixir, programación funcional para todos

10 Comentarios
Elixir, programación funcional para todos

La programación funcional está de moda. Cada vez hay más lenguajes que adoptan este paradigma, pero lo que es más importante, los desarrolladores cada vez adoptan más lenguajes de este tipo. Scala, F#, Clojure y otros viejos rockeros como Erlang o Haskell empiezan a estar en boca de muchos de los programadores del sector.

Uno de los nuevos en la ciudad, es Elixir, un lenguaje funcional, concurrente y pensado para hacer aplicaciones mantenibles y escalables.

Leer más »

Metaprogramación en compile-time con Groovy

Comentar
Metaprogramación en compile-time con Groovy

En el anterior artículo sobre Metaprogramación en runtime con Groovy explicamos qué es la metaprogramación y vimos las distintas técnicas que ofrece Groovy de metaprogramación en runtime.

En esta ocasión lo que vamos a aprender son las distintas posibilidades de metaprogramación en tiempo de compilación. Este tipo de técnicas lo que nos van a permitir es intervenir durante las distintas fases de compilación y, de esta forma, generar código en tiempo de compilación.

Leer más »

Usando MVP e inversión de dependencias para abstraernos del framework en Android

19 Comentarios
Usando MVP e inversión de dependencias para abstraernos del framework en Android

Desde hace unos años se habla mucho sobre temas de arquitectura en Android, y quien más quien menos ha oído hablar de MVP (Model-View-Presenter), y de cómo usarlo para hacer las vistas (normalmente Activities o Fragments) lo más simples posibles, mientras el Presenter se encarga de toda la lógica de presentación.

Normalmente, una de las reglas que suelen imponerse es que desde el Presenter hacia abajo, ninguna de las capas sepa nada sobre Android, para aislarnos de ella, con todos los beneficios que ello conlleva. Seguramente, si te has puesto a ello por primera vez, rápidamente te surgirán dudas sobre cómo implementar esto.

Leer más »

Aterrizando en la programación funcional

5 Comentarios
Aterrizando en la programación funcional

¿Por qué la programación funcional suscita tanto interés?, ¿qué la diferencia del principal paradigma imperativo usado en la industria?, ¿en que grado deberías/podrías sacar partido a la programación funcional? Este tipo de cuestiones aparecen de forma recurrente entre aquellos que observan con curiosidad o recelo los movimientos de los lenguajes por incluir características de programación funcional.

Aunque el tema es amplísimo, complejo e inevitablemente propenso al partidismo y subjetividad, intentaré desde mi modesta experiencia apuntar algunas ideas que quizás, te respondan a estas cuestiones.

Leer más »
Publicidad

Usar mónadas es mucho más fácil de lo que crees, empezando con la programación funcional

23 Comentarios
Usar mónadas es mucho más fácil de lo que crees, empezando con la programación funcional

Seguramente todos tenemos formada una buena idea sobre lo que es una "propiedad", un "método estático", un "singleton" u otros términos de uso común. Nos resultan algo más exóticos e infrecuentes términos como "clase abstracta" o "función virtual pura". Todos éstos son términos habituales en la programación orientada a objetos. Lo que seguramente ya no tengamos tan claras son todas las ramificaciones, implicaciones, interacciones que todos éstos conceptos poseen y sin embargo los usamos. Usar una mónada es tanto o más fácil de usar que, por ejemplo, un objeto. Pero una mónada no es un objeto, y quien quiera comprender cómo usar una mónada tendrá que hacer el esfuerzo por desprenderse de viejas y apoltronadas preconcepciones.

Leer más »

Sobre la pureza de las funciones, ¿están realmente desacoplados los sistema tal como idealizamos?

11 Comentarios
Sobre la pureza de las funciones, ¿están realmente desacoplados los sistema tal como idealizamos?

Salvo en programas funciones sencillas, estar seguro, comprender las interrelaciones entre las partes resulta muy complicado. Idealizamos nuestros sistemas y pensamos que están desacoplados pero realmente éstos son porosos y con frecuencia los efectos fluyen entre ellos sin que nos demos cuenta... hasta que es tarde. Esta porosidad puede resultar en una interrelación no deseada (un bug) o en un enraizamiento en que el desacople ha desaparecido. Existen muchas técnicas que pretenden mantener el aislamiento pero la mayoría son patrones o guías cuyo única garantía reside en la entereza del equipo de desarrollo para seguirlas. Existen sin embargo, lenguajes que garantizan firmemente el aislamiento de las partes, con sus ventajas y sus inconvenientes.

Leer más »

Algo pasa con Haskell

10 Comentarios
Algo pasa con Haskell

Sin duda existe una gran cantidad de lenguajes de programación sobre los que podemos poner nuestra mirada. Sin embargo, sólo unos pocos están llamados para la gloria. Existen muchas cuestiones por las que un lenguaje debe ser elegido sobre otros, e igualmente, existen muchas situaciones diferentes que aconsejan usar unos y no otros.

Como lenguaje de propósito general que tenga una comunidad de usuarios con cierta relevancia, Haskell es de los pocos lenguajes que posee características que divergen enormemente del resto de lenguajes. En las siguientes líneas, intentaré dar mi propia y subjetiva visión del panorama actual del ecosistema Haskell, siempre desde un punto de vista práctico y pragmático, y de paso, dar unas pinceladas sobre lo que yo he podido entrever es, la programación funcional.

Leer más »

Lambda World 2015: profundizando en la programación funcional

2 Comentarios
Lambda World 2015: profundizando en la programación funcional

No es que la programación funcional esté de “moda” sino que a día de hoy es el pilar fundamental de muchas compañías, aprovechando este modelo de programación para crear de forma ágil e innovadora nuevos productos. Por eso, no es extraño que conferencias como la Lambda World de Cádiz (24-25 de Octubre) haya captado tanta expectación y más si los consideramos el evento más importante a nivel europeo sobre programación funcional.

Leer más »
Publicidad
Inicio
Inicio

Ver más artículos