- Researchers investigate the impact that programming languages have on the direction of science.
- Project extends Sapir-Whorf hypothesis to computer science domain.
- Open source code repositories form base of ambitious study.
For decades, fierce debates have raged over the comparative benefits of programming languages.
Waged at times with religious fervor by computer scientists and programmers, these debates tend to rely on anecdotal evidence, with very little rigorous comparison of programming approaches or the larger question of how software may augment human thinking.
But now, researchers from Knowledge Lab at the University of Chicago and the University of Wisconsin-Madison department of psychology will tackle these disputed questions. The new research project will focus on how different programming tools work with our minds to shape the scientific process.
“The idea is to examine the way in which computer languages can both expand and limit how individual and collective minds work,” says James Evans, director of the Knowledge Lab.“We’re trying to figure out how human minds respond to different functions and different domains, both in programming languages and in popular data science environments.”
The idea that learning and using certain computer languages can influence how people solve problems resonates with the famous Sapir–Whorf hypothesis. This theory holds that spoken languages differ in psychologically important ways, such that learning the grammar and vocabulary of a language can nudge thinking in certain directions.
The idea was once a taboo subject in psychology and linguistics, but hundreds of studies have now revealed links between human language, cognition, and perception.
But while it is difficult or impossible to establish equivalence between natural languages, most computer languages are ‘Turing complete’ — anything that can be expressed in one computer language can be expressed in another.
By understanding and testing these languages, we can figure out what kinds of features end up shaping the way in which people and groups actually think with these mind tools. ~James Evans
The existence of hundreds of formally equivalent programming languages makes investigating differences in how they support problem-solving and imagination all the more interesting.
“People who in one breath argue that it doesn’t matter which language one uses because they are equivalent, in the next breath sing praises of their favorite language because it is more ‘natural’ than the competition,” says Gary Lupyan, an associate professor of psychology at University of Wisconsin-Madison and a co-investigator on the grant.
The team will start by studying code from online repositories, such as Github and BitBucket, as well as analyzing questions and responses posted on StackExchange.
This massive dataset will be used to reconstruct a ‘natural history’ of programming languages, tracing how often each is used and for what purposes.
Researchers will also measure characteristics for each language, such as efficiency (how quickly it can be used to solve a problem), creativity (how many paths tend toward the same solution), and collaboration (how well the language can be collectively used by a group of programmers instead of a lone coder).
Based on these observations, the researchers plan to use coding competition sites such as Code Golf and TopCoder to compare how different language communities solve the same challenge, as well as experiments in a controlled programming ‘sandbox’ where coders only have access to specific functions and operators.
Research conclusions may inform the design of new programming languages, coding environments, and coding styles, and will improve understanding of the role of programming and software in science.
More generally, Evans says, the project will not only provide valuable information about what languages or features people should choose in particular contexts, but also insight into how human minds use software ‘prosthetics’ to pursue knowledge.
“By understanding and testing these languages, we can figure out what kinds of features end up shaping the way in which people and groups actually think with these mind tools. Then we can also do the converse and figure out how people and groups think,” Evans says.
“I hope we learn some practical and fundamental things about the nature and limits of human intelligence.”