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
masterandslavethat 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
ParentandChild, but children definitely don’t always do what the parent commands. I’ve seenLeaderandFollower, but again, followers don’t just blindly obey, they often let the leader take initiative, but they have some autonomy. MaybeQueenandDrone? 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.
cult leader and cult follower? but that just seems too long
Cultleader and cultist.
BrainandLimb.I need repos with these branch names. Main just sounds so lame. This would keep me on my toes
Lol haven’t heard queen and drone… Might use that in the future!
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.
Cerebrate and Drone
There is, it’s controller and peripheral
Peripheral means something different.
Primary and Clone?
Definitely not a good match for many situations.
Prime and Deploy?
Primary and replica works in some contexts.
I don’t think git is one of them, though.