Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #76425 > unrolled thread

Why Python 4.0 won't be like Python 3.0

Started byMark Lawrence <breamoreboy@yahoo.co.uk>
First post2014-08-17 13:37 +0100
Last post2014-08-19 12:04 -0700
Articles 20 on this page of 21 — 12 participants

Back to article view | Back to comp.lang.python


Contents

  Why Python 4.0 won't be like Python 3.0 Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-08-17 13:37 +0100
    Re: Why Python 4.0 won't be like Python 3.0 Grant Edwards <invalid@invalid.invalid> - 2014-08-18 14:51 +0000
      Re: Why Python 4.0 won't be like Python 3.0 Chris Angelico <rosuav@gmail.com> - 2014-08-19 01:03 +1000
      Re: Why Python 4.0 won't be like Python 3.0 "ElChino" <elchino@cnn.cn> - 2014-08-18 19:00 +0200
        Re: Why Python 4.0 won't be like Python 3.0 Ethan Furman <ethan@stoneleaf.us> - 2014-08-18 10:15 -0700
        Re: Why Python 4.0 won't be like Python 3.0 Chris Angelico <rosuav@gmail.com> - 2014-08-19 09:46 +1000
      Re: Why Python 4.0 won't be like Python 3.0 Ethan Furman <ethan@stoneleaf.us> - 2014-08-18 10:14 -0700
        Re: Why Python 4.0 won't be like Python 3.0 Grant Edwards <invalid@invalid.invalid> - 2014-08-18 21:09 +0000
          Re: Why Python 4.0 won't be like Python 3.0 Emile van Sebille <emile@fenx.com> - 2014-08-18 14:45 -0700
          Re: Why Python 4.0 won't be like Python 3.0 Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-08-19 10:25 +1000
            Re: Why Python 4.0 won't be like Python 3.0 Grant Edwards <invalid@invalid.invalid> - 2014-08-19 14:27 +0000
              Re: Why Python 4.0 won't be like Python 3.0 Skip Montanaro <skip@pobox.com> - 2014-08-19 09:37 -0500
                Re: Why Python 4.0 won't be like Python 3.0 Grant Edwards <invalid@invalid.invalid> - 2014-08-19 14:51 +0000
                Re: Why Python 4.0 won't be like Python 3.0 Johann Hibschman <jhibschman@gmail.com> - 2014-08-19 10:56 -0400
              Re: Why Python 4.0 won't be like Python 3.0 Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-08-20 03:44 +1000
      Re: Why Python 4.0 won't be like Python 3.0 Ben Finney <ben+python@benfinney.id.au> - 2014-08-19 08:27 +1000
        Re: Why Python 4.0 won't be like Python 3.0 Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-08-19 11:00 +1000
      Re: Why Python 4.0 won't be like Python 3.0 Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-08-19 10:05 +1000
        Re: Why Python 4.0 won't be like Python 3.0 Chris Angelico <rosuav@gmail.com> - 2014-08-19 10:30 +1000
      Re: Why Python 4.0 won't be like Python 3.0 Tim Delaney <timothy.c.delaney@gmail.com> - 2014-08-19 10:47 +1000
    Re: Why Python 4.0 won't be like Python 3.0 wxjmfauth@gmail.com - 2014-08-19 12:04 -0700

Page 1 of 2  [1] 2  Next page →


#76425 — Why Python 4.0 won't be like Python 3.0

FromMark Lawrence <breamoreboy@yahoo.co.uk>
Date2014-08-17 13:37 +0100
SubjectWhy Python 4.0 won't be like Python 3.0
Message-ID<mailman.13066.1408279206.18130.python-list@python.org>
A blog from Nick Coghlan 
http://www.curiousefficiency.org/posts/2014/08/python-4000.html that 
should help put a few minds to rest.

-- 
My fellow Pythonistas, ask not what our language can do for you, ask
what you can do for our language.

Mark Lawrence

[toc] | [next] | [standalone]


#76480

FromGrant Edwards <invalid@invalid.invalid>
Date2014-08-18 14:51 +0000
Message-ID<lst3t9$30d$1@reader1.panix.com>
In reply to#76425
On 2014-08-17, Mark Lawrence <breamoreboy@yahoo.co.uk> wrote:
> A blog from Nick Coghlan 
> http://www.curiousefficiency.org/posts/2014/08/python-4000.html that 
> should help put a few minds to rest.

I agree with the comments that the appellation for "simply the next
version after 3.9" should be 3.10 and not 4.0.  Everybody I know
considers SW versions numbers to be dot-separated tuples, not 
floating point numbers.  

To all of us out here in user-land a change in the first value in the
version tuple means breakage and incompatibilities. And when the
second value is "0", you avoid it until some other sucker has found
the bugs and a few more minor releases have come out.

I don't think one (or several) blog posts is going to change the
perceptions and expectations that have been coditioned into us by
decades of experience with x.0 versions of countless software
packages. If it's just another in a a series of incremental "bug fix
and minor enhancements without breaking backwards incompatibility"
releases, you simply do not call it vers x.0.

-- 
Grant Edwards               grant.b.edwards        Yow! Bo Derek ruined
                                  at               my life!
                              gmail.com            

[toc] | [prev] | [next] | [standalone]


#76481

FromChris Angelico <rosuav@gmail.com>
Date2014-08-19 01:03 +1000
Message-ID<mailman.13100.1408374195.18130.python-list@python.org>
In reply to#76480
On Tue, Aug 19, 2014 at 12:51 AM, Grant Edwards <invalid@invalid.invalid> wrote:
> I agree with the comments that the appellation for "simply the next
> version after 3.9" should be 3.10 and not 4.0.  Everybody I know
> considers SW versions numbers to be dot-separated tuples, not
> floating point numbers.
>

Agreed. However, by the time 3.9 comes out, there'll have been all
those years of changes. "The version after 3.9" would be a good time
to remove stuff that's been deprecated since 3.3 or 3.6 or whatever;
technically, that's breaking backward compat (hence 4.0 rather than
3.10), but in effect, it's no more breakage than a minor release would
give you (since you should have stopped using deprecated APIs several
versions ago). So there's still value in going to 4.0 around about ten
versions after 3.0; but it doesn't necessarily have to happen exactly
then.

ChrisA

[toc] | [prev] | [next] | [standalone]


#76488

From"ElChino" <elchino@cnn.cn>
Date2014-08-18 19:00 +0200
Message-ID<lstbfb$4p8$1@dont-email.me>
In reply to#76480
"Grant Edwards" <invalid@invalid.invalid> wrote:

> To all of us out here in user-land a change in the first value in the
> version tuple means breakage and incompatibilities. And when the
> second value is "0", you avoid it until some other sucker has found
> the bugs and a few more minor releases have come out.

"Three shall be the number thou shalt count, and the number of the 
counting shall be three, no more, no less. .."
  https://www.youtube.com/watch?v=xOrgLj9lOwk   (1:30)

Or lets make the version asymptotically grow towards 4.
Any sensible function for that?

--gv

[toc] | [prev] | [next] | [standalone]


#76493

FromEthan Furman <ethan@stoneleaf.us>
Date2014-08-18 10:15 -0700
Message-ID<mailman.13106.1408382149.18130.python-list@python.org>
In reply to#76488
On 08/18/2014 10:00 AM, ElChino wrote:
> "Grant Edwards" <invalid@invalid.invalid> wrote:
>
>> To all of us out here in user-land a change in the first value in the
>> version tuple means breakage and incompatibilities. And when the
>> second value is "0", you avoid it until some other sucker has found
>> the bugs and a few more minor releases have come out.
>
> "Three shall be the number thou shalt count, and the number of the counting shall be three, no more, no less. .."
>   https://www.youtube.com/watch?v=xOrgLj9lOwk   (1:30)

Right.  5.0 it is, then.

--
~Ethan~

[toc] | [prev] | [next] | [standalone]


#76526

FromChris Angelico <rosuav@gmail.com>
Date2014-08-19 09:46 +1000
Message-ID<mailman.13124.1408405610.18130.python-list@python.org>
In reply to#76488
On Tue, Aug 19, 2014 at 3:00 AM, ElChino <elchino@cnn.cn> wrote:
> Or lets make the version asymptotically grow towards 4.
> Any sensible function for that?

Easy! We just keep on adding parts.

3.7, 3.8, 3.9, 3.9.9, 3.9.9.9, 3.9.9.9.9, 3.9.9.9.9.9...

ChrisA

[toc] | [prev] | [next] | [standalone]


#76492

FromEthan Furman <ethan@stoneleaf.us>
Date2014-08-18 10:14 -0700
Message-ID<mailman.13105.1408382076.18130.python-list@python.org>
In reply to#76480
On 08/18/2014 07:51 AM, Grant Edwards wrote:
>
> To all of us out here in user-land a change in the first value in the
> version tuple means breakage and incompatibilities. And when the
> second value is "0", you avoid it until some other sucker has found
> the bugs and a few more minor releases have come out.

Even our own 3.0 was like that.


> I don't think one (or several) blog posts is going to change the
> perceptions and expectations that have been coditioned into us by
> decades of experience with x.0 versions of countless software
> packages. If it's just another in a a series of incremental "bug fix
> and minor enhancements without breaking backwards incompatibility"
> releases, you simply do not call it vers x.0.

Yup.

--
~Ethan~

[toc] | [prev] | [next] | [standalone]


#76514

FromGrant Edwards <invalid@invalid.invalid>
Date2014-08-18 21:09 +0000
Message-ID<lstq2t$pg5$1@reader1.panix.com>
In reply to#76492
On 2014-08-18, Ethan Furman <ethan@stoneleaf.us> wrote:
> On 08/18/2014 07:51 AM, Grant Edwards wrote:
>>
>> To all of us out here in user-land a change in the first value in the
>> version tuple means breakage and incompatibilities. And when the
>> second value is "0", you avoid it until some other sucker has found
>> the bugs and a few more minor releases have come out.
>
> Even our own 3.0 was like that.

So was 2.0, only it wasn't quite as distruptive as 3.0.

Don't get me started on the RedHat [5678].0 OS releases from back in
the day...

-- 
Grant 

[toc] | [prev] | [next] | [standalone]


#76519

FromEmile van Sebille <emile@fenx.com>
Date2014-08-18 14:45 -0700
Message-ID<mailman.13117.1408398332.18130.python-list@python.org>
In reply to#76514
On 8/18/2014 2:09 PM, Grant Edwards wrote:
> On 2014-08-18, Ethan Furman <ethan@stoneleaf.us> wrote:
>> On 08/18/2014 07:51 AM, Grant Edwards wrote:
>>>
>>> To all of us out here in user-land a change in the first value in the
>>> version tuple means breakage and incompatibilities. And when the
>>> second value is "0", you avoid it until some other sucker has found
>>> the bugs and a few more minor releases have come out.
>>
>> Even our own 3.0 was like that.
>
> So was 2.0, only it wasn't quite as distruptive as 3.0.

As I recall, 2.0 _was_ 1.6.

Emile

[toc] | [prev] | [next] | [standalone]


#76530

FromSteven D'Aprano <steve+comp.lang.python@pearwood.info>
Date2014-08-19 10:25 +1000
Message-ID<53f29983$0$29986$c3e8da3$5496439d@news.astraweb.com>
In reply to#76514
Grant Edwards wrote:

> On 2014-08-18, Ethan Furman <ethan@stoneleaf.us> wrote:
>> On 08/18/2014 07:51 AM, Grant Edwards wrote:
>>>
>>> To all of us out here in user-land a change in the first value in the
>>> version tuple means breakage and incompatibilities. And when the
>>> second value is "0", you avoid it until some other sucker has found
>>> the bugs and a few more minor releases have come out.
>>
>> Even our own 3.0 was like that.
> 
> So was 2.0, only it wasn't quite as distruptive as 3.0.

How was it disruptive? It was as backward compatible to 1.5 as any point
release can be expected to be. There were syntax changes, but they added
new syntax, and didn't take anything away.

In my opinion, 2.6 was a bigger change than 2.0 from the perspective of
backwards compatibility. 2.6 finally made raising from strings an error.

# 2.4
py> raise "hello"
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
hello

# 2.6
py> raise "hello"
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: exceptions must be old-style classes or derived from
BaseException, not str

(I make no comment about the quality of 2.0 versus 2.0.1 :-)



-- 
Steven

[toc] | [prev] | [next] | [standalone]


#76568

FromGrant Edwards <invalid@invalid.invalid>
Date2014-08-19 14:27 +0000
Message-ID<lsvmsn$ahc$1@reader1.panix.com>
In reply to#76530
On 2014-08-19, Steven D'Aprano <steve+comp.lang.python@pearwood.info> wrote:
> Grant Edwards wrote:
>
>> On 2014-08-18, Ethan Furman <ethan@stoneleaf.us> wrote:
>>> On 08/18/2014 07:51 AM, Grant Edwards wrote:
>>>>
>>>> To all of us out here in user-land a change in the first value in the
>>>> version tuple means breakage and incompatibilities. And when the
>>>> second value is "0", you avoid it until some other sucker has found
>>>> the bugs and a few more minor releases have come out.
>>>
>>> Even our own 3.0 was like that.
>> 
>> So was 2.0, only it wasn't quite as distruptive as 3.0.
>
> How was it disruptive? It was as backward compatible to 1.5 as any point
> release can be expected to be. There were syntax changes, but they added
> new syntax, and didn't take anything away.
>
> In my opinion, 2.6 was a bigger change than 2.0 from the perspective of
> backwards compatibility. 2.6 finally made raising from strings an error.

I'm probably conflating the 1.5.2/2.0 and the 2.6 stuff.  I do
remember delaying moving from 1.5.2 -> 2.0 until I really had to, but 
I don't remember why.

-- 
Grant Edwards               grant.b.edwards        Yow! Oh, I get it!!
                                  at               "The BEACH goes on", huh,
                              gmail.com            SONNY??

[toc] | [prev] | [next] | [standalone]


#76570

FromSkip Montanaro <skip@pobox.com>
Date2014-08-19 09:37 -0500
Message-ID<mailman.13152.1408459064.18130.python-list@python.org>
In reply to#76568
On Tue, Aug 19, 2014 at 9:27 AM, Grant Edwards <invalid@invalid.invalid> wrote:
> I'm probably conflating the 1.5.2/2.0 and the 2.6 stuff.  I do
> remember delaying moving from 1.5.2 -> 2.0 until I really had to, but
> I don't remember why.

If you were a RedHat user during that timeframe, that might have
contributed to your decision to delay. I no longer remember the
details, but it was rather painful.

Skip

P.S. Grant, why is your email listed as invalid@invalid.invalid? Seems
kind of unfriendly.

[toc] | [prev] | [next] | [standalone]


#76571

FromGrant Edwards <invalid@invalid.invalid>
Date2014-08-19 14:51 +0000
Message-ID<lsvo90$51v$1@reader1.panix.com>
In reply to#76570
On 2014-08-19, Skip Montanaro <skip@pobox.com> wrote:
> On Tue, Aug 19, 2014 at 9:27 AM, Grant Edwards <invalid@invalid.invalid> wrote:
>> I'm probably conflating the 1.5.2/2.0 and the 2.6 stuff.  I do
>> remember delaying moving from 1.5.2 -> 2.0 until I really had to, but
>> I don't remember why.
>
> If you were a RedHat user during that timeframe, that might have
> contributed to your decision to delay. I no longer remember the
> details, but it was rather painful.
>
> Skip
>
> P.S. Grant, why is your email listed as invalid@invalid.invalid? Seems
>      kind of unfriendly.

Many, many years ago it was an attept to reduce spam and to avoid
receiving copies of followups.  There used to be a fair number of
Usenet and mailing-list users who seemed to think that their followups
were so important that they would not only post it to the group (or
mail it to the mailing list), they would also send you a copy
directly.  I got tired of messing with procmail filters to try to
eliminate those, so I finally removed my e-mail address from the
headers.  If people want to e-mail me, my address is below.

-- 
Grant Edwards               grant.b.edwards        Yow! Vote for ME -- I'm
                                  at               well-tapered, half-cocked,
                              gmail.com            ill-conceived and
                                                   TAX-DEFERRED!

[toc] | [prev] | [next] | [standalone]


#76572

FromJohann Hibschman <jhibschman@gmail.com>
Date2014-08-19 10:56 -0400
Message-ID<osxwqa4o7dy.fsf@gmail.com>
In reply to#76570
Skip Montanaro <skip@pobox.com> writes:

> On Tue, Aug 19, 2014 at 9:27 AM, Grant Edwards <invalid@invalid.invalid> wrote:
>> I'm probably conflating the 1.5.2/2.0 and the 2.6 stuff.  I do
>> remember delaying moving from 1.5.2 -> 2.0 until I really had to, but
>> I don't remember why.
>
> If you were a RedHat user during that timeframe, that might have
> contributed to your decision to delay. I no longer remember the
> details, but it was rather painful.

I vaguely remember holding off for a while until SWIG had 2.0 support,
or maybe Numeric lagged, or something, but that's getting pretty fuzzy.
There was definitely more there than, say, for 1.4 to 1.5.  It's hard to
believe that the Dubois/Hinsen/Hugunin article in Computers in Physics
(which was where I got my start with python) was a full 18 years ago.

Cheers,
Johann

[toc] | [prev] | [next] | [standalone]


#76586

FromSteven D'Aprano <steve+comp.lang.python@pearwood.info>
Date2014-08-20 03:44 +1000
Message-ID<53f38cf5$0$29992$c3e8da3$5496439d@news.astraweb.com>
In reply to#76568
Grant Edwards wrote:

> I do
> remember delaying moving from 1.5.2 -> 2.0 until I really had to, but
> I don't remember why.

I remember delaying moving from 1.5 until 2.3, but I remember why. Three
reasons:

(1) People are often like cats, and like cats, they are either curious and
inquisitive about anything new ("ooh, shiny! is it good to play with???")
or suspicious and fearful of anything new ("it's different, I don't like
it"). I happened to be going through a stage of my life closer to the
second than the first at the time.

(2) I was reluctant to install software by hand if it wasn't handled by my
system's package manager. I still am, but not as reluctant as I was back
then.

(3) I was still learning the language, and all the books I had on Python
covered 1.5.


-- 
Steven

[toc] | [prev] | [next] | [standalone]


#76521

FromBen Finney <ben+python@benfinney.id.au>
Date2014-08-19 08:27 +1000
Message-ID<mailman.13119.1408400880.18130.python-list@python.org>
In reply to#76480
Grant Edwards <invalid@invalid.invalid> writes:

> I agree with the comments that the appellation for "simply the next
> version after 3.9" should be 3.10 and not 4.0. Everybody I know
> considers SW versions numbers to be dot-separated tuples, not floating
> point numbers.

This consensus is sometimes termed “semantic versioning”, that is,
giving semantic meaning to the structural elements of a version string
<URL:http://semver.org/>.

I'm glad someone has taken the time to codify that sensible and useful
de-facto standard for version strings.

> I don't think one (or several) blog posts is going to change the
> perceptions and expectations that have been coditioned into us by
> decades of experience with x.0 versions of countless software
> packages. If it's just another in a a series of incremental "bug fix
> and minor enhancements without breaking backwards incompatibility"
> releases, you simply do not call it vers x.0.

Agreed. The convention is well established and rogues deviate from it at
the peril of unnecessary confusion.

-- 
 \     “Guaranteed to work throughout its useful life.” —packaging for |
  `\                                          clockwork toy, Hong Kong |
_o__)                                                                  |
Ben Finney

[toc] | [prev] | [next] | [standalone]


#76534

FromSteven D'Aprano <steve+comp.lang.python@pearwood.info>
Date2014-08-19 11:00 +1000
Message-ID<53f2a1a2$0$29977$c3e8da3$5496439d@news.astraweb.com>
In reply to#76521
Ben Finney wrote:

> Grant Edwards <invalid@invalid.invalid> writes:
> 
>> I agree with the comments that the appellation for "simply the next
>> version after 3.9" should be 3.10 and not 4.0. Everybody I know
>> considers SW versions numbers to be dot-separated tuples, not floating
>> point numbers.
> 
> This consensus is sometimes termed “semantic versioning”, that is,
> giving semantic meaning to the structural elements of a version string
> <URL:http://semver.org/>.
> 
> I'm glad someone has taken the time to codify that sensible and useful
> de-facto standard for version strings.
> 
>> I don't think one (or several) blog posts is going to change the
>> perceptions and expectations that have been coditioned into us by
>> decades of experience with x.0 versions of countless software
>> packages. If it's just another in a a series of incremental "bug fix
>> and minor enhancements without breaking backwards incompatibility"
>> releases, you simply do not call it vers x.0.
> 
> Agreed. The convention is well established 

Only if you ignore the vast majority of software which does not follow that
convention. Having *any* semantics to version numbers at all, apart
from "bump the version number when you feel like it", is the exception
rather than the rule. Probably the most common version numbering system
is "the date I last remembered to update the version number", or a simple
incrementing counter. (It's a version *number*, not a version tuple.)

It is amazing how well-established a convention can appear if you ignore the
exceptions to it and consider only a sufficiently narrow niche, like "some
of the FOSS software I'm familiar with".


> and rogues deviate from it at the peril of unnecessary confusion.

Rogues like Python, the Linux kernel, Oracle, Mozilla, Haskell, ...

Well, okay, Oracle are rogues. But not because of their version numbering.


I find it amusing that Haskell uses a versioning number scheme that uses two
dot-separated major versions specifically to combat the emotional reaction
to major-version changes exhibited in this thread by Grant. With Haskell,
changing from (say) 0.6.3.2 -> 0.7.0.0 is a major API-breaking upgrade, but
it avoids the emotional reaction of having to go from 6.3.2 -> 7.0.0.

http://www.haskell.org/haskellwiki/Package_versioning_policy

Haskell also explicitly prohibits the useful practice of including version
tags like "a", "b", "rc" *because some tools couldn't sort them correctly*.
(This reminds me of those who advocate spaces over tabs, because some tools
can't deal with tabs correctly.) Rather than fix the tools, the Haskell
community removed non-numeric tags from the specification.

On the other hand, Oracle and Sun before them take the attitude that a jump
in Java's version number from 5 to 6 to 7 are only minor release changes,
and the Java community is quite happy to agree.



-- 
Steven

[toc] | [prev] | [next] | [standalone]


#76527

FromSteven D'Aprano <steve+comp.lang.python@pearwood.info>
Date2014-08-19 10:05 +1000
Message-ID<53f294e2$0$29970$c3e8da3$5496439d@news.astraweb.com>
In reply to#76480
Grant Edwards wrote:

> On 2014-08-17, Mark Lawrence <breamoreboy@yahoo.co.uk> wrote:
>> A blog from Nick Coghlan
>> http://www.curiousefficiency.org/posts/2014/08/python-4000.html that
>> should help put a few minds to rest.
> 
> I agree with the comments that the appellation for "simply the next
> version after 3.9" should be 3.10 and not 4.0.  Everybody I know
> considers SW versions numbers to be dot-separated tuples, not
> floating point numbers.

I consider versions to be *strings*. They include non-numeric components
such as "a", "b", "rc", so they aren't numbers. They're certainly not
floating point numbers, since they have a variable number of decimal
points. Although there is at least one unofficial standard for interpreting
version numbers (semantic versioning), the most popular by far is "whatever
I mean by it today" and the only reasonable interpretation of an arbitrary
software package's version "number" is as free-form text.

Given two version numbers for the same arbitrary package, X and Y, just
about the only thing you can be sure of is that if X < Y, Y is *probably*
newer.

 
> To all of us out here in user-land a change in the first value in the
> version tuple means breakage and incompatibilities.

*All* of us?

So... you're not a user of the Linux kernel?

http://www.linuxplanet.com/news/goodbye-linux-2.6-hello-linux-3.0.html

Or Java 5, 6, 7, 8.

http://en.wikipedia.org/wiki/Java_version_history

Or Firefox.

https://support.mozilla.org/en-US/questions/956361

(I believe that Firefox is now up to version 31, with version 32 due at
3:00pm and 33 due at 5:30pm.)

And not a Mac user either, I imagine, since Mac OS introduces major backward
incompatible changes to point releases. Mac OS version X tends to prefer
version *names* rather than numbers:

http://en.wikipedia.org/wiki/History_of_OS_X

which Debian-based Linux distros also tend to follow.

Or for that matter, not a Python user either:

https://docs.python.org/dev/whatsnew/2.0.html

Version 4.0, when it comes out, will merely be a return to past practices in
Python-land, which are quite similar to practices in many major software
packages. Version 3.0 was the anomaly.



-- 
Steven

[toc] | [prev] | [next] | [standalone]


#76531

FromChris Angelico <rosuav@gmail.com>
Date2014-08-19 10:30 +1000
Message-ID<mailman.13125.1408408228.18130.python-list@python.org>
In reply to#76527
On Tue, Aug 19, 2014 at 10:05 AM, Steven D'Aprano
<steve+comp.lang.python@pearwood.info> wrote:
> I consider versions to be *strings*. They include non-numeric components
> such as "a", "b", "rc", so they aren't numbers. They're certainly not
> floating point numbers, since they have a variable number of decimal
> points. Although there is at least one unofficial standard for interpreting
> version numbers (semantic versioning), the most popular by far is "whatever
> I mean by it today" and the only reasonable interpretation of an arbitrary
> software package's version "number" is as free-form text.
>
> Given two version numbers for the same arbitrary package, X and Y, just
> about the only thing you can be sure of is that if X < Y, Y is *probably*
> newer.

Let's say "version identifiers". The point of schemes like semver.org
is to make it possible to define the "X < Y" inequality between two
such identifiers. (There are similar schemes, such as that used by
Debian's package management. They're often broadly compatible.)

> Or Java 5, 6, 7, 8.
>
> http://en.wikipedia.org/wiki/Java_version_history

Are they major versions, or 1.5, 1.6, 1.7, 1.8? Or both?

> Or Firefox.
>
> https://support.mozilla.org/en-US/questions/956361
>
> (I believe that Firefox is now up to version 31, with version 32 due at
> 3:00pm and 33 due at 5:30pm.)

So true.

> And not a Mac user either, I imagine, since Mac OS introduces major backward
> incompatible changes to point releases. Mac OS version X tends to prefer
> version *names* rather than numbers:
>
> http://en.wikipedia.org/wiki/History_of_OS_X
>
> which Debian-based Linux distros also tend to follow.

With Debian distros, there is a version number as well as the name -
Wheezy (current stable) is Debian 7, currently showing 7.5, and the
previous version (Squeeze) is Debian 6. This more-or-less follows the
standard concept of major versions, as it's at the point of a new
release that breaking changes will be made.

There's a broad expectation in a lot of communities that the basic
"major.minor.rev" scheme will be followed. It's definitely not
universal, but it's the most popular convention by far (unless you
count "version numbers don't mean anything" as a convention).

ChrisA

[toc] | [prev] | [next] | [standalone]


#76533

FromTim Delaney <timothy.c.delaney@gmail.com>
Date2014-08-19 10:47 +1000
Message-ID<mailman.13127.1408409281.18130.python-list@python.org>
In reply to#76480

[Multipart message — attachments visible in raw view] — view raw

On 19 August 2014 00:51, Grant Edwards <invalid@invalid.invalid> wrote:

> On 2014-08-17, Mark Lawrence <breamoreboy@yahoo.co.uk> wrote:
> > A blog from Nick Coghlan
> > http://www.curiousefficiency.org/posts/2014/08/python-4000.html that
> > should help put a few minds to rest.
>
> I agree with the comments that the appellation for "simply the next
> version after 3.9" should be 3.10 and not 4.0.  Everybody I know
> considers SW versions numbers to be dot-separated tuples, not
> floating point numbers.
>
> To all of us out here in user-land a change in the first value in the
> version tuple means breakage and incompatibilities. And when the
> second value is "0", you avoid it until some other sucker has found
> the bugs and a few more minor releases have come out.
>

 No. A major version increase *may* introduce breakage and
incompatibilities. It does not mean that it *has* to introduce breakage and
incompatibilities. If the major version increase is documented as "just
being the next version" then there's no reason to avoid it - unless your
policy is "wait for the first patch release" i.e. never take major.minor.0
but always wait for major.minor.1.

What is more important is that minor and patch version increases should
avoid introducing breakage and incompatibilities wherever possible
(security fixes are one reason to allow incompatibility in a minor release).

BTW I agree with the idea that 4.0 would be an appropriate time to remove
anything that has been deprecated for the requisite number of versions.

Tim Delaney

[toc] | [prev] | [next] | [standalone]


Page 1 of 2  [1] 2  Next page →

Back to top | Article view | comp.lang.python


csiph-web