2. “Ernest Hemingway: he
has no courage, has never
crawled out on a limb. He
has never been known to
use a word that might
cause the reader to check
with a dictionary to see if it
is properly used.”
3. “Poor Faulkner. Does he
really think big emotions
come from big words? He
thinks I don’t know the
ten-dollar words. I know
them all right. But there
are older and simpler and
better words, and those
are the ones I use.”
4. “Programs are meant to be
read by humans and only
incidentally for computers
to execute.”
5.
6. Simplicity is measured not by how few lines of code
you write, but how few ideas you need to convey.
9. “The test of a book is how much good stuff you can
throw away. When I’m writing it, I’m just as proud
as a goddam lion. I use the oldest words in the
English language. People think I’m an ignorant
bastard who doesn’t know the ten-dollar words. I
know the ten-dollar words. There are older and
better words which if you arrange then in the
proper combination you make it stick.”
Notes de l'éditeur
I want to tell you about a spat between two writers that happened about 70 years ago, something that I find very relevant to what we do today.
It started in 1947. In an interview, Faulkner chided Hemingway for his use of simple language.
1950. Hemingway, in turn, sneered at Faulkner for his reliance on complex language to convey complex ideas. $10 was about ~$493 adjusted for inflation. Why is this relevant?
Donald Knuth. You will spend longer reading code than writing it, so when you write it you should pay attention to how it’s going to be read.
What are ten-dollar words? Ten-dollar words might enlighten you, they may even delight you, but if they send the reader to the dictionary, they impose a cost. Hemingway thought it wasn’t worthwhile. A sentence, paragraph, or chapter is not the sum of its words, but about the ideas it conveys.
I’m not sure what to call this principle. “Hack like Hemingway” sounds a little corny.
Maybe this. Think of the cost of your words. Think about what features of your language are ten dollar words. Don’t use a complicated expression where a simple one will do. Don’t use a complicated abstraction where a simple one will do. Strive to use simple concepts to build complex systems.
I’ll leave you with a final quote from Hemingway, a few years later.