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.
Felienne is assistant professor at Delft University of Technology, where she researches programming for everyone, from spreadsheet users to young kids. Felienne’s biggest passions in life is to share her enthusiasm for programming with others. She teaches programming in a community center in Rotterdam every week, she organizes the Joy of Coding conference, a one day developer conference in Rotterdam celebrating the joy and art of programming, and she is a host at SE radio, one of the most popular software engineering podcasts on the web. If she is not coding, blogging or teaching, she is probably dancing Lindy Hop, running or playing a (board)game.