My day job is in software development, and in pre-Covid times, when a solid majority of our teams used to still work in the office every day, I would host occasional “lunch and learn” meetings where we’d have our lunch in a conference room and watch a programming-related video.
Of these videos, one of my favorites is called Growing a Language, by Guy Steele. While it’s made for an audience of programmers, I think it’s fairly palatable to the layman. It is fascinating to me because it has a bit of a literary bent, where the form of the talk is, itself, a comment on the subject.
(I don’t blame you if you don’t want to watch the whole thing, but it’s worth watching to the 9-minute mark—the “now you see” moment.)
Steele starts his talk with a long string of definitions, ranging from nouns like “man” and “woman,” to the names of particular people, to grammatical constructs and mathematical concepts. His speech is oddly stilted to the ear, and some of his definitions cover complicated ideas with surprising conciseness. He perseveres for nine minutes in the face of the awkward, confused giggling from his audience.
At last, he gets to the point.
“A primitive is a word for which we can take it for granted that we all know what it means[…]. For this talk, I chose to take as my primitives all the words of one syllable and no more[…]. My firm rule for this talk is that if I need to use a word of two or more syllables, I must first define it.”
Steele starts with a somewhat arbitrary limitation: words of a single syllable. This is the reason for his stilted cadence. And despite his clever use of this artificially limited language, it’s apparent that he cannot get across everything he wants to say without expanding it. So he begins with simple definitions, then uses those to build more complex definitions.
The first several minutes of the talk are almost entirely devoted to building the language he needs. Then he begins to make his arguments. But he continues to sprinkle in more definitions as he goes, expanding the language so that it is ready to tackle each subsequent concept.
The Language of Stories
Steele is trying to make a point about the construction of computer programming languages, but his ideas are just as applicable to fiction. Each story has its own language, and as authors, we must construct that language as the story unfolds. We are just like Steele, defining concepts and grammar between making points. We are the train conductors laying track in front of our own speeding train.
In science-fiction and fantasy, this is especially obvious. We often need to build a secondary world that feels real, or a magic system, or the rules of some future technology. But even in more “mundane” genres, there are rules that must be defined. Who is the story about? What is the time period and setting, and how do the circumstances of the world affect the characters? What perspectives will be used?
Writing a story is a balancing act—the act of providing exactly enough information for the reader to understand what’s going on, at exactly the moment when it is needed. Too much, too early, and the whole story becomes bogged down in dull definitions. Too little, and the language becomes muddled and confusing; the story, difficult to follow.
Assumptions and Audience
Steele’s other key insight is that the starting point is extremely important. He chooses words of a single syllable. The starting point for a story is more complicated. It’s what you as the author assume about and expect from your audience.
For example, I might be writing about a dystopian future. I might focus on the technologies that enable the authoritarian regime to keep the people down. I might focus on the social constructs that make it difficult for the characters to fight back. I might focus more on the language and structure of the story, or the internal depths of the characters, or an intricate plot. The version of the story that highlights tech might appeal to a reader of hard sci-fi, while a focus on the society itself may appeal to a reader of “softer” sociological science-fiction. The version that uses challenging language and structure might appeal to a reader of literary fiction.
Whether we recognize it or not, every author must make assumptions about what their reader will bring to a story. A story that expects the reader to bring less will necessarily have to start with a simpler “language” and do more defining up-front. A story that expects more from the reader might start with a more complex “language,” but this runs the risk of confusing or driving off part of the potential audience. This isn’t necessarily a bad thing. Better to write a great book for a particular audience than a mediocre book that tries to cater to every reader.
Most of the time, it’s good to cater to your chosen audience, starting with a language they can understand and building it as the story progresses. But it can also be a powerful tool to break those well-defined rules.
It can be a story-defining twist to reveal something new about a setting or character that the reader wasn’t prepared for. It can be shocking and exciting to suddenly change up the structure or the way the story is told. The best authors can even carefully lure an audience into a story that they would have thrown away, were it revealed at the outset, and make them enjoy it. Maybe the main POV character dies at the end of act II, and the book shifts to the villain’s perspective?
Of course, it’s a hard trick to pull off. When done poorly, betraying the reader’s expectations can ruin the story for them. It can feel dull, like deus ex machina that impacts the story without earning it, or even like a mean prank played by the author at the reader’s expense. This is where beta readers and editors prove invaluable, helping to ensure that the trick actually works.
So Easy, You’re Already Doing It
Building a language for each story may seem daunting at first, but the good news is that every author does it, either deliberately or intuitively. By actively thinking about growing the language of the story, we have the opportunity to build it well—providing exactly what’s needed, when it’s needed, and not a sentence too early or too late.