5 ms·
I started replacing master/slave with primary/secondary in my code 20 years ago. I was never happy with the terminology (been programming for over 30 years now,
by bmurphy1976 6y ago
I started replacing master/slave with primary/secondary in my code 20 years ago. I was never happy with the terminology (been programming for over 30 years now, didn't like it what when I was 14, still don't like it at 44).
As for blacklist/whitelist, my first thought was that I'd change it to allowlist/blocklist and sure enough that's exactly what they did.
There's nothing wrong with this change. If you have a problem with it you need to look deep inside yourself and reexamine your own biases. That's where the real problem lies.
- magicalhippo 6y ago> I started replacing master/slave with primary/secondary in my code 20 years ago. But primary/secondary doesn't mean the same as master/slave. Consider master/slave from say i2c protocol. Switching to primary/secondary would completely obscure what is going on, you might as well call them apple/orange, while with master and slave it is very clear.
- lowmagnet 6y agoThe changes in code in this case concerned the terminal package, which was changed from 'master/slave' to 'pty/procTTY', which are more accurate terms.
- magicalhippo 6y agoI replied to the part I quoted. The renaming from master/slave to pty/procTTY might be a good change in that specific case.
- dtech 6y agoWould leader/follower work in this context? I find it difficult to think of a context where they aren't similar enough to be replacements. Sure you can nitpick about how strict the leader/follower relationship is, but master/slave doesn't necessarily tell you that accurately either.
- rrmm 6y agoIn the bus protocol context of master vs slave: Some combination of bus-controller works ok, bus-arbiter, or bus-writer vs bus-reader or bus-listener, or bus-consumer. We also have the idea of having two units 'slaved' together. Which I guess would just be 'synced' or 'chained' though 'chaining' in this case is still probably the same metaphor as 'slave'. Overall I'm not so big on these sorts of efforts. The euphemism treadmill has been going on forever with little apparent impact on the underlying inequities of the world. To me it feels like the act of changing the language is a way to feel good about doing something without actually doing the hard work of changing the actual beliefs and actions of racism. That said I don't think it matters all that much: terminology falls in to and out of fashion all the time, and we end up forgetting where most of it comes from (which could be used as an argument for either side). So uhh long-live whatever!
- mcphage 6y ago> Switching to primary/secondary would completely obscure what is going on, you might as well call them apple/orange, while with master and slave it is very clear. This meaning for master and slave is not clear at all. It’s merely familiar to you.
- magicalhippo 6y agoYou could say that about anything. Most common jargon already have a clear meaning. Primary/secondary has a clear meaning to me, same with leader/follower. Both are very different from master/slave. I'm not saying we must at all cost continue to use master/slave, I'm not married to that piece of language. But I'm struggling to find cases where primary/secondary would be a good replacement for master/slave. That's assuming master/slave was a good fit in the first place.
- mcphage 6y ago> You could say that about anything. Yes, you could.
- deleted 6y ago[deleted]
- rs23296008n1 6y agoBut even there you have a problem with the conceptual terminology. A master controls slaves using through ownership and punishment. In computing that ownership aspect is usually very weak or not even relevant to the task at hand. I2C is a good example. Its about who controls the bus. So for "control" plenty of other concepts are applicable and likely more accurate. Since when does I2C need to punish? A little in / all in: if you want the concept use the entirety of the concept. But really you don't need to. Its actually unnecessary. Supervisor/worker etc etc. Plenty of more accurate concepts exist without even needing particularly politically correct angles. Even Controller/controllee could work. I'm sure Head Ewok / lesser ewok might work as well if you want to go too far. The resulting binary as presented to the processor is likely not particularly impacted. Isn’t that the real purpose of most code?
- effie 6y ago> I was never happy with the terminology > If you have a problem with it you need to look deep inside yourself and reexamine your own biases. That's where the real problem lies. So if you are not happy with established terminology you change it but if someone else is not happy with the change he is biased? There are valid reason to be bothered by the change itself, even if the new words are OK. For 1) from the leadership, it is intellectually weak/calculating and fear-based appeasement move to a vocal extremist ideology group; there was nothing wrong with those terms in those contexts. For 2) the change and the associated power play has divisive and desintegrative effect on the project. For 3) it is a nasty manipulation of decent people, unaware of the political power game that is the real motivation behind these calls for new, better terms.