What can we do better to make POPL/PLDI more relevant for the next generation? With inputs from: Ras Bodik (UC-Berkeley) Swarat Chaudhuri (Penn State) Sumit Gulwani (MSR Redmond) Questions • How to make PL relevant 30 years from now? • What problems will programming in 2040 be solving? • Are we laying the foundations for 6 Turing awards from PL over the next 30 years? To think about these questions, let us consider: • What are current technology trends? • What are the unique strengths of PL as an area? 1 Technology Trends • Computational devices getting cheaper – Thousands of super-computer programmers – Millions of traditional software developers – Billion end-users!! • What is the programming model for these folks? • Has mostly remained an HCI topic! • Cloud Computing – Computing as a commodity – Has mostly remained architecture/systems topic! • .... Are we keeping an eye on these trends? 2 Unique Strengths of PL • Intersects with most areas in computer science. • Healthy mix of theory and practice. Can be a breeding ground for inter-disciplinary disruptive innovation. What have we done to foster this? 3 Interesting inter-disciplinary areas • Human Computer Interaction – Visualization – Natural Language Processing • Cognitive science, Education • Systems biology, Social science – Computational Thinking in Sciences • Gaming • … 4 Computational Thinking in Sciences Computational thinking is entering biology, social science, economics – example: agent-based generative social science Theory, algorithms, simulation already export C.S. ideas to sciences – Q: what will happen once the computational thinking takes foothold? – A: some notion of programming will follow Programming may be the tool for modeling and synthesis – example: understand and defend against biological attacks – growth of popularity: from the hands of researchers to practitioners – growth of scope: build large-scale models by composition Goal: develop languages for thinking and doing in sciences – Role of programming languages: bridge thinking and machines; make computational thinking accessible to masses; enable large models – State of the art: languages for sciences are “decades old”, did not receive the attention of mainstream programming languages: • support for reuse and modularity, higher-level abstractions, static typing, program analysis, model checking. Call for Action • Bring to attention technology trends. – Call for papers can include new futuristic topics. – Start accepting (short) papers that bring in new problem definitions or ad-hoc solutions. • Encourage inter-disciplinary work. – Make it easy for outsiders to get in. – Have a separate category and/or use a different criterion (as for pearl papers). – Invited talks from experts in other communities. 6