  Code corpora, as observed in large software systems, are now known to be far
more repetitive and predictable than natural language corpora. But why? Does
the difference simply arise from the syntactic limitations of programming
languages? Or does it arise from the differences in authoring decisions made by
the writers of these natural and programming language texts? We conjecture that
the differences are not entirely due to syntax, but also from the fact that
reading and writing code is un-natural for humans, and requires substantial
mental effort; so, people prefer to write code in ways that are familiar to
both reader and writer. To support this argument, we present results from two
sets of studies: 1) a first set aimed at attenuating the effects of syntax, and
2) a second, aimed at measuring repetitiveness of text written in other
settings (e.g. second language, technical/specialized jargon), which are also
effortful to write. We find find that this repetition in source code is not
entirely the result of grammar constraints, and thus some repetition must
result from human choice. While the evidence we find of similar repetitive
behavior in technical and learner corpora does not conclusively show that such
language is used by humans to mitigate difficulty, it is consistent with that
theory.
