On Grammar

I dread the moment when the phrase ”grammatically correct English” inevitably comes up in bikeshedding session, because it is now a dog whistle for all the grammar police to come out. It is the exact moment when the native speakers rediscover their English-pride and start to hijack the naming conversation with arcane minutiae of the proper English.

Naming in programming isn’t hard because we didn’t all ace the Cambridge exam; it’s hard because as programmers are we naming abstract concepts we dreamt of in our heads. We are—like mathematicians—artists seeking clarity by twisting analogies, searching for metaphors in order to convey these mind castles to our fellow travelers.

So recognize this dark pattern, when you need to reach for grammatical correctness to win a naming debate, you have already lost sight of the true goal. Maybe explicitly seek a counsel of non-native speakers among us. Or remember that no programming language has gained clarity—for novices, nor professionals—by mocking English. This is not a colonization conquest and native English speakers don’t have a birthright to API design. Fluency in programming language is a naturalized state of mind.

Edited for civility. Grateful to @DevAndArtist for holding me accountable!


I get your point, but I think maybe you’ve conveyed it poorly. It sounds like you’re criticizing a phrase, “grammatical English phrases,” that actually appears in the API guidelines, but if I understand you correctly you’re criticizing how people use the phrase to justify unreasonable names.

1 Like

I tried to clarify my position. Does that help?

1 Like

It does! (Though I’m not sure about the need to keep making threads.) Reading the blog post on fluent interfaces changed my thinking and I mostly agree with you now. I do think there’s still something to be said for striving for an elegant grammatical phrasing, but as a means, not an end of itself.

1 Like

Pavol opened four separate threads to discuss different aspects of what I think is really a single argument. I’m therefore going to lock this thread and recommend that any further conversation be taken to the thread with the most discussion.