Portability matters
drewdevault.com
drewdevault.com
> Supporting multiple systems does not necessarily make your
> software portable. What makes your software portable is
> standards.
Only someone unfamiliar with the varying states of POSIX compliance across different platforms would make such a statement. Not to mention the multiple effective versions of POSIX.[1]Keeping the relevant standards in mind is good practice if you aim to achieve substantially equivalent functionality across multiple platforms (aka what portability means in reality), but it doesn't get you across the finish line, not by a long shot. It takes experience, a lot of testing, and regular tracking of OS updates to know when to stick to the letter of the standard, when to depart from it, and when to anticipate a change--in either the standard or a platform.
[1] Hint: those few systems (Solaris, OS X) which are "100%" compliant are compliant to POSIX:2001/POSIX:2004 version, not POSIX:2008 version, even though the majority of the extensions in the 2008 version are widely available. Characterizing code as "POSIX compliant" is ambiguous from the outset.
Notwithstanding bugs in the target platform. POSIX noncompliance is a bug, which should be reported and fixed within reason.