Windows uses GUID's for a lot of things, especially in the [registry](WindowsRegistry). For example ``` {f31d4ad5-1271-4c2c-8c29-59c825e087e2} ``` I think the main aim is to ensure that there are no name clashes, that would happen if, for example, two different developers wanted to name their product `MySuperGreatProduct(TM)` -- using GUID's ensures that each product can find its own registry information and that, if a program wants to load a particular product called `MySuperGreatProduct(TM)`, it gets the right one, which may not happen if loading by name. An alternative is the `reverse domain name` approach used by e.g. [macos](../macos) where things are named e.g. `com.apple.Safari` and such.