Questions - Microsoft Research

advertisement
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
Download