[Video of my keynote presentation at PLDI 2016.]
What do cheating on fuel economy, the London Whale, and building a better mosquito trap have in common? We are constantly bombarded with technical innovations that disrupt business models, social structures, labor markets, etc. Widely visible technical advances such as Internet of Things, Big Data, and Deep Learning are driving markets and creating a huge demand for computer science education. What role, if any, does programming language research have in an age of technical disruptions? In my talk, I argue that historically, as well as today, programming languages are central to major technical disruptions and that language innovation is often driven by technical innovation in other areas. To have the most impact, language researchers have a great opportunity to look beyond problems in their own research area to embrace and understand the impact that their ideas can have on critical societal problems. Increasingly, people are assuming that software will be an essential part of solutions to societal problems. At the same time we know that building an infrastructure on software creates new challenges that threaten to reduce or eliminate the benefits altogether. To make the discussion concrete, I consider three problem domains: global health, financial market stability, and cybersecurity. In each case, I argue that programming language research can and should have a lot of impact. My challenge to the audience is to embrace these problems enthusiastically and bring the great depth of insight and innovation that the field has already created to the broadest audience possible. Since I will be discussing topics that I have far too limited knowledge of, consider this a great opportunity to hear me say outrageous things that are almost certainly not true but at the same time hopefully provocative and entertaining.