Type currying en Scala

Le système de type de Scala est réputé pour être plus riche que la plupart des autres langages. Entre les view bounds, type alias, abstract type et j’en passe, un nouvel univers s’offre au développeur : le type programming. Ce dernier se différencie du value programming par le fait que les traitements se font, non pas à l’exécution, mais à la compilation. Vous en avez sûrement déjà fait sans vous en rendre compte, en manipulant des types génériques par exemple. Des bibliothèques comme Shapeless vise d’ailleurs à pleinement tirer parti du système de type de Scala. Devant cette jungle de types, force est de constater qu’il devient facile de se perdre… Pour ce post je vais me contenter d’aborder une petite astuce que vous serez peut-être contraint d’utiliser un jour.

Lire la suite…

Functors, Applicatives et Monads en images

Si comme moi avant de commencer Scala vous étiez étranger à la programmation fonctionnelle, vous avez sûrement dû croiser certains termes barbares du milieu tels Functor, Applicative ou Monad. Dans votre recherche du savoir infini vous avez écumé de nombreux articles et vidéos Youtube dans le but d’élucider le mystère. A force de revenir sur les même tutoriaux Haskell obscures ou sur les vidéos de Brian Beckman, vous avez décidé d’en rester là. Heureusement, je suis là pour vous sortir de votre torpeur. Ou plutôt Aditya Bhargava avec cet article très imagé. Les exemples sont certes en Haskell, mais restent compréhensibles.

Lire la suite…

L’avenir du NoSQL

Il n’y a pas si longtemps, j’ai dû effectuer des recherches sur le sujet du NoSQL. Ces bases de données hype comme MongoDB ou Cassandra font pas mal de bruit ces dernières années, et j’ai donc été amené à trouver une réponse quant à leur avenir sur le marché. Il en a résulté un peu moins d’une cinquantaine de page sur le sujet où j’ai couvert leur utilité pour finir sur une petite enquête.

Lire la suite…