A lot of modern software disregards the existence of unix sockets, probably because TCP sockets are an OS agnostic concept and perform well enough. You'd need to write Windows-specific code to handle named pipes if you didn't want to use TCP sockets.
Windows actually added Unix sockets about six years ago, and with how aggressive Microsoft EOLs older versions of their OS (relative to something like enterprise linux at least), it's probably a pretty safe bet to use at this point.
With how aggressively Microsoft EOLs older versions of their OS, we're still finding decades-old server and client systems at clients.
While Server 2003 is getting more rare and the last sighting of Windows 98/2000 has been a while, they're all running at the very least a few months after the last free security support is gone. But whether that's something you want to support as a developer is your choice to make.
If you start developing a new software today, it won't need to run on those computers. And if it's old enough that it need to, you can bet all of those architectural decisions were already made and written into stone all over the place.
> If you start developing a new software today, it won't need to run on those computers.
This is a weird argument to make.
For context, I work on mesh overlay VPNs at Defined.net. We initially used Unix domain sockets for our daemon-client control model. This supported Windows 10 / Server 2019+.
We very quickly found our users needed support for Server 2016. Some are even still running 2012.
Ultimately, as a software vendor, we can't just force customers to upgrade their datacenters.
It’s actually the opposite of Microsoft quickly eoling on the server side. Server 2012 was EVERYWHERE as late as 2018-2019. They were still issuing service packs in 2018.
EDIT:
And it would be interesting for someone to reproduce a benchmark like this on Windows to compare TCP loopback and the new(ish) unix socket support.
windows is exactly the reason they didn't prevail imo. Windows named pipes have weird security caveats and are not really supported in high level languages. I think this lead everyone to just using loopback TCP as the portable IPC communication API instead of going with unix sockets.