A brief history of union mounts
Posted Jul 25, 2010 4:18 UTC (Sun) by quotemstr
In reply to: A brief history of union mounts
Parent article: A brief history of union mounts
Sure, POSIX has flaws. But at least it's not Win32. When you're frustrated by POSIX, take a deep breath and say that three times.
In the free world, there's no arbitrary 64-handle wait limit. You can rename and delete filenames while the files they point to are still open. Shared libraries are versioned. You have a variety of fork and spawn options instead of the horror that is CreateProcess. You have a real pty interface --- it's impossible to emulate a win32 console, or even make isatty do the right thing.
You don't have eldrich horrors like WSAAcceptEx. The kernel doesn't steal your threads to do its own book-keeping. For the love of god, you don't have CreateRemoteThread. IO redirection actually works --- programs seldom open /dev/tty directly, unlike the Windows world, where the canonical way to get colored output is to write it directly to the console buffer.
In POSIXland, you don't have drive letters. You don't need to be root to create a symlink. And you don't use backslashes for directory separators. (At least most Windows software accepts forward slashes too.)
/dev/null exists only in
/dev; you can create a file called "null" anywhere else. Try creating a file called "prn" anywhere on a Windows system.
Best of all, in POSIXland, programs accept a true vector of command-line arguments. In Windows, each program receives one string that's actually the whole command line and uses its own quoting and wildcard rules to interpret it. Naturally, this approach yields wildly unpredictable results.
So, of course POSIX can be improved. But it's hardly "broken in myriad ways" ; you can only say that from a position of merciful privilege.
to post comments)