Afficher un message
Vieux 29/08/2006, 18h53   #31
Drazen Kacar
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Posix sucks, Linux sucks, I want my compatibility back

Ivan Marsh wrote:
> On Tue, 29 Aug 2006 15:51:05 +0000, Rich Teer wrote:


> > Linux isn't POSIX compliant *now*, let alone "has always been".

>
> It's not 100% POSIX compliant... but I'm sure many of the POSIX compliant
> OSs have a few areas where they're not 100% compliant. If you believe that
> onlt 100% compliance means it's compliant then you're correct. But I
> haven't looked into what issues AIX or BSD or SCO or HP-UX have in them...
> have you?


That depends on what 100% means. All OSs have bugs, so it's quite
possible that some bugs would be in the POSIX compliance area. That
would give you a reason to say that an OS with such bug is not 100%
POSIX compliant.

But that's not a useful metrics.

Bugs will be fixed. Eventually. Some bugs can't be fixed without a
rewrite of a largish subsystem in the OS. That kind of bugs (or, rather,
design problems) is a better reason to claim that a particular OS is not
POSIX compliant.

POSIX compliance means that programmers (either those who use the C API
to write C programs or those who use little Unix tools to write shell
scripts) can expect that their POSIX compliant programs would work on
other POSIX compliant OSs without alteration. This is important. It
saves time, money and nerves.

Using the term "POSIX compliant" when you actually mean "modern Unixish
systems" or "recent Unixish systems" just creates chaos and confusion,
because it doesn't mean anything substantial.

POSIX is a specification, just like the TCP specification or HTTP
specification. "Almost, but not quite" compliant is not good enough. It
sometimes means that you have to rewrite a perfectly good program
(because the thread cancellation doesn't work on "almost, but not quite"
OS, for example), even though there were hundreds of people who were
trying to convince you that the "almost, but not quite" OS was in fact
POSIX compliant.

OTOH, POSIX has areas where 100% compliance doesn't mean anything useful
in practice. That is, even though two OSs are 100% compliant, there's no
way to write the code which will surely run as intended on both, simply
because POSIX doesn't require enough guarantees from the OS.

And then there are areas which POSIX just avoids completely (usually
with a good reason). It's not a panacea nor will it ever be. But there
are parts of the OS APIs and utilities which have been standardised in a
satisfactory manner and I see no reason to claim POSIX compliance for
"almost, but not quite" OSs.

--
.-. .-. Yes, I am an agent of Satan, but my duties are largely
(_ \ / _) ceremonial.
|
| dave@fly.srk.fer.hr
  Réponse avec citation
 
Page generated in 0,05456 seconds with 9 queries