I don't think the OP meant to piss on GUIDs. I think they are laughing at a very cryptic command line recommended to access "old devices and printer". That was always a classic jab at Linux and this looks extra cryptic as it is a literal random string.
Also UUIDs in the classic sense do suck in my opinion and Linux and FreeBDS use them, because they have to, to support standards that were made with Windows in mind. UUIDs are strange - i.e. their mixed endianess or how version bits are placed in them. All for a 128 bit random identifier as it is mostly used nowadays. I like the below to get a random identifier:
I think it's kinda nice that my random identifiers have a little flag bit to indicate they were random v(._. )v
> their mixed endianess
Pardon my pedantry here but this is a misinterpretation of GUIDs through the lens of the UUID structure. The actual difference between GUID and UUID isn't the endianness-on-the-wire within the chunks but the number and sizes of the chunks themselves.
Endianness only matters with multi-byte data, so the "mixed-endianness" thing comes from the fact that the two specs mostly line up, but then people interpret GUID's array of octets as if ⅞ of it were a single multi-byte field as it is in UUID.
> or how version bits are placed in them
Indeed this is mostly lost to time and seems like odd placement these days. For anyone who's curious, the reason why those bits are where they are is because the Apollo Network Computing Architecture "version 0" UUIDs had a different third layout where the ninth octet indicated socket address family. IP's dominance led to the ossification of AF numbers which did not keep growing as anticipated, leaving several bits of effectively wasted space that were then reused to indicate the version since those bits could always be assumed to be 0 on NCA/NCS due to lack of any network standard on which they could be anything else.
Source: wrote a GUID/UUID library that implements all the old weird shit just for the fun of it:
I think it's not the GUID, but the fact that referencing the GUID is the only way to get at the functionality any more.
Yes, your devices and various other underpinnings have GUIDs, but very few of them _only_ surface the GUID as a referent to the thing in a place a user would have to access it.
Similar to how, if you could only get at this by doing "rundll32 shellex.dll LoadOldPrinterSettings", the issue wouldn't be a function named LoadOldPrinterSettings, the issue would be that it's making you reach into a DLL to invoke a function by hand to get at it at all.
This is the finest advertisement for every OS not named Windows that I have ever seen.