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

  • #theresnoplacelikehome #goduke
  • Happy first day of #socialmarketing class @dukeuniversity. Let’s see how many of my students hate me by the end of the semester #FDOC #entrepreneur #innovation
  • #learningtofail is back. Today’s challenge for my new batch of @dukeinnovation students: bring me a snowball, a tire, and a lock of someone’s hair. I wanted to test their #entrepreneurmindset. Got some interesting and unexpected results #innovation #entrepreneur #entrepreneurship #failure
  • When I tell people I was “sitting center ice this weekend,” I’ll probably leave out the part about the #hockey players looking a lot like @disney characters... #daddyadventures
  • Final pitches for @dukeinnovation #learningtofail. Did Fami win by helping students catch their buses? Or did Nick win by helping students find jobs? Find out in My Story. #entrepreneur #startup #pitchoff #pitchplease #mystudentsprobablyhateme
  • Hosted what my @dukeinnovation students described as “the lamest party ever” as our final #learningtofail challenge. Watch My Story to see the outcome. #entrepreneur #party #lameparty #dietfood 😒
  • In today’s #learningtofail challenge, my current  @dukeinnovation students had to find my students from a previous semester, bring them presents, and share a #selfie as proof. The most impressive was a pair of students who delivered someone a #glutenfree desert during her class IN COPENHAGEN! #impressive #hustlehard #entrepreneurship
  • My @dukeinnovation capstone students at @adwerxre learning about #sales, #bizdev, and #closing from one of the best: @cleithe #entrepreneur #hustle #innovation #fieldtrip
  • Kirsten Hamstra, global head of social media @sassoftware, talking about corporate #socialmarketing strategies with my @dukeinnovation class: "A lot of brands think social only belongs in the marketing department, but the companies that are really benefiting from social are the ones that understand how it can help across an organization -- #HR, #recruiting, #R&D, #sales... everything."
  • A mini-reunion of the dorm formerly-known-as-Aycock, 2001. Who wins the award for least-receded hairline? #bluedevils #tildeathdouspartin
  • A little @dukeuniversity alumni love from @natedevil and @raleighsparty's wedding. #truelove #tildeathdouspartin #mawwage
  • Pretty much how I feel after a 7 meeting day. #entrepreneurship #hustling #sales #closing #wheatenterrier #furbaby #exhausted

Follow Me!