Squashing Bugs and Empowering Programmers with User-Centered Programming Language Design
Abstract
Programming languages are simultaneously formal systems and user interfaces with which programmers work. Unfortunately, programmers have a hard time writing safe software: serious bugs and security vulnerabilities are common. In many cases, however, languages with strong safety guarantees have been hard to use, and safer languages have seen slow adoption. In this talk, I’ll discuss user-centered design methods I developed to help language designers create languages that are easier to use. I’ll show how I created and evaluated Glacier, an extension for Java that enforces immutability; Obsidian, a new smart contract language that uses a linear type system; and Bronze, a new garbage collector for Rust. In each case, I found that the resulting language helps programmers write software more effectively than with prior approaches.
Please join meeting in Halligan 102 or via Zoom.
Join Zoom Meeting: https://tufts.zoom.us/j/97183120811
Meeting ID: 971 8312 0811
Password: See colloquium email
Dial by your location: +1 646 558 8656 US (New York)
Meeting ID: 971 8312 0811
Passcode: See colloquium email