My apologize, I didn't intend that. I mean that some people are used to Unix and use their familiarity as a post-hoc rationalization for some of the poorly designed aspects of it.
To be clear: my position is that several Unix APIs are bad designs. Rather than making excuses for them we should demand better cross-platform APIs.
> It doesn't have to be bespoke, but I agree that the Unix VFS interface isn't appropriate for it.
I don't agree. Network filesystems should be mountable and traversable just like local filesystems, but the OS and libraries should do more to be async and multi-thread aware, as should applications.
We already have them in the form of language runtimes.
POSIX as cross-platform API is mostly relevant to C.
Even C++ is moving beyond POSIX, by providing proper OS abstractions on the standard library.
But, this is the sort of thing that Richard Gabriel is talking about in worse is better[1]
You understand that's still offensive and implies I have brain damage, right?
> every application should use a bespoke protocol to do simple things like working with a network file system.
It doesn't have to be bespoke, but I agree that the Unix VFS interface isn't appropriate for it.
What operating system are you aware of that provides a mkdir interface with timeout? Windows' CreateDirectory() does not. OS X is just BSD. We're departing the realm of mainstream systems. QNX mkdir does not appear to take a timeout. Plan9 uses create() with a DIR flag, which does not take a timeout. Help me out here?