SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
#DevoxxFR
Java (8) eXperiments
Francois Sarradin @fsarradin
1
#DevoxxFR
François Sarradin
• @ippontech - #IpponOz
• Développeur, architecte, data ingénieur
• Manager technique capitalisation
• brownbaglunch.fr
2
#DevoxxFR
une pratique peut-elle être
bonne ?
3
#DevoxxFR
de nouvelles pratiques
pour faire face
aux nouveaux besoins
4
#DevoxxFR 5
BE
Curious
Weird
EXPERIMENT
Innovation
#DevoxxFR 6
#DevoxxFR
Sommaire
7
• Héritage multiple
• Exception
• Pattern matching
Et du live coding !
#DevoxxFR
Héritage multiple
8
Java 8
#DevoxxFR
héritage multiple d’état ?
10
#DevoxxFR
Live Demo
11
#DevoxxFR
Ce qu’il faut retenir
12
#DevoxxFR 13
• return in -> 2 * in // => singleton
• return in -> 2 * in + out // => new instance
State multiple
inheritance
#DevoxxFR
Exception
15
#DevoxxFR 16
Email is required
EMail
John
First name
Last name
Wololo
Age
Age must be an integer
#DevoxxFR
existe-t-il une alternative à
throw new Exception(); ?
17
#DevoxxFR
Live Demo
18
#DevoxxFR
Ce qu’il faut retenir
19
#DevoxxFR
Limiter le nombre sous-classes
abstract class Base {
private Base() {}
public static class Class1 extends Base { … }
public static class Class2 extends Base { … }
}
20
#DevoxxFR
Contraindre par le type
21
• Limitation des sous-classes => TDD
• Type = spécification
• ATTENTION !!! null interdit (checkstyle) T = Type
#DevoxxFR
Pattern matching
22
#DevoxxFR
Switch case (Java 7+)
switch (myValue) {
case "hello": System.out.println("hello world");
break;
case "world": System.out.println("world hello");
break;
default : System.out.println("what else!");
}
23
#DevoxxFR
Pattern matching (Scala)
myValue matches {
case "hello" => println("hello world")
case i: Int => println(s"int: $i")
case Add(a, b) => println(s"a + b = ${a + b}")
case _ => println("what else!")
}
24
#DevoxxFR
Live Demo
25
#DevoxxFR
Grammaire
26
MatchCase
match
when
end
When
then
Otherwise
otherwise
end
#DevoxxFR
Ce qu’il faut retenir
27
#DevoxxFR
Un DSL en Java qui respecte
un grammaire précise…
… C’est possible !
28
#DevoxxFR
Grammaire
29
FirstWord SecondWord
firstWord secondWord
repeat
end
#DevoxxFR
DSL en Java
FirstWord firstWord(T t0) { return new FirstWord(t0); }
class FirstWord {
final T t;
FirstWord(T t) { this.t = t; }
FirstWord repeat(T tn) { return new FirstWord(t + tn); }
SecondWord secondWord(R r) { return new SecondWord(r); }
class SecondWord {
final R r;
SecondWord(R r) { this.r = r; }
S end() { return /* … */; }
}
}
30
#DevoxxFR
Conclusion
31
#DevoxxFR
Ce que nous avons vu
32
Montrer les mécanismes internes à Java 8
Pousser le compilateur à nous aider (contraintes de type)
Spécification analysée par le compilateur
#DevoxxFR
Ce qu’il faut faire
33
Voir d’autres langages (Python, OCaml, Scala)
Voir d’autres approches (FP, logical programming, prototype
based programming, acteurs)
Communiquer !
#DevoxxFR
Merci / Thank you
34
Make bugs, not war

Contenu connexe

Tendances

API Asynchrones en Java 8
API Asynchrones en Java 8API Asynchrones en Java 8
API Asynchrones en Java 8José Paumard
 
20140123 java8 lambdas_jose-paumard-soat
20140123 java8 lambdas_jose-paumard-soat20140123 java8 lambdas_jose-paumard-soat
20140123 java8 lambdas_jose-paumard-soatSOAT
 
Javascript : fondamentaux et OOP
Javascript : fondamentaux et OOPJavascript : fondamentaux et OOP
Javascript : fondamentaux et OOPJean-Pierre Vincent
 
Asyncio: offrez des tulipes à vos entrées sorties asynchrones
Asyncio: offrez des tulipes à vos entrées sorties asynchronesAsyncio: offrez des tulipes à vos entrées sorties asynchrones
Asyncio: offrez des tulipes à vos entrées sorties asynchronestchappui
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovyguest6e3bed
 
Monitoring d'applications/environnements PHP: APM et Pinba
Monitoring d'applications/environnements PHP: APM et PinbaMonitoring d'applications/environnements PHP: APM et Pinba
Monitoring d'applications/environnements PHP: APM et PinbaPatrick Allaert
 
Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniShellmates
 
ZendFramework2 - Présentation
ZendFramework2 - PrésentationZendFramework2 - Présentation
ZendFramework2 - Présentationjulien pauli
 
Introduction à l'analyse de réseaux avec R
Introduction à l'analyse de réseaux avec RIntroduction à l'analyse de réseaux avec R
Introduction à l'analyse de réseaux avec RLaurent Beauguitte
 
Introduction à JavaScript
Introduction à JavaScriptIntroduction à JavaScript
Introduction à JavaScriptAbdoulaye Dieng
 
Communications Réseaux et HTTP avec PHP
Communications Réseaux et HTTP avec PHPCommunications Réseaux et HTTP avec PHP
Communications Réseaux et HTTP avec PHPjulien pauli
 
CocoaHeads Rennes #16: OHHTTPStubs
CocoaHeads Rennes #16: OHHTTPStubsCocoaHeads Rennes #16: OHHTTPStubs
CocoaHeads Rennes #16: OHHTTPStubsCocoaHeadsRNS
 
PHPTour 2011 - PHP5.4
PHPTour 2011 - PHP5.4PHPTour 2011 - PHP5.4
PHPTour 2011 - PHP5.4julien pauli
 
Zend Framework 2
Zend Framework 2Zend Framework 2
Zend Framework 2epixelic
 
PHP 7 et Symfony 3
PHP 7 et Symfony 3PHP 7 et Symfony 3
PHP 7 et Symfony 3Eddy RICHARD
 

Tendances (20)

API Asynchrones en Java 8
API Asynchrones en Java 8API Asynchrones en Java 8
API Asynchrones en Java 8
 
20140123 java8 lambdas_jose-paumard-soat
20140123 java8 lambdas_jose-paumard-soat20140123 java8 lambdas_jose-paumard-soat
20140123 java8 lambdas_jose-paumard-soat
 
Une Introduction à R
Une Introduction à RUne Introduction à R
Une Introduction à R
 
Javascript : fondamentaux et OOP
Javascript : fondamentaux et OOPJavascript : fondamentaux et OOP
Javascript : fondamentaux et OOP
 
Asyncio: offrez des tulipes à vos entrées sorties asynchrones
Asyncio: offrez des tulipes à vos entrées sorties asynchronesAsyncio: offrez des tulipes à vos entrées sorties asynchrones
Asyncio: offrez des tulipes à vos entrées sorties asynchrones
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovy
 
Ce bon vieux propel
Ce bon vieux propelCe bon vieux propel
Ce bon vieux propel
 
Monitoring d'applications/environnements PHP: APM et Pinba
Monitoring d'applications/environnements PHP: APM et PinbaMonitoring d'applications/environnements PHP: APM et Pinba
Monitoring d'applications/environnements PHP: APM et Pinba
 
Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El Hassani
 
ZendFramework2 - Présentation
ZendFramework2 - PrésentationZendFramework2 - Présentation
ZendFramework2 - Présentation
 
Introduction à l'analyse de réseaux avec R
Introduction à l'analyse de réseaux avec RIntroduction à l'analyse de réseaux avec R
Introduction à l'analyse de réseaux avec R
 
Introduction à JavaScript
Introduction à JavaScriptIntroduction à JavaScript
Introduction à JavaScript
 
Communications Réseaux et HTTP avec PHP
Communications Réseaux et HTTP avec PHPCommunications Réseaux et HTTP avec PHP
Communications Réseaux et HTTP avec PHP
 
CocoaHeads Rennes #16: OHHTTPStubs
CocoaHeads Rennes #16: OHHTTPStubsCocoaHeads Rennes #16: OHHTTPStubs
CocoaHeads Rennes #16: OHHTTPStubs
 
PHPTour 2011 - PHP5.4
PHPTour 2011 - PHP5.4PHPTour 2011 - PHP5.4
PHPTour 2011 - PHP5.4
 
Php 5.3
Php 5.3Php 5.3
Php 5.3
 
Dynamic Languages
Dynamic LanguagesDynamic Languages
Dynamic Languages
 
Zend Framework 2
Zend Framework 2Zend Framework 2
Zend Framework 2
 
PHP 7 et Symfony 3
PHP 7 et Symfony 3PHP 7 et Symfony 3
PHP 7 et Symfony 3
 
Change mind about JS
Change mind about JSChange mind about JS
Change mind about JS
 

En vedette

ಪ್ರವಾದಿ ಮುಹಮ್ಮದ್ [ಸ]ರ ಕೆಲವು ವಚನಗಳು 3
ಪ್ರವಾದಿ ಮುಹಮ್ಮದ್ [ಸ]ರ ಕೆಲವು ವಚನಗಳು   3ಪ್ರವಾದಿ ಮುಹಮ್ಮದ್ [ಸ]ರ ಕೆಲವು ವಚನಗಳು   3
ಪ್ರವಾದಿ ಮುಹಮ್ಮದ್ [ಸ]ರ ಕೆಲವು ವಚನಗಳು 3FAHIM AKTHAR ULLAL
 
HighRoad U Webinar: Creating Personalized Email Experiences
HighRoad U Webinar: Creating Personalized Email ExperiencesHighRoad U Webinar: Creating Personalized Email Experiences
HighRoad U Webinar: Creating Personalized Email ExperiencesHighRoad Solution
 
Plantas de energía solar inteligentes (Smart Solar Plants)
Plantas de energía solar inteligentes (Smart Solar Plants)Plantas de energía solar inteligentes (Smart Solar Plants)
Plantas de energía solar inteligentes (Smart Solar Plants)Abengoa
 
Qiu_Lisa_CENTC_Poster_Final
Qiu_Lisa_CENTC_Poster_FinalQiu_Lisa_CENTC_Poster_Final
Qiu_Lisa_CENTC_Poster_FinalLisa Qiu
 
Alla ricerca del cristallo arcobaleno
Alla ricerca del cristallo arcobalenoAlla ricerca del cristallo arcobaleno
Alla ricerca del cristallo arcobalenoCanzoni per bambini
 
Prés fleuris en voiries / Urban flower meadows
Prés fleuris en voiries / Urban flower meadowsPrés fleuris en voiries / Urban flower meadows
Prés fleuris en voiries / Urban flower meadowsValérie Decoux
 
Trees management by the Ministry of the Brussels Region / Gestion des arbres ...
Trees management by the Ministry of the Brussels Region / Gestion des arbres ...Trees management by the Ministry of the Brussels Region / Gestion des arbres ...
Trees management by the Ministry of the Brussels Region / Gestion des arbres ...Valérie Decoux
 
Festivales de música electrónica
Festivales de música electrónica Festivales de música electrónica
Festivales de música electrónica David Gomez
 
DIRECTUM В DIRECTUM. Открытые дни DIRECTUM 2015
DIRECTUM В DIRECTUM. Открытые дни DIRECTUM 2015DIRECTUM В DIRECTUM. Открытые дни DIRECTUM 2015
DIRECTUM В DIRECTUM. Открытые дни DIRECTUM 2015DIRECTUM
 

En vedette (15)

ಪ್ರವಾದಿ ಮುಹಮ್ಮದ್ [ಸ]ರ ಕೆಲವು ವಚನಗಳು 3
ಪ್ರವಾದಿ ಮುಹಮ್ಮದ್ [ಸ]ರ ಕೆಲವು ವಚನಗಳು   3ಪ್ರವಾದಿ ಮುಹಮ್ಮದ್ [ಸ]ರ ಕೆಲವು ವಚನಗಳು   3
ಪ್ರವಾದಿ ಮುಹಮ್ಮದ್ [ಸ]ರ ಕೆಲವು ವಚನಗಳು 3
 
Linked in
Linked inLinked in
Linked in
 
HighRoad U Webinar: Creating Personalized Email Experiences
HighRoad U Webinar: Creating Personalized Email ExperiencesHighRoad U Webinar: Creating Personalized Email Experiences
HighRoad U Webinar: Creating Personalized Email Experiences
 
iMindQ Whitepaper
iMindQ WhitepaperiMindQ Whitepaper
iMindQ Whitepaper
 
Plantas de energía solar inteligentes (Smart Solar Plants)
Plantas de energía solar inteligentes (Smart Solar Plants)Plantas de energía solar inteligentes (Smart Solar Plants)
Plantas de energía solar inteligentes (Smart Solar Plants)
 
Qiu_Lisa_CENTC_Poster_Final
Qiu_Lisa_CENTC_Poster_FinalQiu_Lisa_CENTC_Poster_Final
Qiu_Lisa_CENTC_Poster_Final
 
Alla ricerca del cristallo arcobaleno
Alla ricerca del cristallo arcobalenoAlla ricerca del cristallo arcobaleno
Alla ricerca del cristallo arcobaleno
 
Prés fleuris en voiries / Urban flower meadows
Prés fleuris en voiries / Urban flower meadowsPrés fleuris en voiries / Urban flower meadows
Prés fleuris en voiries / Urban flower meadows
 
Trees management by the Ministry of the Brussels Region / Gestion des arbres ...
Trees management by the Ministry of the Brussels Region / Gestion des arbres ...Trees management by the Ministry of the Brussels Region / Gestion des arbres ...
Trees management by the Ministry of the Brussels Region / Gestion des arbres ...
 
Periscope Tips
Periscope TipsPeriscope Tips
Periscope Tips
 
Festivales de música electrónica
Festivales de música electrónica Festivales de música electrónica
Festivales de música electrónica
 
hamid hussain cv
hamid hussain cvhamid hussain cv
hamid hussain cv
 
Cv
CvCv
Cv
 
DIRECTUM В DIRECTUM. Открытые дни DIRECTUM 2015
DIRECTUM В DIRECTUM. Открытые дни DIRECTUM 2015DIRECTUM В DIRECTUM. Открытые дни DIRECTUM 2015
DIRECTUM В DIRECTUM. Открытые дни DIRECTUM 2015
 
Tech for Good Trailblazers - Pavegen
Tech for Good Trailblazers - PavegenTech for Good Trailblazers - Pavegen
Tech for Good Trailblazers - Pavegen
 

Similaire à Java (8) eXperiments - DevoxxFR 2016

Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016Fabien Arcellier
 
Lego bonnes pratiques_devoxx_2017
Lego bonnes pratiques_devoxx_2017Lego bonnes pratiques_devoxx_2017
Lego bonnes pratiques_devoxx_2017Alice Barralon
 
Finalement, c’est quoi un système distribué ?
Finalement, c’est quoi un système distribué ?Finalement, c’est quoi un système distribué ?
Finalement, c’est quoi un système distribué ?Guillaume Arnaud
 
Kubernetes University - Cap sur l'orchestration
Kubernetes University - Cap sur l'orchestrationKubernetes University - Cap sur l'orchestration
Kubernetes University - Cap sur l'orchestrationWescale
 
Kubernetes University, Cap sur l’orchestration Docker
Kubernetes University, Cap sur l’orchestration DockerKubernetes University, Cap sur l’orchestration Docker
Kubernetes University, Cap sur l’orchestration DockerJean-Baptiste Claramonte
 
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !Publicis Sapient Engineering
 
Cassandra Spark Lan Party at Devoxx France
Cassandra Spark Lan Party at Devoxx FranceCassandra Spark Lan Party at Devoxx France
Cassandra Spark Lan Party at Devoxx FranceJérémy Sevellec
 
Java 9 modulo les modules devoxx fr 2017
Java 9 modulo les modules devoxx fr 2017Java 9 modulo les modules devoxx fr 2017
Java 9 modulo les modules devoxx fr 2017Jean-Michel Doudoux
 
devoxx 2022 - 10 ans de Devoxx FR et de Java.pdf
devoxx 2022 - 10 ans de Devoxx FR et de Java.pdfdevoxx 2022 - 10 ans de Devoxx FR et de Java.pdf
devoxx 2022 - 10 ans de Devoxx FR et de Java.pdfJean-Michel Doudoux
 
Voxxeddays lux 2018 apres java 8, java 9 et 10
Voxxeddays lux 2018 apres java 8, java 9 et 10Voxxeddays lux 2018 apres java 8, java 9 et 10
Voxxeddays lux 2018 apres java 8, java 9 et 10Jean-Michel Doudoux
 
Devoxx France 2014 - Tests de performance en continu
Devoxx France 2014 - Tests de performance en continuDevoxx France 2014 - Tests de performance en continu
Devoxx France 2014 - Tests de performance en continuPublicis Sapient Engineering
 
H2O , Le machine learning sans coder ou presque - Devoxx france 2016
H2O , Le machine learning sans coder ou presque - Devoxx france 2016H2O , Le machine learning sans coder ou presque - Devoxx france 2016
H2O , Le machine learning sans coder ou presque - Devoxx france 2016Claude Falguiere
 
TP Git avancé DevoxxFR 2018 (pres')
TP Git avancé DevoxxFR 2018 (pres')TP Git avancé DevoxxFR 2018 (pres')
TP Git avancé DevoxxFR 2018 (pres')Jérôme Tamborini
 
Découverte du moteur de rendu du projet Spartan
Découverte du moteur de rendu du projet SpartanDécouverte du moteur de rendu du projet Spartan
Découverte du moteur de rendu du projet SpartanMicrosoft
 
Retours Devoxx France 2016
Retours Devoxx France 2016Retours Devoxx France 2016
Retours Devoxx France 2016Antoine Rey
 
Les Cast Codeurs à Devoxx Belgique 2013
Les Cast Codeurs à Devoxx Belgique 2013Les Cast Codeurs à Devoxx Belgique 2013
Les Cast Codeurs à Devoxx Belgique 2013emmanuelbernard
 
Decouvrir CQRS (sans Event sourcing) par la pratique
Decouvrir CQRS (sans Event sourcing) par la pratiqueDecouvrir CQRS (sans Event sourcing) par la pratique
Decouvrir CQRS (sans Event sourcing) par la pratiqueThomas Pierrain
 

Similaire à Java (8) eXperiments - DevoxxFR 2016 (20)

Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
 
Lego bonnes pratiques_devoxx_2017
Lego bonnes pratiques_devoxx_2017Lego bonnes pratiques_devoxx_2017
Lego bonnes pratiques_devoxx_2017
 
Finalement, c’est quoi un système distribué ?
Finalement, c’est quoi un système distribué ?Finalement, c’est quoi un système distribué ?
Finalement, c’est quoi un système distribué ?
 
Kubernetes University - Cap sur l'orchestration
Kubernetes University - Cap sur l'orchestrationKubernetes University - Cap sur l'orchestration
Kubernetes University - Cap sur l'orchestration
 
Kubernetes University, Cap sur l’orchestration Docker
Kubernetes University, Cap sur l’orchestration DockerKubernetes University, Cap sur l’orchestration Docker
Kubernetes University, Cap sur l’orchestration Docker
 
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !
 
Redux rx js
Redux rx jsRedux rx js
Redux rx js
 
Networxx (intro et fin)
Networxx (intro et fin)Networxx (intro et fin)
Networxx (intro et fin)
 
Cassandra Spark Lan Party at Devoxx France
Cassandra Spark Lan Party at Devoxx FranceCassandra Spark Lan Party at Devoxx France
Cassandra Spark Lan Party at Devoxx France
 
Java 9 modulo les modules devoxx fr 2017
Java 9 modulo les modules devoxx fr 2017Java 9 modulo les modules devoxx fr 2017
Java 9 modulo les modules devoxx fr 2017
 
devoxx 2022 - 10 ans de Devoxx FR et de Java.pdf
devoxx 2022 - 10 ans de Devoxx FR et de Java.pdfdevoxx 2022 - 10 ans de Devoxx FR et de Java.pdf
devoxx 2022 - 10 ans de Devoxx FR et de Java.pdf
 
Voxxeddays lux 2018 apres java 8, java 9 et 10
Voxxeddays lux 2018 apres java 8, java 9 et 10Voxxeddays lux 2018 apres java 8, java 9 et 10
Voxxeddays lux 2018 apres java 8, java 9 et 10
 
Devoxx France 2014 - Tests de performance en continu
Devoxx France 2014 - Tests de performance en continuDevoxx France 2014 - Tests de performance en continu
Devoxx France 2014 - Tests de performance en continu
 
H2O , Le machine learning sans coder ou presque - Devoxx france 2016
H2O , Le machine learning sans coder ou presque - Devoxx france 2016H2O , Le machine learning sans coder ou presque - Devoxx france 2016
H2O , Le machine learning sans coder ou presque - Devoxx france 2016
 
TP Git avancé DevoxxFR 2018 (pres')
TP Git avancé DevoxxFR 2018 (pres')TP Git avancé DevoxxFR 2018 (pres')
TP Git avancé DevoxxFR 2018 (pres')
 
Découverte du moteur de rendu du projet Spartan
Découverte du moteur de rendu du projet SpartanDécouverte du moteur de rendu du projet Spartan
Découverte du moteur de rendu du projet Spartan
 
Retours Devoxx France 2016
Retours Devoxx France 2016Retours Devoxx France 2016
Retours Devoxx France 2016
 
Les Cast Codeurs à Devoxx Belgique 2013
Les Cast Codeurs à Devoxx Belgique 2013Les Cast Codeurs à Devoxx Belgique 2013
Les Cast Codeurs à Devoxx Belgique 2013
 
Decouvrir CQRS (sans Event sourcing) par la pratique
Decouvrir CQRS (sans Event sourcing) par la pratiqueDecouvrir CQRS (sans Event sourcing) par la pratique
Decouvrir CQRS (sans Event sourcing) par la pratique
 
Javascript proprement
Javascript proprementJavascript proprement
Javascript proprement
 

Plus de François Sarradin

Plus de François Sarradin (6)

Java8 eXperiment - Normandy JUG
Java8 eXperiment - Normandy JUGJava8 eXperiment - Normandy JUG
Java8 eXperiment - Normandy JUG
 
FLATMAP ZAT SHIT : les monades expliquées aux geeks (Devoxx France 2013)
FLATMAP ZAT SHIT : les monades expliquées aux geeks (Devoxx France 2013)FLATMAP ZAT SHIT : les monades expliquées aux geeks (Devoxx France 2013)
FLATMAP ZAT SHIT : les monades expliquées aux geeks (Devoxx France 2013)
 
Scala vs java 8
Scala vs java 8Scala vs java 8
Scala vs java 8
 
Java 8 Lambda
Java 8 LambdaJava 8 Lambda
Java 8 Lambda
 
JavaScript Core
JavaScript CoreJavaScript Core
JavaScript Core
 
Programmation Fonctionnelle
Programmation FonctionnelleProgrammation Fonctionnelle
Programmation Fonctionnelle
 

Java (8) eXperiments - DevoxxFR 2016