Planet Dynamic or: How I Learned to Stop Worrying and Love Reflection
Presented as part of the 2013 HCSS conference.
ABSTRACT
A fundamental belief underlying forty years of programming languages research, aptly captured by the slogan "Well-typed programs can't go wrong", is that programs augmented with machine-checked annotations are more likely to be free of bugs. But of course, real programs do go wrong and programmers are voting with their feet. Dynamic languages such as Ruby, Python, Lua, JavaScript and R, unencumbered by types, are increasingly popular. JavaScript, the lingua franca of the web, is moving to the server. R, another dynamic language, is widely used for data analysis and visualization. Not only are these languages devoid of types, but they utterly lack any static structure that could be used for program verification. This talk will draw examples from recent results on JavaScript to illustrate the extent of the problem and propose some directions for research.