A Pro-Grammar Nerd: Beautiful Code Makes Beautiful Language

A Note from Aaron: I published this post on my old blog when I was in my 20s and thought I knew more than I did. When launching my new site, I could either trash old content like this or port it over. I decided to port it over as a personal archive and reminder of my own evolution. In other words, sorry it sucks.


For my birthday, my RocketBolt cofounder, Matt, sent me a $20.00 Starbucks “eGift” card.1 Take a look at the notification email:

Do you see the error? I noticed it immediately because, in addition to being a developer, I’ve spent six years teaching Freshman Writing, and it’s an error my students constantly make. Let me break out one of my giant red pens in the hopes that, just like my students, both you and Starbucks might learn to hate me appreciate my constructive criticism.

Because Matt Hofstadt is one person, he can’t be the antecedent of a plural pronoun like “they.” The sentence doesn’t make any sense, and the mistake is surely damaging the “high quality” brand Starbucks cultivates in order to sell $5 coffee. If Starbucks is lucky, one of its employees is reading this blog post and correcting the problem right now. If not, I can’t help but worry that poor use of the English language is causing Starbucks to alienate the pretentious-douchebag-grammar-nerd demographic.2

Speaking of pretentious-douchebag-grammar-nerds, allow me to explain the evolution of the “I’m going to refer to a singular noun with a plural pronoun” linguistic phenomenon. It’s a product of increased gender equality. People used to generically refer to everyone as males, but you guys probably already knew that, right? As women (rightfully) began to take offense to always being referred to as dudes, a writer could either refer to gender-neutral, singular nouns with a clunky “he/she” type of construction, or he/she could opt for a less-awkward-to-write but absolutely wrong “they” or “them” pronoun. If you’re wondering what option writers tend to prefer – even though it makes no sense – scroll back up to that image of a Starbucks email.

Despite what this post might imply, I’m actually not the kind of guy who believes writers should unquestionably adhere to every grammar rule. To paraphrase Winston Churchill, strict adherence to grammatical rules simply for the sake of following rules is the sort of English up with which I will not put.

I don’t care if you end a sentence with a preposition. I don’t care if you put periods inside or outside your quotation marks. And I certainly don’t care if you start a sentence with a conjunction. However, even in a digital world where text without professional editing is globally accessible and likely to have errors — including this post — I don’t think I’m being unreasonable by suggesting we maintain the grammar practices that computers actually make easier.

Luckily, we still have time to fix a grammar problem, and the programmers of the world can help. By using programmatic logic when we code dynamically generated text, we can determine which gender a noun is referring to and then fill in the pronoun accordingly. It goes something like this:

[if $person == female :  return she ; else : return he ;]

In a case like the generic email I got from Starbucks where the gender of the purchaser is likely unknown, the solution is even easier. Try this little programmatic trick:

[$first_name] [$last_name] wanted to make your day so [$first_name] sent you a $20.00 USD Starbucks Card eGift to spend on your favorite beverage.

Wasn’t that easy? And yet, every day I witness discussions about the importance of beautiful, efficient, semantic code that never mentions outputting proper sentence structures. Why is it OK to harp on things like “semantic css classes” but it’s not important for dynamically generated text to use proper grammar? Let’s not forget that the end result of beautiful code is more than functionality and design. The code we write often dynamically outputs the words our users read, which means no matter how much you hated your Freshman Writing instructor, he or she probably taught you a lesson that could improve the quality of your code.

Update

This post made the front page of Hacker News because people apparently have some very strong (and in some cases) strange notions about both grammar and morality. Anyhow, I should do what I always tell my students. If the structure of the sentence causes so much controversy that it distracts from the meaning, change the sentence. Allow me to offer an alternative that solves everything:

Matt Hofstadt wanted to make your day by sending you a $20.00 USD Starbucks Card eGift to spend on your favorite beverage.

Wasn’t that even easier?

Footnotes

  1. Thanks, Matt! It was really a $100 gift card, but I want everyone to think he’s cheap.
  2. Judging by the comment threads on most websites, that’s a surprisingly large demographic.

Share

I teach in Duke University’s Innovation & Entrepreneurship program and founded RocketBolt. I write about startups, pedagogy, entrepreneurship, engineering, and poetry. They’re all related, I promise.

Leave a Reply

Your email address will not be published. Required fields are marked *

Instagram

  • Walked into the @dukeinnovation Bullpen and was excited to find @kdhoch. I hear #dukeinsiliconvalley was fantastic, but I'm glad to have him back in #durham. Though, after five weeks on the Left Coast, I was kind of hoping he'd have frosted tips. #ohwell #entrepreneurlife
  • 4th of July celebratory steak dance #happy4th #steak #babycarnivore
  • Catching a summer lecture by my favorite @dukeuniversity undergrad professor, Dr. George Gopen. 12 years later, he's still showing 400-person auditoriums how the #grammar rules they learned in grade school hurt their #professionalwriting. Lesson #1: "Context controls meaning." #rhetoric #memorylane
  • Ended the morning with the right amount of fingers and toes. My yard ended the morning with one less tree. #yardwork #homeownership #imissrenting
  • Puppy birthday ice cream! Happy 7th birthday to my favorite ball of fur. #furbaby #puppy #doggyicecream
  • Shook off 2+ decades of rust to build a block masterpiece today. Looking forward to #fathersday 2021 when Adeline is old enough for us to break out the real @lego sets 😊
  • Love when my @dukeinnovation graduates want to Skype to discuss a post-Duke #startup. 
Hopefully they're all competing to be my first student to produce a unicorn. 
Don't let me down @jordanmartinez15 🤞 
#entrepreneurship #hustle #duke2017
  • Only thing better than a geeky discussion about #sales pipelines with @adwerxre VP of Sales @cleithe is doing it over drinks on top of the @thedurhamhotel #saleslife #entrepreneurlife #playinghooky #durham
  • While updating an investor today I used the phrase "shopping for unicorn saddles." When we tried to figure out what that actually meant, here's what we came up with. Any better ideas? #entrepreneurship #startups #venturecapital #unicornsaddle🦄
  • Tate caught a rainbow while moving into our new house. Is that a good omen, or were the former owners of my house Care Bears? #lucky #potofgold #notinkansasanymore
  • Carference Call (n): A video conference that takes place in your car because you booked meetings too close together. #entrepreneurship #startups #hustling #randomparkinglot
  • Finally getting to use my fancy new parking permit in my fancy new parking lot thanks to @kdhoch -- my personal parking guru 😉 #toolazytowalk

Follow Me!