En savoir plus

Les Streams en JAVA 8

Dans cet article nous verrons comment les Streams nous permettent d’effectuer des traitements sur des collections d’une manière simple et performante.

Lire la suite
En savoir plus

Function style en F#

A quelle image pourrait-on associer le développement ? On pourrait volontiers le comparer au jeu Lego. A cette différence près qu’en programmation objet (POO), on construit les briques pour assembler des ensembles plus gros et ainsi de suite. Mais cette image est particulièrement statique. C’est l’une des différences fondamentales avec la programmation fonctionnelle qui est beaucoup plus vivante et dynamique. Nombreux sont ceux qui partagent ce point de vue, et pour vous en convaincre, visionnez donc cette vidéo : IF YOU’RE NOTLIVE CODING, YOU’RE DEAD CODING.

Lire la suite
En savoir plus

La résolution des implicits Scala, une liberté qui a un coût

La résolution des implicites scala prennent place lors de la compilation. Mais comment en être sûr ? Prenons un exemple simple…

Lire la suite
Relaxed-businessman-sitting-in-chair
En savoir plus

Les “implicits” en Scala, ou comment sous-traiter au compilateur

Les implicits sont des concepts qui peuvent sembler “magiques” et assez déroutants quand on tombe sur eux pour la première fois. Néanmoins, pour peu que l’on en fasse bon usage, ils peuvent simplifier la vie des devs. Mais qu’entend-on par “implicits” ? À quoi servent-ils ? Comment fonctionnent-ils ? C’est ce que nous allons tenter de comprendre.

Lire la suite
En savoir plus

Le Pattern Matching, le Demolition Man intelligent

Le pattern matching, ou filtrage par motif, est un des outils de programmation fonctionnelle dont les capacités sont parmi les plus subtiles à apprécier pour les développeurs, surtout s’ils font beaucoup de programmation objet. Si vous l’avez déjà rencontré, vous l’avez certainement comparé (au moins dans un premier temps) à une série de if voire d’instructions switch sous stéroïde. Il peut d’ailleurs tout à fait remplacer cette instruction. Mais en réalité, l’intérêt du pattern matching réside dans sa capacité à déconstruire l’encapsulation en posant des conditions de structure afin d’extraire des valeurs et de les manipuler. Bref, c’est une façon très commode de traiter les données. Et je vais vous le démontrer.

Lire la suite
En savoir plus

La récursion terminale à la rescousse !

Posons le décor : vous êtes à un entretien. Tout se passe bien. Quand tout à coup, la fameuse question sur la récursivité arrive. Aucun souci pour le développeur que vous êtes, vous savez ce qu’est une fonction récursive. Vous implémentez donc une solution au problème posé. Et voici le résultat obtenu : Exception in thread « main » java.lang.StackOverflowError.

Lire la suite