Our interconnected world is increasingly reliant on distributed systems of unprecedented scale, serving applications which must share state across the globe. And, despite decades of research, we're still not sure how to program them! In this talk, I'll show how to use ideas from programming languages to make programming at scale easier, without sacrificing performance, correctness, or expressive power in the process. We'll see how slight tweaks to modern imperative programming languages can provably eliminate common errors due to replica consistency or concurrency---with little to no programmer effort. We'll see how new language designs can unlock new systems designs, yielding both more comprehensible protocols and better performance. And we'll conclude by imagining together the role that a new cloud-centric programming language could play in the next generation of distributed programs.
Bio: Mae Milano is a postdoctoral scholar at UC Berkeley working at the intersection of Programming Languages, Distributed Systems, and Databases. Her work has appeared at top-tier venues including PLDI, OOPSLA, POPL, VLDB, and TOCS, and has attracted the attention of the Swift language team. She is a recipient of the NDSEG Fellowship, has won several awards for her writing and service, and is a founding member of the Computing Connections Fellowship's selection committee (https://computingconnections.org/).
To request accommodations for a disability please contact Emily Lawrence, emilyl@cs.princeton.edu, at least one week prior to the event.