I wish there were a good alternative to master and slave that still had the connotation that the master did all the thinking and issued the orders, while the slave blindly obeyed. There are a fair number of protocols that work like that, and the alternatives I’ve seen don’t capture that dynamic very well.
I’ve seen Parent and Child, but children definitely don’t always do what the parent commands. I’ve seen Leader and Follower, but again, followers don’t just blindly obey, they often let the leader take initiative, but they have some autonomy. Maybe Queen and Drone? I don’t know enough about bees or ants to know if that’s accurate though.
I personally think the change from master & slave was kind of silly, as far as I’m aware, it was a bunch of people with no background in CS who thought the application of the term to something that has neither race nor agency was an insult to black people.
But I digress. It led to better guidelines in the Linux kernel, which I think are useful. You should tailor the terms you’re using to the specifics of the task. If you have a master process that only has outward interfaces through the slave processes, you could use the term ‘director’ and ‘actor.’ if the master process is managing slave processes which compete over the same resources, you can use the terms ‘arbiter’ and ‘mutex holder.’ If the slaves do some independent processing the master does not need to know the details of, you can use the term ‘controller’ and ‘peripheral.’
Basically, use a term that is the most descriptive in the context of your program.
Edit: also, I don’t know why no one mentions this, but you can also use master/servant. Historically, there wasn’t a difference between servant and slave, but in modern days there is, so it’s technically different, technically the same.
There are many articles around this topic and offerered alternatives. Though I don’t think there’s a consensus yet. Companies and individuals who made the change all did something slightly different.
Which was an advantage of the old way. At least it was consistent and when you came across that terminology you knew what it meant. It wasn’t always the best way to describe the relationship between nodes, but at least it was consistent.
I wish there were a good alternative to
master
andslave
that still had the connotation that the master did all the thinking and issued the orders, while the slave blindly obeyed. There are a fair number of protocols that work like that, and the alternatives I’ve seen don’t capture that dynamic very well.I’ve seen
Parent
andChild
, but children definitely don’t always do what the parent commands. I’ve seenLeader
andFollower
, but again, followers don’t just blindly obey, they often let the leader take initiative, but they have some autonomy. MaybeQueen
andDrone
? I don’t know enough about bees or ants to know if that’s accurate though.I personally think the change from master & slave was kind of silly, as far as I’m aware, it was a bunch of people with no background in CS who thought the application of the term to something that has neither race nor agency was an insult to black people.
But I digress. It led to better guidelines in the Linux kernel, which I think are useful. You should tailor the terms you’re using to the specifics of the task. If you have a master process that only has outward interfaces through the slave processes, you could use the term ‘director’ and ‘actor.’ if the master process is managing slave processes which compete over the same resources, you can use the terms ‘arbiter’ and ‘mutex holder.’ If the slaves do some independent processing the master does not need to know the details of, you can use the term ‘controller’ and ‘peripheral.’
Basically, use a term that is the most descriptive in the context of your program.
Edit: also, I don’t know why no one mentions this, but you can also use master/servant. Historically, there wasn’t a difference between servant and slave, but in modern days there is, so it’s technically different, technically the same.
Servant gets confusingly close to “server” which is already a badly overloaded term.
Brain
andLimb
.Perhaps people offended by the usage of master/slave in IT need to understand it isn’t talking about people
Not anymore, but it does come from that root.
Technically, so does the word ‘robot’, but it’s not from english, so that linguistic connection to slavery doesn’t get noticed.
That’s true.
Oh c’mon, now we’re bringing
root
into this? /j :pCerebrate and Drone
Does Overmind only come into play when talking about cloud environments?
Lol haven’t heard queen and drone… Might use that in the future!
Domme and Sub?
What if its a bratty Sub?
They someone needs to be punished, don’t they?
Primary and replica works in some contexts.
I don’t think git is one of them, though.
cult leader and cult follower? but that just seems too long
Cultleader and cultist.
There is, it’s controller and peripheral
Peripheral means something different.
There are many articles around this topic and offerered alternatives. Though I don’t think there’s a consensus yet. Companies and individuals who made the change all did something slightly different.
Which was an advantage of the old way. At least it was consistent and when you came across that terminology you knew what it meant. It wasn’t always the best way to describe the relationship between nodes, but at least it was consistent.
Primary and Clone?
Definitely not a good match for many situations.
Prime and Deploy?
I guess Hypnotist/Hypnotee would be one. Queen/Drone would work well, since there are drone kinks out there as well.