If an programmer makes $100,000 in a company where programmers regularly earn that, it should not be public information. If the programmer is earning $2 million, it may be material to the shareholders to know that depending on the size of the company. If the company is Google and the programmer is regarded as extraordinary for some reason, $2 million (vs Google's overall financial picture) isn't a huge sum. If the entire sales of the company are $30 million, it blatantly would be material.
The most obvious argument against it, is that people aren't always rational (and are regularly irrational about things like money). I'd argue they frequently aren't able to accurately assess their own financial value (in either direction). It opens a pandora's box within corporations about why X person is worth $Z, while Joe or Jane thinks they should obviously be paid more vs X person. It's not easy to maintain harmony within organizations, that would make it far worse.
What would be the value gained from making all individual employee salaries public (within a public corporation)? It would have to be immense to offset the friction it would cause.