POSIX standard

108 views
Skip to first unread message

Joan Miller

unread,
Apr 15, 2010, 8:33:17 AM4/15/10
to golang-nuts
Here you have [1] the last version for the UNIX Specification released
on March, 2010.

Does Go is following the POSIX standard?


[1] http://www.opengroup.org/bookstore/catalog/g101.htm

di

unread,
Apr 15, 2010, 9:01:49 AM4/15/10
to Joan Miller, golang-nuts
Firstly, that's a GUIDE to the most recent version of the Single UNIX Specification, which is free to 'Gold' and 'Platinum' member companies' employees.  I can't say anything intelligent about this document, as I am not a member.

Secondly, the Single UNIX Specification includes POSIX as a subset of it.

http://en.wikipedia.org/wiki/Single_UNIX_Specification#Linux says that 'no linux distribution has been registered as SUS compliant'.

Linux is listed under the 'mostly POSIX compliant' section in http://en.wikipedia.org/wiki/POSIX#Mostly_POSIX-compliant.

Linux does have the Linux Standard Base ( http://en.wikipedia.org/wiki/Linux_Standard_Base ) which is 'based on the POSIX specification, the Single UNIX Specification, and several other open standards, but extends them in certain areas'.  Some distros are compliant with this, and some are not.  It looks a bit unloved, anyway.

My point is, seeing as Go is only fully functional in Linux anyway, and Linux certainly isn't POSIX compliant (which POSIX standard, there's more than one..?), and even as the POSIX standards talk about providing certain C function calls to access the system, Go makes direct system calls instead anyway, whatever definition you take of 'Go following the POSIX standard' cannot possibly be true!*

* Actually, here's an easier answer.
http://en.wikipedia.org/wiki/POSIX  mentions that the first POSIX specification includes 'Floating Point Exceptions' (among other operating system things like Command Interpreter, Shell Utilities, etc..).  Go does not have floating point exceptions, ergo, it is not posix compliant ;)



--
To unsubscribe, reply using "remove me" as the subject.

Joan Miller

unread,
Apr 15, 2010, 9:07:55 AM4/15/10
to golang-nuts

On 15 abr, 13:01, di <uni...@gmail.com> wrote:
> Firstly, that's a GUIDE to the most recent version of the Single UNIX
> Specification, which is free to 'Gold' and 'Platinum' member companies'
> employees.  I can't say anything intelligent about this document, as I am
> not a member.

"PDF version free only to members, subject to The Open Group terms"

It's free to everyone that is registered, not only for Gold and
Platinum members.


http://www.opengroup.org/bookstore/catalog/elec_mem.htm

di

unread,
Apr 15, 2010, 9:11:31 AM4/15/10
to Joan Miller, golang-nuts
Right, sorry, got confused when I clicked the link and saw the 'register' page.  I also made a mistake in that newer versions of the SUS are called things like POSIX:2008 anyway...

...the point i was trying to make which hopefully still stands in some regard is that POSIX and that lot talk about specifications for operating systems really, and Go as an implementation runs mainly on Linux which is itself mostly but not entirely POSIX-compliant. :)

Alexander Surma

unread,
Apr 15, 2010, 9:14:40 AM4/15/10
to di, Joan Miller, golang-nuts
> employees.  I can't say anything intelligent about this document, as I am
> not a member.
Thank god. You wouldn't be intelligent at all if you actually *were* a
member. POSIX is a weird, bloated unnecessary standard which is not
even desirable to follow.
However, it is a standard for Operating Systems. Linux and BSD are
more or less compliant and Go should run on any POSIXy OS as far as I
can tell from `os' and `runtime'.

Surma

Conrad Meyer

unread,
Apr 15, 2010, 9:13:17 AM4/15/10
to golan...@googlegroups.com
On Thursday 15 April 2010 06:07:55 am Joan Miller wrote:
> On 15 abr, 13:01, di <uni...@gmail.com> wrote:
> > Firstly, that's a GUIDE to the most recent version of the Single UNIX
> > Specification, which is free to 'Gold' and 'Platinum' member companies'
> > employees. I can't say anything intelligent about this document, as I am
> > not a member.
>
> "PDF version free only to members, subject to The Open Group terms"
>
> It's free to everyone that is registered, not only for Gold and
> Platinum members.

The free availability of the pdf somehow fails to prevent it from being (yet
another) dumb question. Could you maybe only ask meaningful questions on the
mailing list?

Thanks,
--
Conrad Meyer <cem...@cs.washington.edu>

Alexander Surma

unread,
Apr 15, 2010, 9:20:28 AM4/15/10
to Conrad Meyer, golan...@googlegroups.com
> Could you maybe only ask meaningful questions on the
> mailing list?

I thank you

Joan Miller

unread,
Apr 15, 2010, 9:22:38 AM4/15/10
to golang-nuts

On 15 abr, 13:01, di <uni...@gmail.com> wrote:

> Firstly, that's a GUIDE to the most recent version of the Single UNIX
> Specification, which is free to 'Gold' and 'Platinum' member companies'
> employees.  I can't say anything intelligent about this document, as I am
> not a member.
>
> Secondly, the Single UNIX Specification includes POSIX as a subset of it.
>

> http://en.wikipedia.org/wiki/Single_UNIX_Specification#Linuxsays that 'no


> linux distribution has been registered as SUS compliant'.
>

> Linux is listed under the 'mostly POSIX compliant' section inhttp://en.wikipedia.org/wiki/POSIX#Mostly_POSIX-compliant.
>
> Linux does have the Linux Standard Base (http://en.wikipedia.org/wiki/Linux_Standard_Base) which is 'based on the
> POSIX <http://en.wikipedia.org/wiki/POSIX> specification, the Single UNIX
> Specification <http://en.wikipedia.org/wiki/Single_UNIX_Specification>, and


> several other open standards, but extends them in certain areas'.  Some
> distros are compliant with this, and some are not.  It looks a bit unloved,
> anyway.
>
> My point is, seeing as Go is only fully functional in Linux anyway, and
> Linux certainly isn't POSIX compliant (which POSIX standard, there's more
> than one..?), and even as the POSIX standards talk about providing certain C
> function calls to access the system, Go makes direct system calls instead
> anyway, whatever definition you take of 'Go following the POSIX standard'
> cannot possibly be true!*
>

> * Actually, here's an easier answer.http://en.wikipedia.org/wiki/POSIX<http://en.wikipedia.org/wiki/POSIX#Mostly_POSIX-compliant>


>  mentions
> that the first POSIX specification includes 'Floating Point Exceptions'
> (among other operating system things like Command Interpreter, Shell
> Utilities, etc..).  Go does not have floating point exceptions, ergo, it is
> not posix compliant ;)
>

Then since that Go isn't POSIX compliant, isn't there to follow the
System Interfaces when you have to create a function related to it, is
it?

http://www.opengroup.org/onlinepubs/009695399/idx/xsh.html

Ian Lance Taylor

unread,
Apr 15, 2010, 10:18:50 AM4/15/10
to Joan Miller, golang-nuts
Joan Miller <pelo...@gmail.com> writes:

> Does Go is following the POSIX standard?

What does this question mean? POSIX is a standard which describes an
interface to an operating system. Go is not an operating system.

Ian

Joan Miller

unread,
Apr 15, 2010, 10:44:10 AM4/15/10
to golang-nuts

On 15 abr, 14:18, Ian Lance Taylor <i...@google.com> wrote:

But Go has functions where there are implemented any interfaces to the
operating system [1].

So, as I said, is there to follow the System Interfaces defined on the
POSIX standard? --since that Go isn't POSIX compliant--


[1] http://golang.org/pkg/syscall/

Uriel

unread,
Apr 15, 2010, 10:50:59 AM4/15/10
to Joan Miller, golang-nuts
>> Joan Miller <pelok...@gmail.com> writes:
>> > Does Go is following the POSIX standard?

Joan, please stop wasting the time of the thousands of members of this
list (as I have repeatedly asked you to in private).

All your 'questions' are either meaningless or display a total lack of
effort to find an answer.

uriel

Joan Miller

unread,
Apr 15, 2010, 10:59:23 AM4/15/10
to golang-nuts

Uriel, if you were followed reading then you could know why has been
made that question.

-------


But Go has functions where there are implemented any interfaces to the
operating system [1].

So, as I said, is there to follow the System Interfaces defined on the
POSIX standard? --since that Go isn't POSIX compliant--

[1] http://golang.org/pkg/syscall/
-------

The reason is very simple. If you create a function related to the
system operating, is there to follow that POSIX standard? which says
about its name and what's its function.

Since that Go isn't POSIX compliant, *as has been said here*, then it
has not sense to follow that standard.

chris dollin

unread,
Apr 15, 2010, 11:36:40 AM4/15/10
to Joan Miller, golang-nuts
On 15 April 2010 15:59, Joan Miller <pelo...@gmail.com> wrote:

The reason is very simple. If you create a function related to the
system operating, is there to follow that POSIX standard? which says
about its name and what's its function.

Since that Go isn't POSIX compliant, *as has been said here*, then it
has not sense to follow that standard.

What /specific/, /actual/ problem with system calls do you have
that means that the theoretical non-compliance of the underlying
operating system you're running on for /that call/ is an issue?

Chris

--
Chris "allusive" Dollin

Joan Miller

unread,
Apr 15, 2010, 12:28:20 PM4/15/10
to golang-nuts

On 15 abr, 15:36, chris dollin <ehog.he...@googlemail.com> wrote:

> On 15 April 2010 15:59, Joan Miller <pelok...@gmail.com> wrote:
> > The reason is very simple. If you create a function related to the
> > system operating, is there to follow that POSIX standard? which says
> > about its name and what's its function.
>
> > Since that Go isn't POSIX compliant, *as has been said here*, then it
> > has not sense to follow that standard.
>
> What /specific/, /actual/ problem with system calls do you have
> that means that the theoretical non-compliance of the underlying
> operating system you're running on for /that call/ is an issue?
It's anything very simple.

* Does Go is following the POSIX standard?
It has been said that *Go is not POSIX compliant*.

-> So, *if Go isn't POSIX compliant*, then there is not to follow that
standard at creating functions related at the operating system.

-> So, it could be used another name and another arguments names to a
function related to e.g. `getpwuid` [1] (which searchs user database
for a user ID).


[1] http://www.opengroup.org/onlinepubs/009695399/functions/getpwuid.html

chris dollin

unread,
Apr 15, 2010, 12:41:52 PM4/15/10
to Joan Miller, golang-nuts
On 15 April 2010 17:28, Joan Miller <pelo...@gmail.com> wrote:

On 15 abr, 15:36, chris dollin <ehog.he...@googlemail.com> wrote:
> On 15 April 2010 15:59, Joan Miller <pelok...@gmail.com> wrote:
> > The reason is very simple. If you create a function related to the
> > system operating, is there to follow that POSIX standard? which says
> > about its name and what's its function.
>
> > Since that Go isn't POSIX compliant, *as has been said here*, then it
> > has not sense to follow that standard.
>
> What /specific/, /actual/ problem with system calls do you have
> that means that the theoretical non-compliance of the underlying
> operating system you're running on for /that call/ is an issue?
It's anything very simple.

No. Which /actual/ problem do you have /now/?

--
Chris "allusive" Dollin

Joan Miller

unread,
Apr 15, 2010, 1:08:18 PM4/15/10
to golang-nuts

On 15 abr, 16:41, chris dollin <ehog.he...@googlemail.com> wrote:

It isn't a problem else a question very simple.

Is it really POSIX compliant or isn't? Or when is POSIX compliant and
when it isn't?

chris dollin

unread,
Apr 15, 2010, 1:09:57 PM4/15/10
to Joan Miller, golang-nuts

Why do you care, if you don't have an actual problem to solve?

Chris

--
Chris "allusive" Dollin

Rob 'Commander' Pike

unread,
Apr 15, 2010, 1:17:33 PM4/15/10
to golang-nuts Nuts
I'm afraid Go is also not yet compliant with ASTM D2851-98(2009) (http://www.astm.org/Standards/D2851.htm
) despite our best efforts.

-rob

Joseph Stewart

unread,
Apr 15, 2010, 1:27:22 PM4/15/10
to golang-nuts Nuts
AWESOME!

On Thu, Apr 15, 2010 at 1:17 PM, Rob 'Commander' Pike <r...@google.com> wrote:
I'm afraid Go is also not yet compliant with ASTM D2851-98(2009) (http://www.astm.org/Standards/D2851.htm) despite our best efforts.

-rob




Joseph Poirier

unread,
Apr 15, 2010, 1:27:33 PM4/15/10
to Rob 'Commander' Pike, golang-nuts Nuts
On Thu, Apr 15, 2010 at 12:17 PM, Rob 'Commander' Pike <r...@google.com> wrote:
I'm afraid Go is also not yet compliant with ASTM D2851-98(2009) (http://www.astm.org/Standards/D2851.htm) despite our best efforts.


ROFL


Joan Miller

unread,
Apr 15, 2010, 5:18:21 PM4/15/10
to golang-nuts

On 15 abr, 17:17, "Rob 'Commander' Pike" <r...@google.com> wrote:
> I'm afraid Go is also not yet compliant with ASTM D2851-98(2009) (http://www.astm.org/Standards/D2851.htm
> ) despite our best efforts.
>
History shows that men and nations behave wisely only after exhausting
its alternatives.


I'm agraid that it cann't be answered anything as simple even for one
of Go lead developers.

So I'm supposed that you're using POSIX only when you want.

Alexander Surma

unread,
Apr 15, 2010, 5:24:31 PM4/15/10
to Joan Miller, golang-nuts
I'm afraid you don't realize how goddamn stupid this question is...

Joan Miller

unread,
Apr 15, 2010, 6:09:53 PM4/15/10
to golang-nuts

On 15 abr, 21:24, Alexander Surma <alexander.su...@googlemail.com>
wrote:


> I'm afraid you don't realize how goddamn stupid this question is...

I expected something smart to continue to defend your position about
don't say:

* If Go is really POSIX compliant
* If Go follows that standard at creating functions related at the
operating system.

Russ Cox

unread,
Apr 15, 2010, 6:23:55 PM4/15/10
to Joan Miller, golang-nuts
>> I'm afraid you don't realize how goddamn stupid this question is...
> I expected something smart to continue to defend your position about
> don't say:
>
> * If Go is really POSIX compliant
> * If Go follows that standard at creating functions related at the
> operating system.

Your question is wrong on at least three levels.

(1), as Ian said:
>> Does Go is following the POSIX standard?
>
> What does this question mean?  POSIX is a standard which describes an
> interface to an operating system.  Go is not an operating system.

(2)
POSIX describes a C interface to an operating system.
Go is not C either.

(3)
Basically no operating system C interface implements
POSIX either. They implement convenient subsets.

Your question is meaningless, so you've gotten
meaningless answers. You might as well ask
whether the night sky in the southern hemisphere
is USB 2.0-compliant.

Russ


--
Subscription settings: http://groups.google.com/group/golang-nuts/subscribe?hl=en

Kevin Ballard

unread,
Apr 15, 2010, 6:26:32 PM4/15/10
to r...@golang.org, Joan Miller, golang-nuts
On Thu, Apr 15, 2010 at 3:23 PM, Russ Cox <r...@golang.org> wrote:
> Your question is meaningless, so you've gotten
> meaningless answers.  You might as well ask
> whether the night sky in the southern hemisphere
> is USB 2.0-compliant.

That's a very important question. If it's not USB 2.0-compliant how am
I supposed to power my telescope? The public needs to know!

-Kevin Ballard

--
Kevin Ballard
http://kevin.sb.org
kbal...@gmail.com

Joseph Poirier

unread,
Apr 15, 2010, 7:07:48 PM4/15/10
to Joan Miller, golang-nuts
It would be far more informative, and constructive, for you to download a POSIX conformance test suite and start doing your own testing. 

I suspect it'll clarify some things and you'll have the answers to your questions rather quickly.
 
-joe

Joan Miller

unread,
Apr 17, 2010, 2:59:33 PM4/17/10
to golang-nuts

On 15 abr, 22:23, Russ Cox <r...@golang.org> wrote:
> Your question is meaningless, so you've gotten
> meaningless answers.  You might as well ask
> whether the night sky in the southern hemisphere
> is USB 2.0-compliant.
Nec scire fast est omnia (No one knows everything)

Without doubt your attitude shows the success of a system as
stackoverflow over the mailing lists, where until ruby developers
become friendly.

di

unread,
Apr 17, 2010, 3:23:37 PM4/17/10
to Joan Miller, golang-nuts
Russ is not being cruel, it is very difficult to understand what you mean in this case!!  POSIX talks about operating systems, you are asking if Go is compliant with the POSIX standard.  I guessed what you actually meant was 'is Go compatible with POSIX-compliant operating systems', but you haven't clarified this!

Seriously, no-one is trying to pick on you here - the question you have asked is difficult to interpret, never mind answer.  When I said in the first reply message that because go does not have floating point exceptions it cannot be POSIX compliant, I was making an inane and irrelevant comment, half-jokingly -- the standard does not make sense to apply to programming languages anyway.  If you went on stackoverflow and asked if Ruby was POSIX compliant, you would similarly confuse the user base there.

Joseph Stewart

unread,
Apr 17, 2010, 3:24:47 PM4/17/10
to golang-nuts

On 15 abr, 22:23, Russ Cox <r...@golang.org> wrote:
> Your question is meaningless, so you've gotten
> meaningless answers.  You might as well ask
> whether the night sky in the southern hemisphere
> is USB 2.0-compliant.
Nec scire fast est omnia (No one knows everything)

Without doubt your attitude shows the success of a system as
stackoverflow over the mailing lists, where until ruby developers
become friendly.


Maybe I'm reading too much into the drama that this thread has become Joan, but I believe there may be some language barrier that you're stumbling on.

If you didn't get an answer that was helpful to you, can you phrase the question a different way (or possibly in your native language) so we can be more sympathetic to your concerns.

On the other hand, if you're just throwing out questions for the sake of deciding Go isn't for you, please stop.

Respect,

-joe

Joan Miller

unread,
Apr 18, 2010, 5:40:13 AM4/18/10
to golang-nuts

On 17 abr, 19:23, di <uni...@gmail.com> wrote:
> Russ is not being cruel, it is very difficult to understand what you mean in
> this case!!  POSIX talks about operating systems, you are asking if Go is
> compliant with the POSIX standard.  I guessed what you actually meant was
> 'is Go compatible with POSIX-compliant operating systems', but you haven't
> clarified this!
>
> Seriously, no-one is trying to pick on you here - the question you have
> asked is difficult to interpret, never mind answer.  When I said in the
> first reply message that because go does not have floating point exceptions
> it cannot be POSIX compliant, I was making an inane and irrelevant comment,
> half-jokingly -- the standard does not make sense to apply to programming
> languages anyway.  If you went on stackoverflow and asked if Ruby was POSIX
> compliant, you would similarly confuse the user base there.
I know that Russ was not cruel (at least that doesn't work against
me). It takes much more than that to bother me since that I've an
answer for everything and since I can be very sarcastic.
But it was also time to put a full stop.

I agree with everything else.
Reply all
Reply to author
Forward
0 new messages