<<< Previous speaker next speaker >>>

John Field, Programming Language and Software Tools Researcher, IBM

 John  Field John Field is a Research Staff Member at IBM's T.J. Watson Research Center and manager of the Advanced Programming Tools Group. He received a Ph.D. from Cornell University in 1991, where he was a member of the team that built the Synthesizer Generator, a multi-lingual IDE that was subsequently developed into a suite of programming productivity tools by Grammatech, Inc. At IBM, his research has centered on the design of tools and programming models for large software systems, with the aim of increasing programmer productivity and software quality. Most recently, his work has focused on tools and programming models for distributed and concurrent applications. Tools and techniques developed by the Advanced Programming Tools Group have been incorporated into a number of IBM application development products, including the VisualAge Cobol suite, the VisualAge Y2K Analysis and Remediation Toolkit (which received an Outstanding Technical Achievement Award from IBM), IBM DB2's Database Migration Toolkit, and IBM Rational's AppScan DE web security tool.

Presentation: "Thorn - Robust, Concurrent, Extensible Scripting on the JVM"

Time: Monday 14:45 - 15:45

Location: C103 Music Hall

Abstract: Scripting languages are justifiably popular because of their support for rapid and exploratory development. However, scripts are notoriously hard to compose and to evolve. Additionally, though more and more applications require concurrency - for example, to manage interaction with remote distributed services - support for concurrency in existing scripting languages is weak at best. In this talk, I will describe and demonstrate Thorn, a new concurrent scripting language being developed by IBM and Purdue University. I will show how Thorn's module and type annotation features support the evolution of scripts into industrial-grade programs. I will also show how Thorn's concurrency features can be used to rapidly develop scalable applications, while avoiding many of the pitfalls of Java-style concurrency.

Level: Intermediate

Keywords: Thorn, Scripting, Languages, Concurrency, Software evolution, Modules, Gradual typing