Testing Sapir-Whorf
“The language you program with shapes and limits the solutions you can formulate.”
How would one go about testing this hypothesis? —Michael
Heh: get some Lispers and a C-gurus in a room and ask them to solve the (n2 - 1)-puzzle-problem.
I wager that the probability of at least one C-guru employing gratuitous bit-packing for representing the puzzle approaches 1; whereas it wouldn’t surprise me if at least one Lisper wrote a reader-macro to do the same thing.
Seriously, though; take something like Google’s Grok, which Steve Yegge describes here as “cross-language source analysis:”
They’ve identified certain common language abstractions across C++, Python, Java, Go, Lisp, etc.; and they scour large codebases, indexing these abstractions.
Taking a look at those statistics gives you a Sapir-Whorf of grammar, answering the question: “what things do programmers in a given language prefer to think in?”
Answering the question, “what things do programmers in a given language prefer to think about?”, or a Sapir-Whorf of semantics (probably a more interesting question), is probably a little more difficult.
One interesting thing would be to do some sort of semantic clustering on GitHub projects, where Github also keeps language statistics; and see if there are any interesting interaction.
SourceForge also used to maintain a software-map based on Trove, if I remember correctly; which could also be correlated with language.