Dynamic Languages Symposium 2009  OOPSLA 2009

Co-located with OOPSLA 2009

In cooperation with ACM SIGPLAN

Disney's Contemporary Resort Orlando, Florida, USA, October 26, 2009


Invited talk

Of Scripts and Programs: Tall Tales, Urban Legends, and Future Prospects
Jan Vitek (Purdue University)

Scripting languages are playing an increasing role in today’s software landscape due to their support for rapid and exploratory development. They typically have lightweight syntax, weak data privacy, dynamic typing, powerful aggregate data types, and allow execution of the completed parts of incomplete programs. While many of their uses are web-centric, scripting languages also show up in non-traditional domains such as space exploration and administration of the pension benefits entire countries. Considering their importance to the practice of computing, it is surprising to see that, in academic circles, scripting is still often viewed as an undisciplined and unprincipled attempt at programming. In this talk, I will summarize work carried in collaboration with IBM Research on bridging the divide between scripting and programming. I will motivate our investigations with some success stories of scripting languages used in unusual places. Then I will dispel some misconceptions about the nature of scripts with preliminary results from a large corpus analysis of programs written in a popular scripting language.Finally, I will talk about the design of a new language, called Thorn, that aims to ease the journey from scripts to programs (and back).

The material covered in this talk is loosely based on [3, 1, 4, 2].

The web site for Thorn has more information (www.thorn-lang.org).


The work reported in this talk was done in collaboration with Sylvain Lebresne, Gregor Richards and Johan Östlund at Purdue, Bard Bloom and John Field at IBM Research, Tobias Wrigstad at Stockholm University and Francesco Zappa Nardelli at INRIA.


[1] Bard Bloom, John Field, Nathaniel Nystrom, Johan Östlund, Gregor Richards, Rok Strnisa, Jan Vitek, and Tobias Wrigstad. Thorn— robust, concurrent, extensible scripting on the JVM. In Proceedings of the ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA), October 2009.

[2] Martin Hirzel, Nathaniel Nystrom, Bard Bloom, and Jan Vitek. Match- ete: Paths through the pattern matching jungle. In 10th International Symposium on Practical Aspects of Declarative Languages (PADL), pages 150–166. Springer, 2008.

[3] Sylvain Lebresne, Gregor Richards, Johan Östlund, TobiasWrigstad, and Jan Vitek. Understanding the dynamics of javascript. In International Workshop on Script to Program Evolution (STOP), July 2009.

[4] Tobias Wrigstad, Patrick Eugster, John Field, Nate Nystrom, and Jan Vitek. Software hardening: A research agenda. In International Workshop on Script to Program Evolution (STOP), July 2009.