Much like common sense is not all that common, plain English is rarely plain. And this is even more true when you’re speaking a domain specific language (or to the man on the street, jargon). In the world of software development we speak a very dense DSL packed with nouns that have very specific meanings. I use the word dense because there are also loose DSLs,
As example of the difference consider an address and a phone number. The address may have redundant information in, like street name and post code, or country for an non-international letter. A phone number on the other hand has no redundant information and hence is susceptible to having its meaning completely destroyed by a typo. With an address we have a little more leeway but enough typos and your letter won’t get to where you were hoping.
So when we speak in a dense DSL we need to be careful to say exactly what we mean; for example in interviews I often ask what does static mean in the context of C#. The answer I usually get is:
It means you only have one copy.
Which isn’t wrong but it’s vague, and vague is pretty close wrong in my book. A better answer would be:
Static can be used as modifier keyword to declare a member variable on a class
Far better; it shows a precise knowledge not only of the C# language but of the DSL that surrounds it. Also It’s not overly precise, it gets to the point and stops.
Now this is a simple example but the concept of terseness is widely applicable. Often I’ve found people who pride themselves on the terseness of their code don’t extend that same pride to the duration of their sentences. So given that I don’t have the time to make this any shorter, I’ll leave it there.