A long-form conversation with Martin Odersky about everything Scala: the evolution of the language, the future, learning, teaching, good library and code design, and more.
Timeline:
0:00 Intro
1:36 Teaching kids to code
5:30 Students, recursion and becoming better programmers
13:32 Students at EPFL, software engineering and their Scala experience
20:08 The process of Scala evolution
27:12 A compelling case for Scala 3, according to Martin
33:44 Good library design
39:54 Balancing tooling development and language evolution
42:16 The SIP process and experimental features
46:50 Migration to Scala 3
52:40 Addressing the apparent complexity of Scala
1:01:01 Appealing to mainstream programmers
1:04:20 Caprese, the future of Scala: capability checking
1:13:30 Capabilities, backwards compatibily and new libraries
1:17:06 Martin's hope for capability checking in Scala
1:19:54 Capabilities, balancing power and convenience
1:28:42 Making Scala a mainstream language
1:36:10 LLMs and the evolution of programming languages
1:39:26 Pizza, pattern matching and Java generics
1:41:01 Martin's hope for Scala over the next few years
1:46:14 Closing thoughts