Type Clash: When Structural and Nominal Systems Collide by Matteo Orlandi and Luca Caputo @DevoxxForever
Type Clash: When Structural and Nominal Systems Collide by Matteo Orlandi and Luca Caputo  @DevoxxForever
Uploaded February 2026 | Updated September 2026, 3 weeks ago
Type systems define how we reason about code, enforce safety, and manage complexity — but not all type systems approach these goals the same way. In this talk, I pit structural typing, as in TypeScript, against nominal typing, as in Kotlin, in a practical exploration of real-world scenarios. You’ll see side-by-side examples of how each system handles interoperability, composition, and code evolution, revealing where explicit identities enforce discipline and where shape-based typing unlocks flexibility and expressiveness. By the end, you’ll understand the strengths and trade-offs of each approach — and why, in many situations, structural typing gives you a surprising advantage.
Type Clash: When Structural and Nominal Systems Collide by Matteo Orlandi and Luca CaputoWhen Music and Software Come Together by Hanno EmbregtsOrchestrating payments for the millions by Faris AzizHow we rebuild a legacy monolithic platform at CERN and still sleep at night by Dmitry KekelidzeTornadoVM: Supercharge your Java with GPU acceleration - Christos Kotselidis, Mary XekalakiBuilding AI Agents with Spring & MCP by James Ward, Josh LongGetting more out of Maven by Marit van Dijk and Andres AlmirayCan GenAI predict code’s energy use and why should we care? by Wilco BurggraafTDD makes you a better everyday developer by Jesse KershawAshes to Ashes, Specs to Specs: A Farewell to Old Testing Tools by Younes JaaidiTraining My Rival in Java: A Deep Q-Learning AI to Play Azul by Victor Uria ValleBe more productive with IntelliJ IDEA - Marit van Dijk
Devoxx |

Type Clash: When Structural and Nominal Systems Collide by Matteo Orlandi and Luca Caputo

SHARE TO X SHARE TO REDDIT SHARE TO FACEBOOK WALLPAPER