How does code sound?
We study all sorts of aspects of programming languages, their ease of use, type system, their level of abstractness, but we feel one aspect is overlooked, how a programming language sounds like when read aloud. Is reading aloud hard? Well, yes. We found that developers cannot pronounce code in a consistent fashion. We had 25 experienced developers read code aloud, and it was a mess, even for simple statements. For example, how to pronounce an assignment statement like
x = 5? Is it “x is 5”? Or “set x to 5”? Or “x gets 5”? And what about an equality check? Is it “if x is is 5”? Or “if x is 5”? Or “is x is equal to 5”? What can we learn from reading code aloud? We think programming language designers could learn a lot from hearing their language spoken. For example, if programmers consistently read
if x == 5 as “if x is 5”,
= or even
is might be better keyword. What is the ultimate end game of this idea? We envision programming language designers of the future to prescribe a way that their language sounds, much like languages have style guides. When the sound or ‘phonology’ is defined, it can be practiced, taught and analyzed. This will be useful while learning to program, but could be a valuable tool people that interact with code in an oral way, such as visually and physically disabled programmers, and developers that are doing (remote) pair programming. What will the talk cover? In the talk, we will describe our experiment and what we learned from it, so other interested in exploring how languages sound can start well-prepared and informed.