I was just commiserating with David Wheeler about a problem he had with mod_ssl on Mac OS X. The .dylib extension on shared libraries seems “arbitrary” in his words, and I’ve wrestled with it in cross-platform code a few times myself.
Then I realized where so many of my frustrations with Mac OS X came from as a developer:
Unix circa 1986 via NeXT is different from Unix circa 1998 or 2008 via Linux.
I’m happy to stick with POSIX when I want software to run somewhere outside of the nice cozy GNU/GCC/Linux/glibc universe, but those
NS* functions just don’t quite feel right, you know?