Up until now, I’ve always preferred Title Case to demarcate titles and section headers in my writings. However, lately I’ve realized that each time I start writing a sentence, I waste a few seconds deciding on the appropriate case of the special words like—technical terms, trademark names, proper nouns, etc—and how they’ll blend in with the multiple flavors1 of rules around title casing. Plus, often time, special casing of selected words makes title-cased sentences look strange.

This led me to asking a question2 on Twitter to find out if anyone had the same thought as mine or if it’d be ignored as trifling pedantry. A few people responded and they had a few excellent points on what they liked and disliked about title case. What surprised me that majority of them preferred Sentence case where you’d only capitalize the first letter of the first word of a sentence and then the capitilization of words would conform to the usual grammatical rules. So instead of this:

Dataclasses in Python Eliminates Class Initialization Boilerplates.

you’d do this:

Dataclasses in Python eliminates class initialization boilerplates.

This allows me not to waste those few precious seconds thinking about the rules of upper casing and whether or not sentences with technical words in them will look awkward. Also, it saves me from creating horrors like this where the semantics of a sentence get massacred by the eccentricity of title casing:

weird case massacring a sentence

Sentence case everywhere is the general trend I’m seeing on the technical blogs of some of the big players on the internet:

One thing that I’ll admit is, at first it just doesn’t look right to me for a title to have sentence casing. Also, I’m not too conviced to adopt sentence case in technical papers. However, Robert Smallshire argues3 that if it works for the Economist4, it should work for most of us.

So, I’m kind of leaning towards sentence casing and have slowly started adopting it in my writings everywhere. This blog used to conform to a mangled version of title casing to delineate the titles and sub headers but I’ve converted all the posts to adopt sentence case from now on. I’m quite happy with the results so far and it’s definitely one less thing to worry about.

Recent posts

  • TypeIs does what I thought TypeGuard would do in Python
  • ETag and HTTP caching
  • Crossing the CORS crossroad
  • Dysfunctional options pattern in Go
  • Einstellung effect
  • Strategy pattern in Go
  • Anemic stack traces in Go
  • Retry function in Go
  • Type assertion vs type switches in Go
  • Patching pydantic settings in pytest