
Portability matters - Sir_Cmpwn
https://drewdevault.com/2017/11/13/Portability-matters.html
======
wahern

      > 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.

~~~
Sir_Cmpwn
>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]

Notwithstanding bugs in the target platform. POSIX noncompliance is a _bug_ ,
which should be reported and fixed within reason.

------
PaulHoule
One thing this article misses is that real advances in operating systems may
very well involve changes to the system APIs and that one of the reasons why
mainstream OS are not the "end-all-be-all of operating system design."

