From: Lie Ryan on
On 06/27/10 02:33, Thomas Jollans wrote:
>> >
>> > And here's the disadvantages:
>> >
>> > -The Python 3 syntax actually requires more keystrokes.
> Typically ONE extra character: the closing bracket. The opening bracket
> can replace the whitespace previously required.

What really matters is not the number of extra characters, but the
number of keystrokes. On a typical keyboard, producing a '(' requires 2
keystrokes (Shift + 9) and another 2 keystrokes for ')' (Shift + 0).
Also, spacebar is a key in the home position of the thumb, while 9 and 0
are on the top row of the weaker fingers (ring and little finger).

All in all, the new syntax requires 4 keystrokes, none of which are home
keys; compared with old syntax which requires 1 keystroke in thumb's
home position.

Producing print function takes a little bit more effort than producing a
print statement.
From: Stefan Reich on
Stephen.

Stephen Hansen schrieb:
> If your biggest complaint is the print statement/function -- man,
> you're looking small, and are in for a world of hurt when you get to
> the bytes/[string|unicode] split hits.
No, I'm not "looking small". I'm thinking big. I sometimes use seemingly
small examples to illustrate a bigger problem which clearly seems to
exist somewhere on your side.

I'm also not in for a world of hurt, I'm glad to say.

It really seems to me that you are an intellectually aggressive person
that is not much worth talking to.
> There's no "as long as" -- its done. Python 2 is over with 2.7.
Well, then it is NOT done yet. And of course there is an "as long as".
> The incompatibilities with Python 3 are intentional,
What? For what reason? It seems that this is a pure power grabbing
attempt. Forcing people to decide where, with proper project management,
no hard decision of that kind would be necessary.
> and although slow, momentum for migration to Python 3 does in my
> anecdotal experience seem to be continuing steady -- so eventually,
> Python 3'll be the norm.
It may or not be the norm eventually; in either case, that doesn't
explain or excuse the counterproductive choices made with Python 3.
> Not that Python 2.7 will then die completely, I'm sure.
Oh, so you are once again contradicting your earlier statement that "it
is done". Seems to me you are trying to kill Python 2 a bit too fast.
> The pydev's have even stated it'll have a longer then usual bugfix
> maintenance period, recognizing some people will be on the Python 2
> platform for years still.
Hear hear! So we do exist, and we're not going away so quickly either.
> --Stephen
>
> P.S. Am I the only one who has never, ever, even *seen* a 'print'
> statement in non-toy or non-bash-script-style code in any application
> or even third-party library I looked at? Except, on occasion, for
> quick and dirty debugging. Perhaps because I'm more used to
> cross-platform to windows development, where a stray print can
> actually break the entire application (depending on contexts, if one
> is run under a service or sometimes even pythonw)
God man, you need to stop bashing a perfectly good statement in an
attempt to make you look like a "smart programmer" who "doesn't use
print" in his "serious applications".

Shaking my head,
Stefan
From: John Bokma on
Stephen Hansen <me+list/python(a)ixokai.io> writes:

> No, "I'm" not trying to kill Python 2 at all. My current estimation is
> that I'll be using it for at least the next three years -- library
> conversion momentum is there, but its happening faster in the pure
> Python libraries then a few critical C extensions I rely upon.

Based on my experience with Perl usage [1] I guess that Python 2 will be not
dead for 5 - 10 years.

> Done means finished: complete, not going to be advanced any further.

I think that's not true. If enough people want to support Python 2 it
might be possible to advance Python 2.

Personally I think it's good to clean up the closet now and then. But
probably has also to do with me being "new" to the language and not
having to port 101 Python programs to 3 :-D.

[1] I know several people who're still on Perl 5.0xxx (!)

--
John Bokma j3b

Hacking & Hiking in Mexico - http://johnbokma.com/
http://castleamber.com/ - Perl & Python Development
From: Peter Kleiweg on
Stephen Hansen schreef op de 26e dag van de zomermaand van het jaar 2010:

> There were various serious problems with Python 2 which could not be fixed in
> a backwards compatible way; we've been living with them for years and years
> now, and it was decided that a single break to go back and correct them would
> be preferable to keeping them forever.
>
> From the fact that "strings" in Python 2 ended up doing double-duty as both
> octet sequences and arrays of character text, to yes the syntactical

I have been using Python 3 for quite some time now, and this
string thing in Python 3 has caused me more headaches than it
ever did in Python 2. Though it seems nice in theory to know
exactly what type of bytes or string you have, you're working
with a standard library that often doesn't know how to handle
this distinction. The e-mail module is broken, as well as the
cgi module. When I read a file from a zip archive, I can't open
it as a binary stream, but I get binary anyway. I can't call
os.system with a binary string, only with a text string, and
that's encoded into utf-8, no matter what encoding I need.

Some basic text string functions seem to be working on byte
string functions as well, but sometimes they don't, and there's
no rhyme in why it does or doesn't.

>>> 'abcd'[0] == 'abcd'[:1]
True
>>> b'abcd'[0] == b'abcd'[:1]
False

Why????

In the end it may be all better, but at the moment, still a lot
of work has to be done to fix the standard library. And then
there's all those packages out there, that have to be ported...
I still can't use numpy in Python 3.


--
Peter Kleiweg L:NL,af,da,de,en,ia,nds,no,sv,(fr,it) S:NL,de,en,(da,ia)
info: http://www.let.rug.nl/kleiweg/ls.html
From: Stephen Hansen on
On 6/26/10 11:41 AM, John Bokma wrote:
> Stephen Hansen<me+list/python(a)ixokai.io> writes:
>
>> No, "I'm" not trying to kill Python 2 at all. My current estimation is
>> that I'll be using it for at least the next three years -- library
>> conversion momentum is there, but its happening faster in the pure
>> Python libraries then a few critical C extensions I rely upon.
>
> Based on my experience with Perl usage [1] I guess that Python 2 will be not
> dead for 5 - 10 years.

I wouldn't expect it to be dead for a long time, either. There's too
much written in it, in broad areas of usage-- and if something just
works people may not be inclined to change. But then again, I know of
more then one area where people are using Python 1.5.2, and even more
who haven't moved past 2.3 and don't plan to anytime soon.

There's always going to be people left behind; the 2->3 transition just
might leave a bigger clump. But I still do suspect most will make that
transition if they're in an area that's under active development and not
just maintenance.

>> Done means finished: complete, not going to be advanced any further.
>
> I think that's not true. If enough people want to support Python 2 it
> might be possible to advance Python 2.

I stand by the statement-- but do acknowledge that its possible for it
to be revived in the future, if enough people end up wanting to. Be it
by a fork, or if python-dev changes their mind.

But as it stands, 2.7 is end-of-line for the 2.x series. I think calling
it "done" is pretty accurate :)

But I again want to make a point, I'm saying done, not dead. Python 2 is
alive and vibrant, and I quite look forward to upgrading to 2.7 where I
can (sadly, in many places I'm stuck on 2.4). The community around
Python 2 remains active and interested, even as more and more start
diverting attention to Python 3 compatibility / porting... Python 2
isn't being abandoned by anyone yet.

But that doesn't mean its going to *go* anywhere from here. This is all
I was trying to say with 'done'.

> Personally I think it's good to clean up the closet now and then. But
> probably has also to do with me being "new" to the language and not
> having to port 101 Python programs to 3 :-D.

I'm hoping this is just a one-time thing; that we'll never see a Py4k
event. But, I'm also happy this was evolutionary and not a major rewrite
-- it feels to me like breaking a bone to set it It hurts now, but
everything will grow better after.

--

... Stephen Hansen
... Also: Ixokai
... Mail: me+list/python (AT) ixokai (DOT) io
... Blog: http://meh.ixokai.io/