I kind of disagree. Our brains are very good at learning new words given the correct circumstances. Learning words is an effortless process that occurs through seeing them in context, and the nuance of having specific terminology is often extremely useful.<p>As a concrete example, if you say "I'm thinking slowly right now", someone might assume you have brain fog or some sort of trouble concentrating unless they've read a particular book. If you say you are using System II-thinking, they either get it because they've read that book, or they understand that they don't and can save themselves a lot of time and confusion and ask what you mean.<p>Using a simpler word for endianness does not spare you from having to understand endianness, but it might mislead you into thinking you do when you don't.<p>Re-using simple words can be confusing, and understanding that you do not not understand a word can actually be a feature, especially in technical writing.<p>As a good counter example, the word 'service' is used way too much in too many different ways. If someone says 'the service isn't working', they could mean the entire web application is down, the kubernetes Service-abstraction is misconfgiured, what it's running is broken, or some piece of code ending in "Service" doesn't compile.
Binary has nothing to do with it insofar that the space is adequately described by two labels. The problem is solely that the labels are unclear, and the argument of the article is harmed by bringing binary into it.<p>I could just as easily extend the colored functions[1] analogy by bringing into it yellow functions that are also annoying to call and have their own incompatibilities[2], and now we have three labels, red/blue/yellow which tell me nothing at all; honestly I don't even remember which ones are red functions and which ones are blue. Of course in the case of the original article the labels are supposed to be arbitrary and don't matter, but responses to it continue to use the colors and thus attach semantic significance to them.<p>[1] <a href="https://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/" rel="nofollow">https://journal.stuffwithstuff.com/2015/02/01/what-color-is-...</a>
Excellent point. Other examples of easily invertible binary labels:<p>- "Little-endian" vs. "big-endian": Does "little-endian" mean the little part is at the end or at the beginning? Why not "minor-first" and "major-first"?<p>- "Type 1 diabetes" vs. "type 2 diabetes": Why not "insulin deficiency" and "insulin impotence"?
I suspect aesthetics has more to do with it than people think.<p>Everyone loves a secret code, and Hollywood has made an art of of technobabble.<p>When you say "It's fine, we're on a class 2 supply" you sound really cool and high tech and professional.<p>It's almost like sprinkling in a latin phrase or some legalese, but instead of conveying a very precise meaning, where even the informal general implications are well known, it adds confusion.<p>There's always a sense of mystique to these "Domain specific natural languages", but not that many reasons to use them, so people are probably kinda drawn to slip them in.
Nice article.<p>Red State vs. Blue State in bipartisan US politics is an inappropriately meaningless binary label while red node vs. black node in a binary tree is an appropriately meaningless binary label.<p>I feel like that makes sense to me.
I was surprised by this:<p><i>"Worst of all, imagine this: you've just started an internship at a tech company with a microservices-based architecture. When service A initiates a message to service B, one of them is called the "upstream", and the other is the "downstream". Which one is which? There's no inherent direction, so even within the industry, people don't agree!"</i><p>For me, upstream always means "toward the original caller", or "toward the customer/person with the web browser". I had never heard his linked example of something thinking they were "calling an upstream function". If you're the caller, you are upstream from what you're calling.<p>Is that just me?
> "upstream and downstream" in microservice architecture.<p>Those terms are used in relation to dependencies and who consumes what. It has nothing to do with microservice architectures.<p>This article seems to talk a lot about... nothing. I don't really see the point it's trying to make - we use technical terms not to be human friendly but to be technical. We're not writing for children or for laymen all the time.
Is there a type 3 error? If not, or if the question is as meaningless as I suspect, why would anyone ever want to use "type 1 error"/"type 2 error" rather than "false positive" and "false negative" (or the other way around, I refuse to look it up)? Is someone golfing research papers, trying to save two characters here and there?