{"id":3324,"date":"2021-11-23T18:21:59","date_gmt":"2021-11-23T17:21:59","guid":{"rendered":"https:\/\/www.alpesjug.fr\/?p=3324"},"modified":"2022-01-05T11:02:01","modified_gmt":"2022-01-05T10:02:01","slug":"java-au-futur-des-record-au-pattern-matching","status":"publish","type":"post","link":"https:\/\/www.alpesjug.fr\/?p=3324","title":{"rendered":"Java au Futur : des Record au Pattern Matching"},"content":{"rendered":"\n<p><strong>Le Jeudi 9 D\u00e9cembre 2021 \u00e0 19h<\/strong>, l\u2019AlpesJUG accueille Jos\u00e9 Paumard qui vient nous parler de Java 17.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"526\" src=\"https:\/\/www.alpesjug.fr\/wp-content\/uploads\/2021\/11\/java17-1024x526.png\" alt=\"\" class=\"wp-image-3325\" srcset=\"https:\/\/www.alpesjug.fr\/wp-content\/uploads\/2021\/11\/java17-1024x526.png 1024w, https:\/\/www.alpesjug.fr\/wp-content\/uploads\/2021\/11\/java17-300x154.png 300w, https:\/\/www.alpesjug.fr\/wp-content\/uploads\/2021\/11\/java17-768x395.png 768w, https:\/\/www.alpesjug.fr\/wp-content\/uploads\/2021\/11\/java17-150x77.png 150w, https:\/\/www.alpesjug.fr\/wp-content\/uploads\/2021\/11\/java17-400x206.png 400w, https:\/\/www.alpesjug.fr\/wp-content\/uploads\/2021\/11\/java17.png 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">La conf\u00e9rence<\/h2>\n\n\n\n<p>Les langages fonctionnels ont amen\u00e9 trois id\u00e9es fondamentales en programmation depuis les ann\u00e9es 60.<\/p>\n\n\n\n<p>La premi\u00e8re consiste \u00e0 param\u00e9trer les types utilis\u00e9s dans les langages. Cette id\u00e9e a \u00e9t\u00e9 adopt\u00e9e en Java en 2004 avec Java 5, sous la forme des g\u00e9n\u00e9riques. La seconde consiste \u00e0 d\u00e9finir un type de fonction. Ce type est d\u00e9fini \u00e0 partir des arguments que prend une fonction, et du type de ce qu\u2019elle retourne. L\u2019adoption de cette id\u00e9e a pris du temps, et a \u00e9t\u00e9 finalis\u00e9e en 2014 avec Java 8. Tout comme pour les g\u00e9n\u00e9riques, Java n\u2019a pas \u00e9t\u00e9 sp\u00e9cialement rapide \u00e0 adopter les lambda expressions. Le b\u00e9n\u00e9fice en est que Java a des lambdas performantes et qui n\u2019ont pas certains d\u00e9fauts qu\u2019elles peuvent avoir dans les autres langages.<\/p>\n\n\n\n<p>Le pattern matching est la troisi\u00e8me id\u00e9e que Java est en train d\u2019adopter. Java publie \u00e0 present une version majeure tous les six mois, ce qui nous permet de voir le pattern matching appara\u00eetre dans le langage \u00e9tape par \u00e9tape. Nous avons eu une modification de instanceof, puis une \u00e9volution du switch. Nous avons vu arriver les Record et les Sealed Types. Un grand puzzle est en train de se contruire, qui nous am\u00e8nera de nouvelles fa\u00e7ons de programmer. Le pattern matching est la prochaine avanc\u00e9e majeure de Java. Son impact sur la fa\u00e7on d&rsquo;\u00e9crire les applications sera \u00e9quivalent \u00e0 celui des g\u00e9n\u00e9riques et des lambda expressions.<\/p>\n\n\n\n<p>Je vous propose de parler de tous ces points, de voir ce que l\u2019on peut faire avec le pattern matching aujourd\u2019hui, et ce que l\u2019on peut en attendre dans les versions qui viennent.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Le conf\u00e9rencier &#8211; Jos\u00e9 Paumard<\/h2>\n\n\n\n<p>Passionn\u00e9 par la programmation depuis plus de 25 ans, Jos\u00e9 a \u00e9t\u00e9 ma\u00eetre de conf\u00e9rences \u00e0 l&rsquo;universit\u00e9 Paris 13 (devenue Sorbonne Paris Nord) apr\u00e8s un doctorat en math\u00e9matiques appliqu\u00e9es. Il est maintenant Java Developer Advocate au Java Platform Group chez Oracle. Java Champion Alumni, JavaOne Rockstar, Jos\u00e9 a toujours \u00e9t\u00e9 int\u00e9ress\u00e9 par l&rsquo;\u00e9ducation. Il intervient dans de nombreuses conf\u00e9rences : JavaOne, Oracle CodeOne, Devoxx (BE, UK, FR), DevNexus, JFokus, GoTo et publie des articles techniques pour Java Magazine et Oracle Technolgy Network. Il est membre du Paris JUG, a \u00e9t\u00e9 co-cr\u00e9ateur de Devoxx France et de JChateau, une unconference promise \u00e0 un grand avenir. Il a cr\u00e9\u00e9 il y a une cha\u00eene YouTube de cours Java en 2018 qui compte une centaine d&rsquo;heures de vid\u00e9os et publie tous les mois le #JEPCafe. Il est \u00e9galement auteur pour Pluralsight.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Inscriptions<\/h2>\n\n\n\n<p>Les inscriptions se passent sur\u00a0<a href=\"https:\/\/www.meetup.com\/AlpesJUG\/events\/282267667\/\">Meetup<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Le lieu<\/h2>\n\n\n\n<p>Cowork In Grenoble 22 Rue Abb\u00e9 Gr\u00e9goire Grenoble <a href=\"http:\/\/meet.meetup.com\/ls\/click?upn=yBf4llw5PeaY7leriFwBBjFcuClWr-2BeGdkjAqtJLDGVTOQT4W-2FVxpD-2FblFU2Vb6Mk0IzqNoR7lrVxzLdFRCWo-2Bd0e95y4HYl0yuGSEL2xeY-3DjzqO_A-2B88WYFoyUXvI3XS2EiThXtVLGHnv6BPyfUZs5AqbS5GJApYkD2L9OdjZqQXtaDVKpKT5xGAd7QWm33fexNVEOJSEdwBgTFikdBWVSaO7-2FneXKPa1xbwprsc5fq48MLLkxQOYSfmpE-2BU23WueHcwKMkDFP2qtkP-2BMvvJeKSRGi6hRde4DdEGuTJMhuHqOzypI2q66Q-2FAA3T3183RzbTHBaS3aaCH5gowK3Yh94VYGLw3RtQ15mIONDm1MFNx-2BUlyyDzflTLxGtN9pniqSUq3LA-3D-3D\">Itin\u00e9raire<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Le Jeudi 9 D\u00e9cembre 2021 \u00e0 19h, l\u2019AlpesJUG accueille Jos\u00e9 Paumard qui vient nous parler de Java 17. La conf\u00e9rence Les langages fonctionnels ont amen\u00e9 trois id\u00e9es fondamentales en programmation depuis les ann\u00e9es 60.&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14],"tags":[370,368,4,53,11],"class_list":["post-3324","post","type-post","status-publish","format-standard","hentry","category-annonce","tag-code","tag-java","tag-jug","tag-opensource","tag-soiree"],"_links":{"self":[{"href":"https:\/\/www.alpesjug.fr\/index.php?rest_route=\/wp\/v2\/posts\/3324","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.alpesjug.fr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.alpesjug.fr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.alpesjug.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.alpesjug.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3324"}],"version-history":[{"count":2,"href":"https:\/\/www.alpesjug.fr\/index.php?rest_route=\/wp\/v2\/posts\/3324\/revisions"}],"predecessor-version":[{"id":3328,"href":"https:\/\/www.alpesjug.fr\/index.php?rest_route=\/wp\/v2\/posts\/3324\/revisions\/3328"}],"wp:attachment":[{"href":"https:\/\/www.alpesjug.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3324"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.alpesjug.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3324"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.alpesjug.fr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3324"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}