Unfortunately there is a reason why multiple platforms exist, different people use them to do different things. Each vendor optimized Unix to it's user base and did not want a bland stripped down variety. The last attempt to unify Unix was OSF, which was formed to stop Windows NT failed. These were supposed to be the killer universal platform of the 90s. Like Unix and C, Java is trying to solve the wrong problem.
Diversity is what makes the computing landscape so powerful.
The reason that Mac is a religion is because it is the Mac. Adding a common API to it defeats the purpose. Programming Languages and Copernicus Copernicus predicted that the Sun not the Earth is at the center of the universe. Not many people believed him at that time, due to age-old beliefs of the Earth being as the center. We are blessed with a legacy where programming languages have been at the center of the universe.