Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Python Standardization: Wikipedia entry

23 views
Skip to first unread message

Paddy

unread,
Jan 27, 2008, 7:32:23 PM1/27/08
to
I would value the opinion of fellow Pythoneers who have also
contributed to Wikipedia, on the issue of "Is Python Standardized".
Specifically in the context of this table:
http://en.wikipedia.org/wiki/Comparison_of_programming_languages#General_comparison
(Comparison of programming languages)
And this entry in the talk page
http://en.wikipedia.org/wiki/Talk:Comparison_of_programming_languages#Standardized_Python.3F
(Talk:Comparison of programming languages#Standardized Python?)

- Thanks.

ajaksu

unread,
Jan 27, 2008, 8:05:46 PM1/27/08
to
On Jan 27, 10:32 pm, Paddy <paddy3...@googlemail.com> wrote:
> I would value the opinion of fellow Pythoneers who have also
> contributed to Wikipedia, on the issue of "Is Python Standardized".
> Specifically in the context of this table:
> http://en.wikipedia.org/wiki/Comparison_of_programming_languages#Gene...

> (Comparison of programming languages)
> And this entry in the talk page
> http://en.wikipedia.org/wiki/Talk:Comparison_of_programming_languages...

> (Talk:Comparison of programming languages#Standardized Python?)
>
> - Thanks.

Hmmm. Seems to me that "Is X Standardized" in the given context means
having a formal, published standard issued by some Standards
organization. While you can discuss the meaning of some so-called
standards (like W3C's 'recommendations', RFCs, etc.), Python, IMHO,
doesn't fit the label. There is no "Standard" to reference that is
implementation, documentation and core-dev's opinion independent to a
reasonable degree.

I guess MilesAgain gives the best arguments regarding this issue.

Not-that-my-opinion-should-have-any-weight-ly y'rs
Daniel

Paddy

unread,
Jan 27, 2008, 8:17:56 PM1/27/08
to

Thanks Daniel. I am very close to the issue and would like to step
back and c.l.p'ers opinion.

Roy Smith

unread,
Jan 27, 2008, 8:41:59 PM1/27/08
to
In article
<be24511b-f769-44bc...@y5g2000hsf.googlegroups.com>,
ajaksu <aja...@gmail.com> wrote:

> On Jan 27, 10:32 pm, Paddy <paddy3...@googlemail.com> wrote:
> > I would value the opinion of fellow Pythoneers who have also
> > contributed to Wikipedia, on the issue of "Is Python Standardized".
> > Specifically in the context of this table:
> > http://en.wikipedia.org/wiki/Comparison_of_programming_languages#Gene...
> > (Comparison of programming languages)
> > And this entry in the talk page
> > http://en.wikipedia.org/wiki/Talk:Comparison_of_programming_languages...
> > (Talk:Comparison of programming languages#Standardized Python?)
> >
> > - Thanks.
>
> Hmmm. Seems to me that "Is X Standardized" in the given context means
> having a formal, published standard issued by some Standards
> organization.

That's exactly what it means. For example, if I'm buying a C++ compiler, I
can specify in the contract, "Must comply with ISO 14882", and everybody
will know what I'm talking about.

On the other side of the fence, if I'm a free-lance C++ developer, I can
specify to my customers that the code I write will work properly when
compiled with a compiler that meets ISO 14882. Whether such a compiler
actually exists, is besides the point :-)

Python has no such standard. Sure, there's the stuff on docs.python.org,
but it's kind of hard to write a contract which says, "Must comply with the
stuff on docs.python.org", and have it be meaningful in a legal sense.

So, I think the "No" in the "Standardized?" column for python is exactly
right. That's not to say you can't have something good which isn't
standardized. Sometimes standards committees even go off into left field
and field break stuff in the process of standardizing it. Some things have
so many different standards (i.e. the pletora of unix standards), it's
almost worthless to say it's standardized. But, as it stands, the
Wikipedia article is correct.

Russ P.

unread,
Jan 27, 2008, 11:44:43 PM1/27/08
to
On Jan 27, 5:41 pm, Roy Smith <r...@panix.com> wrote:
> In article
> <be24511b-f769-44bc-8214-b22015a5e...@y5g2000hsf.googlegroups.com>,

I agree. As far as I know, Python is not formally
"standardized" by any recognized standards
authority such as ANSI or ISO. (If it were, it
wouldn't have a "BDFL.")

For most domains in which Python is used, that is
not an issue, but for some potential uses it could
be (e.g., safety-critical).

FWIW, the "most" standardized language is probably
Ada. Not only does it have a formal written
standard, but I believe it also has a formal
suite of tests that a standard Ada compiler is
required to pass. [For some reason, Ada does not
get the respect or the attention it deserves, but
that's another topic.]

Paddy

unread,
Jan 28, 2008, 2:24:22 AM1/28/08
to

Thanks Roy, Russ. I agree that Python is not standardized the way
other languages are.
But still, I look at the table, read the article linked as the column
header, and can see that their is discrepancy.
The column header links to the article on standardization:
http://en.wikipedia.org/wiki/Standardization
Which has a definition of standardization which is very different from
what you may cite.

I read the column headings article and just can't help feeling that
Python conforms to *that* definition.

- Paddy.

Paul Boddie

unread,
Jan 28, 2008, 5:28:55 AM1/28/08
to
On 28 Jan, 02:05, ajaksu <aja...@gmail.com> wrote:
>
> Hmmm. Seems to me that "Is X Standardized" in the given context means
> having a formal, published standard issued by some Standards
> organization. While you can discuss the meaning of some so-called
> standards (like W3C's 'recommendations', RFCs, etc.), Python, IMHO,
> doesn't fit the label. There is no "Standard" to reference that is
> implementation, documentation and core-dev's opinion independent to a
> reasonable degree.
>
> I guess MilesAgain gives the best arguments regarding this issue.

Agreed. The supposed definition of Python is decided by the developers
of CPython, which is why every other implementation has to chase
behind that group making changes as the language definition shifts.
You could argue that Java is in a similar situation: a controlling
body with their own implementations, albeit with a process for
suggesting changes and arguably more complete documentation. Looking
at the table of languages, we see that Java is indeed categorised as
not having a standard.

Of course, one could contend that languages like C# aren't really
standardised either, since everyone knows that ECMA standardisation is
just a convenient rubber-stamping process, as we have seen with the
adoption of "Office Open XML" (OOXML) as a standard by ECMA, whilst
the ISO standardisation attempt for OOXML was sunk (despite Microsoft
ballot-stuffing) due to glaring flaws in that so-called standard.

As I probably pointed out before, people have advocated a standard for
Python, such as a presenter at EuroPython 2006 who had been alarmed
that features such as lambda which his team used extensively were at
one point scheduled for removal from the language. Unfortunately,
there hasn't been significant scope for differentiation between
implementations of Python, so one could argue that demand for a
standard hasn't yet reached a critical level, but I imagine that some
kind of independent documentation of what Python (or a subset of
Python) is may eventually emerge in some form or other.

Paul

Terry Reedy

unread,
Jan 28, 2008, 10:27:33 PM1/28/08
to pytho...@python.org

"Paddy" <padd...@googlemail.com> wrote in message
news:4dc87a25-1d90-4b66...@i29g2000prf.googlegroups.com...

|I would value the opinion of fellow Pythoneers who have also
| contributed to Wikipedia, on the issue of "Is Python Standardized".

Depends entirely on the operative meaning of standardized. Formal
standards body? Obviously no.

Specified in a standard-setting document? Yes. In fact, in someways,
Python is better standardized that C, for instance, in that the Python
standard usefully standardizes some things that the C standard leaved
unstandardized as 'implementation defined'.

Example 1. Order of evaluation of function arguments. Python: left to
right. C: undefined (and unstandardized), I believe.

Example 2: Strings for Infinity and Not-A-Number. Python: will standardize
in 2.6 to hide the variation in C implementations (or is Microsoft just
non-compliant here?).

Roy Smith

unread,
Jan 28, 2008, 11:01:51 PM1/28/08
to
In article <mailman.1207.120157...@python.org>,
"Terry Reedy" <tjr...@udel.edu> wrote:

But, surely Python has plenty of "implementation defined" aspects.
Especially in the libraries. Especially those parts of the libraries which
are thin layers on top of operating system services (os and socket come to
mind as two highly variable areas).

Terry Reedy

unread,
Jan 29, 2008, 4:26:22 AM1/29/08
to pytho...@python.org

"Roy Smith" <r...@panix.com> wrote in message
news:roy-3C105C.2...@70-1-84-166.area1.spcsdns.net...

| But, surely Python has plenty of "implementation defined" aspects.
| Especially in the libraries.

I personally do not consider the libraries as part of the language (as
opposed to the distribution) and was not referring to them. The semantics
of the syntax is pretty tightly defined. The main exception is floating
point, which is a nuisance. Which is why one implementation aspect thereof
is being standardized in the next version.

| Especially those parts of the libraries which
| are thin layers on top of operating system services (os and socket come
to
| mind as two highly variable areas).

I am sure that sockets are not part of the C89 standard. Hence the high
variability. (I don't know about the newer C standard). I would expect
that socket.py makes the variability no worse and presume that it masks at
least a bit of it. Ditto for some os services.

tjr


Roy Smith

unread,
Jan 29, 2008, 9:00:02 AM1/29/08
to
In article <mailman.1215.120159...@python.org>,
"Terry Reedy" <tjr...@udel.edu> wrote:

> "Roy Smith" <r...@panix.com> wrote in message
> news:roy-3C105C.2...@70-1-84-166.area1.spcsdns.net...
> | But, surely Python has plenty of "implementation defined" aspects.
> | Especially in the libraries.
>
> I personally do not consider the libraries as part of the language (as
> opposed to the distribution) and was not referring to them.

I realize that there is a difference between the core language and the
libraries, but Python depends on the libraries more than a lot of other
languages do. They are the "batteries included" part.

Indeed, there is a lot of stuff in the "Python Library Reference" which in
most languages would be considered part of the core. The description of
boolean operations (and, or, not), for example. String, sequence, and
dictionary methods. Where do you draw the line and say, "The core language
ends here; the rest is just libraries"?

John Nagle

unread,
Jan 29, 2008, 11:43:29 AM1/29/08
to

That's correct. Python is not standardized by any standards body. And no
two implementations are even close to compiling the same language.

A consequence of the lack of standardization is that it discourages
implementations. There are about four implementations of something like
Python (other than CPython), and none of them are close to being usable.
Letting the author of one implementation control the language discourages
other implementations.

Submitting Python 2.5 to ISO/ANSI might be a good idea.

John Nagle

Colin J. Williams

unread,
Jan 29, 2008, 4:44:39 PM1/29/08
to

Better to wait for 3.0?

Colin W.

Terry Reedy

unread,
Jan 29, 2008, 9:41:25 PM1/29/08
to pytho...@python.org

"John Nagle" <na...@animats.com> wrote in message
news:479f562c$0$36342$742e...@news.sonic.net...

| And no two implementations are even close to compiling the same language.

That is not what some alternate implementors have claimed. How you done
actual tests to prove them wrong? (And, of course, 'close' would need some
discussion.)

| A consequence of the lack of standardization is that it discourages
implementations.

Evidence? My impression is that there were more implementations of C
before it was standardized than after, or certainly now.

Anyway, as I have already said, I think Python is in someways better
standardized (even if 'unofficially') than C. Another example: in Python,
n >> i == n//(2**i) for integer n and non-negative integer i. C89 gives
the same for non-negative n but the result is 'implementation defined' for
negative n. (Yes, I know at least partially why the committee could not
agree on a standard definition for this case.)

I think one thing being overlooked in implementation counts is that CPython
is in a real sense several implementations: one each for WinNT, Linux, MAC,
OS, Solaris, and so one. They happen to be nearly the same with the diffs
implemented as C #ifdefs.

The reason for this, in turn, is that CPython is open source *and*
welcoming of patches to make all the different versions. So someone
wanting to write a version for system X does not have to start from scratch
but only has to write miminal patches. (Yes, this is helped by C
standardization, as well as CPython being intentionally writen for
portability.)

The proliferation of C implementations in the 80s was at least partly due
to most being proprietary closed source. So there was a lot of duplication
of effort, as well as the sometimes rather useless variations that
stimulated the official standard.

Terry Jan Reedy


John Nagle

unread,
Jan 31, 2008, 6:02:03 PM1/31/08
to
I'd argue for standardizing from 2.5, and viewing 3.x as a possible
future upgrade.

John Nagle

Terry Reedy

unread,
Jan 31, 2008, 7:18:57 PM1/31/08
to pytho...@python.org

"John Nagle" <na...@animats.com> wrote in message
news:47a251e7$0$36328$742e...@news.sonic.net..


> Submitting Python 2.5 to ISO/ANSI might be a good idea.

ANSI does not actually make standards. It make metastandards about how to
make standards (both style and process) and accredites US standard-making
bodies that will follow those metastandards. The processes require
committee meetings and public comment periods -- a few years and some $$$.
There in no guarantee that what would come out of such a process would be
what went in, so 'Standard Python' might easily be a language with no
implementations.

ANSI standards are owned by ANSI or perhaps the accrediting body. In any
case, electronic copies sell for $30. They cannot legally be accessed free
as for the docs at python.org.

Paddy

unread,
Feb 1, 2008, 12:01:27 AM2/1/08
to

HI Terry,
Is their a standardizing body out their to `legitimise` open source
languages like Python?

- Paddy.

Terry Reedy

unread,
Feb 1, 2008, 1:26:19 AM2/1/08
to pytho...@python.org

"Paddy" <padd...@googlemail.com> wrote in message
news:9f54ffca-fcb7-47b4...@v4g2000hsf.googlegroups.com...

Not that I know of. There are at least a couple hundred ANSI-accredited
bodies. The application fee to become one is $3000. But some group could
act independently, perhaps with streamlined procedures, including meeting
by email or chat to cut out the large expenses of meetings, for instance.

tjr

Daniel Fetchinson

unread,
Feb 1, 2008, 3:07:52 AM2/1/08
to pytho...@python.org
> Depends entirely on the operative meaning of standardized. Formal
> standards body? Obviously no.
>
> Specified in a standard-setting document? Yes. In fact, in someways,
> Python is better standardized that C, for instance, in that the Python
> standard usefully standardizes some things that the C standard leaved
> unstandardized as 'implementation defined'.

Unstandardized and undefined are two different things. If the standard
says "this is implementation defined AKA undefined" is just as clear
and unambiguous as saying "this is defined so and so". Both statement
are equally clear as to determine if a code conforms to the standard
or not. The purpose of a standard is not to define everything but
define clearly certain things and make it equality clear what is not
defined and is left as an implementation detail.

Bruno Desthuilliers

unread,
Feb 1, 2008, 5:43:35 AM2/1/08
to
John Nagle a écrit :
(snip)

> Python is not standardized by any standards body.
> And no
> two implementations are even close to compiling the same language.
>
> A consequence of the lack of standardization is that it discourages
> implementations. There are about four implementations of something like
> Python (other than CPython),

Given that Python is a relatively "small" language (wrt/ visibility,
compared to say C, Ada, Java etc), I'd say this already makes quite a
lot implementations (how many Perl implementations around ?) - which
contradict your first assertion.

> and none of them are close to being usable.

Care to back this claim ?

FWIW, I've only played with stackless so far, and I mean "played" - not
"effectively tried to use on production" - but AFAICT it seems to work
just fine. Jython is a couple versions behind, but I wouldn't count this
as "not close to being usable". Don't know about IronPython (not
interested in this .NET stuff) but I've not seen any complaint about it
so far. So if you have more informations about all these "unusable"
implementations, please share.


> Letting the author of one implementation control the language discourages
> other implementations.

GvR is not "the author of one implementation" but the author of the
language itself.

> Submitting Python 2.5 to ISO/ANSI might be a good idea.

Or a very bad one. Anyway, GvR - as the author - has the final word on
this. You can try to convince him if you want.

Paul Boddie

unread,
Feb 1, 2008, 7:13:23 AM2/1/08
to
On 1 Feb, 01:18, "Terry Reedy" <tjre...@udel.edu> wrote:
>
> ANSI standards are owned by ANSI or perhaps the accrediting body. In any
> case, electronic copies sell for $30. They cannot legally be accessed free
> as for the docs at python.org.

Yes, you don't really want standardisation ANSI/ISO-style as the
standards themselves are not freely distributable, although some
people have kindly made drafts of various standards available in
various places, probably against the licensing conditions. Other
standards barely deserve the title because, despite there being some
kind of consensus about their content, they are administered by
industry groups who won't let you look without you either paying to
join their club or accepting a bunch of conditions: not redistributing
material from the texts is probably the mildest I can think of; I'd
imagine that they'd probably have the other members hit you up for
patent licences.

Ultimately, this leaves the W3C as the only genuinely open formal
standards body that I can think of immediately, but I think Python is
somewhat peripheral for them, despite extensive usage of Python by
various W3C people.

Paul

Pete Forman

unread,
Feb 1, 2008, 9:49:21 AM2/1/08
to
Paul Boddie <pa...@boddie.org.uk> writes:

> Yes, you don't really want standardisation ANSI/ISO-style as the
> standards themselves are not freely distributable

Some ISO standards have been made available for free. Copyright terms
apply. Over 300 are listed here:

http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html

--
Pete Forman -./\.- Disclaimer: This post is originated
WesternGeco -./\.- by myself and does not represent
pete....@westerngeco.com -./\.- the opinion of Schlumberger or
http://petef.port5.com -./\.- WesternGeco.

Paddy

unread,
Feb 1, 2008, 10:15:54 AM2/1/08
to
On Feb 1, 12:13 pm, Paul Boddie <p...@boddie.org.uk> wrote:
> Ultimately, this leaves the W3C as the only genuinely open formal
> standards body that I can think of immediately, but I think Python is
> somewhat peripheral for them, despite extensive usage of Python by
> various W3C people.
>
> Paul

W3C got me thinking of Javascript/ECMAscript.
Isn't ECMA a standards body?

- Paddy.

Eduardo O. Padoan

unread,
Feb 2, 2008, 12:09:55 PM2/2/08
to John Nagle, pytho...@python.org
On Jan 29, 2008 2:43 PM, John Nagle <na...@animats.com> wrote:
> Submitting Python 2.5 to ISO/ANSI might be a good idea.

>From GvR himself:
"""
- Does a specification (ISO, ECMA, ..) is planned for Python and when ?

No, never. I don't see the point.
"""
http://blogs.nuxeo.com/sections/blogs/tarek_ziade/2005_04_11_guido_van_rossum

--
http://www.advogato.org/person/eopadoan/
Bookmarks: http://del.icio.us/edcrypt

0 new messages