Coursera Spring Sale
40% Off Coursera Plus Annual!
Grab it
Explore the evolution and current state of object capabilities in Scala programming through this keynote conference talk that examines how capability-based security models can bridge functional and imperative programming paradigms. Delve into the historical context of object capability models dating back to the 1960s and understand why, despite their theoretical elegance for protecting trusted components from untrusted ones, they haven't achieved widespread adoption due to convenience and safety limitations. Learn about EPFL's groundbreaking research addressing these impediments through innovative solutions including implicit parameter passing via using clauses, context functions for capability abstraction, and extended type system tracking that monitors capability closures in lambdas and objects. Discover the practical implementation challenges and solutions developed over two years of large-scale project work, including ergonomic notation improvements and real-world usage experiences. Gain insights into how capabilities serve as a unifying concept for permissions, effects, and resources in modern programming, and understand the future roadmap for capability checking in Scala development.