YOW! Lambda Jam 2020 - Martin Odersky - Implicits Revisited
Implicits Revisited
I talk about the history of how Scala's implicits evolved, about some of the mistakes we could have avoided in hindsight, and about aspects that I believe we got right. I then present the new system of givens in Scala 3, which replaces implicits. This system fixes most of the existing issues, increases safety and predictability and offers some exciting new possibilities to structure and modularize code.
Martin Odersky is a professor at EPFL in Lausanne, Switzerland. He has been working on programming languages for most of his career. He first studied structured and object-oriented programming as a PhD student of Niklaus Wirth, then fell in love with functional programming while working as a post-doc at IBM and Yale. When Java came out, he started to add functional programming constructs to the new platform. This led to Pizza and GJ and eventually to Java 5 with generics. During that time he also developed javac, the current reference compiler for Java. Over the last 10 years, Martin worked on unifying object-oriented and functional programming in the Scala language. Scala quickly escaped from the research lab and became a popular open-source tool and industrial language. He now oversees the development of Scala as head of the programming group at EPFL and as chairman of the Typesafe company.
For more information on YOW! Conference visit, www.yowconference.com.au
Видео YOW! Lambda Jam 2020 - Martin Odersky - Implicits Revisited канала Skills Matter
I talk about the history of how Scala's implicits evolved, about some of the mistakes we could have avoided in hindsight, and about aspects that I believe we got right. I then present the new system of givens in Scala 3, which replaces implicits. This system fixes most of the existing issues, increases safety and predictability and offers some exciting new possibilities to structure and modularize code.
Martin Odersky is a professor at EPFL in Lausanne, Switzerland. He has been working on programming languages for most of his career. He first studied structured and object-oriented programming as a PhD student of Niklaus Wirth, then fell in love with functional programming while working as a post-doc at IBM and Yale. When Java came out, he started to add functional programming constructs to the new platform. This led to Pizza and GJ and eventually to Java 5 with generics. During that time he also developed javac, the current reference compiler for Java. Over the last 10 years, Martin worked on unifying object-oriented and functional programming in the Scala language. Scala quickly escaped from the research lab and became a popular open-source tool and industrial language. He now oversees the development of Scala as head of the programming group at EPFL and as chairman of the Typesafe company.
For more information on YOW! Conference visit, www.yowconference.com.au
Видео YOW! Lambda Jam 2020 - Martin Odersky - Implicits Revisited канала Skills Matter
Показать
Комментарии отсутствуют
Информация о видео
Другие видео канала
![How to Contribute to Java and Open Source Projects (Heather VanCura)](https://i.ytimg.com/vi/3ASjNWGeG6A/default.jpg)
![The Diabolical Developer's Guide to JVM Ergonomics in Containers (Martijn Verburg)](https://i.ytimg.com/vi/r6UAn3DnaXU/default.jpg)
![Uh, Does This Thing Actually Work? Modern Microservices Testing (Holly Cummins)](https://i.ytimg.com/vi/vts6TdJch3M/default.jpg)
![Dark Energy, Dark Matter and Microservice Architecture Collaboration Patterns (Chris Richardson)](https://i.ytimg.com/vi/9_cWiqLxi9c/default.jpg)
![Reimagining Java for the Age of Cloud (Ben Evans)](https://i.ytimg.com/vi/1wRnFReUh30/default.jpg)
![Enabling Microservice Success (Sarah Wells)](https://i.ytimg.com/vi/u0KWMjZxFgA/default.jpg)
![How to Challenge Imposter Syndrome and Thrive (Rosemarie Wilson)](https://i.ytimg.com/vi/1Z0pMXLo1wk/default.jpg)
![Software Architecture in a DevOps World (Bert Jan Schrijver)](https://i.ytimg.com/vi/7i1sPZgPtOQ/default.jpg)
![Security as Code: A DevSecOps Approach (Nancy Gariché)](https://i.ytimg.com/vi/BJwpoNAFDyw/default.jpg)
![Rust Async History, Libs, and Patterns (Katharina Fey)](https://i.ytimg.com/vi/pqy7a6IS5yU/default.jpg)
![Understanding Microservices: A Guide for the Monolithic Developer (Layla Porter)](https://i.ytimg.com/vi/pxgOshaB4P4/default.jpg)
![In Defense of Exceptions: Throw away your Result (Roman Provazník)](https://i.ytimg.com/vi/E4dI-zd4Cag/default.jpg)
![Experimenting with Faster Elliptic Curves in Rust (Diego F. Aranha)](https://i.ytimg.com/vi/flJcuR0Kvxw/default.jpg)
![Rust's Unique Ownership Concept: Practical Examples and Why It's Important (Cecile Tonglet)](https://i.ytimg.com/vi/9VZcIgKYjHc/default.jpg)
![Rust in 2024 (Niko Matsakis)](https://i.ytimg.com/vi/OuSiuySr6_Q/default.jpg)
![Accessibility in Flutter (Lara Martín & Miguel Beltran)](https://i.ytimg.com/vi/rkvM3nvYagM/default.jpg)
![Build High Performance Stream Processing and Workflows with TPL Dataflow (Riccardo Terrell)](https://i.ytimg.com/vi/pmE-v_7Lp48/default.jpg)
![Strategic Domain Driven Design Tools for Non-DDD People (Nick Tune)](https://i.ytimg.com/vi/M4KrcmjlFcE/default.jpg)
![Simplify Distributed Persistent Processes (Workflows) with a Monadic DSL (Rahul Korthiwada)](https://i.ytimg.com/vi/fbOhrhUDNr8/default.jpg)
![How We Haskell: Enterprise Edition (Trevis Elser)](https://i.ytimg.com/vi/ZtqVGwg5lzs/default.jpg)
![How to Design a Variadic Non-Empty List Constructor (Lyle Kopnicky)](https://i.ytimg.com/vi/s6c0E6eYMvA/default.jpg)