Languages, paradigms and their philosophies: from functional to object-oriented, from Kotlin to Rust and forgotten languages.
53 talks
Le projet Loom a déjà livré les threads virtuels et les scoped values. Il reste encore un élément en preview : l'API de Concurrence Structurée, qui permet de lancer des tâches en parallèle tout en conservant les…
Si tu rencontres régulièrement l’erreur Cannot read properties of undefined, alors ce talk est fait pour toi. JavaScript est puissant, flexible… mais dangereusement permissif. Même avec TypeScript, certaines erreurs ne…
Dans les années 1970/1980, de nombreux enfants ont eu la chance de grandir avec des petits trains électriques, au format HO (1:87). Le principe était simple : on pose des rails, qu'on alimente en 18V, et les trains…
Il était une fois une équipe de chevaliers qui se lança dans une quête pour connecter des robots. Sur leur chemin, ils rencontrèrent un monstre terrible : un Python, long de 5000 lignes, qui les bloquait dans leur…
Java 21 a été publié il y a environ un an et demi, et parmi les nouveautés de cette version se trouvent les threads virtuels, apportés par le projet Loom. Une des choses qu'ils apportent est la possibilité de revenir au…
JSpecify est un ensemble d’annotations, de spécifications et de documentations permettant une vérification de la "null safety" des applications Java dans l'IDE lors du développement et lors de la compilation grâce à des…
"Python, c'est pour faire de la data, et la data, c'est pas du dev !" Vous avez déjà entendu ça ? Moi aussi ! En passant d'une formation data à un poste de développeuse web, j'ai découvert que la souplesse de ce langage…
Lassé·es des interfaces graphiques gourmandes en ressources et complexes à utiliser ? Vous n'avez pas de temps à perdre entre votre terminal et un navigateur web ? Découvrez le pouvoir de l'interface utilisateur…
Cette présentation sera un mix de diapositives et d’exemples de code. Nous aborderons les fonctionnalités liées à la plateforme comme les logs structurés, le contrôle d'accès à Actuator amélioré et les nouveautés de…
Qui a dit que coder ne pouvait pas être un sport ? Si les jeux vidéo ont droit à leur championnats, et que même les pros d'Excel ont des arènes pour en découdre, sachez que les devs ne sont pas en reste. Le code golf…
If you are a Java developer, chances are you’ve already heard about Quarkus. You may have heard about the developer joy that Quarkus provides. But what exactly is it? How does it enhance your day-to-day tasks? What…
Vous êtes-vous déjà perdu dans le code d’un workflow complexe avec beaucoup de règles métier ? Entre les if-else un peu partout, les appels à des micro-services internes, les sollicitations de services externes, les…
Le projet Loom nous a livré sa première fonctionnalité en version finale avec Java 21 : les threads virtuels. On se propose de présenter les raisons pour lesquelles cette technologie a été développée et ajoutée au JDK…
N’avez-vous jamais rêvé de pouvoir gérer votre infrastructure avec votre langage de programmation préféré ? La gestion d'infrastructures en tant que code (IaC) a révolutionné la manière dont les équipes déploient…
Si vous faites vivres des applications web, les mettre à jour à la dernière version de Spring n'est pas juste une question de maintenance: c'est aussi le bon moment pour appuyer sur "F5" et recharger votre stack web…
Dans cette session, nous découvrirons le framework Java Micronaut, qui permet de développer des applications en ligne de commande ou des microservices efficaces et performants, avec un focus particulier sur l'expérience…
Functional Programming is becoming increasingly popular and relevant with each year that goes by. With so much discussion around languages such as F, Haskell and Erlang, it can seem as though getting started with…
La nouvelle génération de Spring Framework est disponible ! Spring Framework 6.0 amène de nouveaux pré-requis qui permettent à l'écosystème Spring d'aller de l'avant: Java 17, Jakarta EE 9+. C'est la fondation pour…
Dans cette conférence, je propose de vous plonger dans l'un des enfers des développeurs : les fuseaux horaires. Pourquoi est-ce que c'est un tel bazar tout autour de la planète ? Comment est-ce qu'on en est arrivé là ?…
Take a deep dive into how Turbopack (the new Rust-based successor to Webpack) came to be and the new incremental architecture it's built on. How fast is it compared to other build tools? Why does Turbopack change builds…
WebAssembly a fait beaucoup de chemin depuis sa première version majeure en 2015. Les cas d'utilisation dépassent désormais le cadre des applications Web : infrastructures cloud, virtualisation, edge computing…
Votre environnement est une boîte à sable, avec un langage de programmation démuni de tout ? Redécouvrez la roue, implémentez quelques structures et terminez par un compilateur. Voici le "Game Master", un outil d'aide à…
Des apps mobiles, desktops, web réalisées avec un seul langage, performant et fun. On en a longtemps rêvé. Est-ce en train d’arriver? Compose Multiplatform, une extension du toolkit de Google par JetBrains, répond à…
Ktor est un framework Kotlin dédié à la création de serveurs et de clients asynchrones dans des systèmes connectés. Dans cette session, nous découvrirons les concepts de base de Ktor 2 en codant en live un serveur HTTP…
Un fond de carte dans un Canvas. Un algorithme qui parcourt tous ses pixels. Une mosaïque en couleurs. C’est beau ! Mais il faut attendre longtemps... Venez voir comment Rust m’a permis de booster les performances de…
Valhalla veut révolutionner Java en introduisant une nouvelle sorte de classe qui marche plus ou moins comme des types primitifs mais défini par l'utilisateur. Mais c'est quoi vraiment un type primitif ?…
Comment WebAssembly pourrait changer la façon dont nous développons nos applications dans les années à venir ?
Comment peut-on améliorer l'efficacité et la scalabilité d'une application web existante? On pourrait complètement la réécrire, avec de la programmation concurrente, fonctionnelle, ou réactive. Mais est-ce que ça vaut…
La programmation fonctionnelle est de plus en plus mise en avant, mais pourquoi? Qu’y a-t-il de différent avec la POO? Nous vous proposons de partir d’un kata bien connu pour illustrer les différences (implémentations…
Everybody knows the classic cons list. Clojeurs brag about their bitmapped vector tries. Haskell weenies took it up a notch with their impossible finger trees. Rustaceans turned back the clock and gave us simple arrays…
Imaginez une application Web qui utiliserait toutes les nouvelles APIs des navigateurs en même temps. Ce n'est peut être pas le projet le plus raisonnable pour un besoin client mais pour de la veille, c'est passionnant…
Une petite conférence pour essayer de cerner ce qu'est cet OVNI dans l'univers des technos web. Ce nouveau standard vient de débarquer dans les navigateurs et soulève pas mal de questions sur ses promesses (rapidité !…
Si un de vos collègue vous a déjà dit «Alors là, j'ai utilisé de l'application partielle sur cette fonction que j'ai curryfié en utilisant des fonctions d'ordre supérieur et des closures» et que vous n'avez rien…
Les systèmes distribués réactifs ? L'orchestration de services avec Kubernetes ? Tout le monde ou presque a entendu ces termes sans nécessairement savoir de quoi il s'agit vraiment. Ce talk se veut une démystification…
Avec Kotlin 1.2, on peut coder un module qui sera déployé indifféremment dans la JVM, sur Android et dans un moteur javascript. Quelles sont les particularités, les avantages et les limitations de ces développements…
Vous baignez dans le JavaScript depuis quelques années ? Vous avez suivi ce qui se passe dans ce monde là ? Vous avez donc certainement croisé le terme de «fatigue», et vous l'avez peut être vécue. J'ai envie de…
One important subject we analyse in languages is its type system. Having a general overview of a type system provides information about the language structure, possible optimisations and may help us to understand how…
La programmation probabiliste crée des systèmes qui prennent des décisions à partir d'observations dont la certitude n'est pas garantie. Bien qu'encore peut développée, ce type de programmation va être une pièce…
Ca y est ! Java 9 est releasée ou presque. Bon alors y'a quoi dans Java 10 ? Ce talk parle des nouvelles features qui vont être (ou pas) introduites dans Java 10, à savoir, les trucs laissés en plan de Java 8…
Des plus en plus de sociétés souhaitent intégrer de la data-science dans leurs projets. Difficile de ne pas se sentir perdu au milieu des nombreuses bibliothèques proposées, et il est encore plus difficile de…
A quick introduction to the Rust Language. Code comparisons between Java and Rust, compiler features, type system, environment and integrating the two languages.
La nouvelle génération de Spring Framework sera bientôt disponible ! Pour fonctionner sur Spring 5, les applications devront respecter de nouveaux pré-requis (versions minimales de JDK, conteneurs, libraries...). En…
A successful project usually grows, and Kotlin is no exception. We are adding new targets (JavaScript and Native) and new computation models (coroutines). This talk is about our vision of the future of Kotlin as a…
Depuis quelques années, de nombreux outils sont apparus pour nous permettre de structurer au mieux nos applications front-end. Des bibliothèques, comme React, des architectures de gestion d'états, comme Redux, et même…
WebAssembly est une proposition pour un nouveau standard W3C : un format d'exécution binaire pour le Web. Il se veut simple, compact et aussi rapide que le code natif à l'exécution. Se basant sur des idées dérivées…
L'écriture de parsers est un exercice intéressant, mais dangereux: on ne compte plus les erreurs d'implémentations, vulnérabilités et crashes en production causés par des parsers. En utilisant la méthode des parser…
Vert.x est une plateforme pour créer des applications concurrentes, performantes et polyglottes sur la JVM.
Découverte du language et de son écosystème au travers de démos.
ES6 (ES2015) est une (r)évolution du JS : plus fiable, plus productif, voyons ensemble comment l'utiliser dès à présent
Découvrez comment Invoke Dynamic introduit dans Java SE 7 pourrait révolutionner le monde de Java EE à travers une mise en oeuvre dans CDI.
Venez découvrir les nouvelles fonctionnalités de Groovy 2.1 ! Invoke dynamic, type checking personnalisé, méta-annotations...
This talk will provide a quick overview of JavaScript for people who already know how to program in an object-oriented language.