Live data from Hacker News

About Python 3

alexgaynor.net

51–60 of 358 posts

Re: About Python 3

#51
post #33

It's fascinating to compare this with ruby 1.9, released around the same time, but seemingly with a slightly better cost/benefit ratio, having nice new features and also significantly improved performance, and with ruby 1.8 being deprecated with a lot more speed and force. It got everyone to actually make the switch, and then ruby 2.0 came along, largely compatible and with a more improvements, and now ruby 2.1 seems…

> You could analogize it to Apple with OS 9 -> OS 10.9, versus Microsoft with people still running XP

No, you couldn't. The difference in upgrade rates between Windows and OS X is primarily due to their differing customer bases. Windows is very popular in enterprise, which avoids unnecessary upgrades in order to ensure compatibility with in-house software.

OS X, however, has almost no presence in enterprise, and consumers don't mind upgrades nearly as much, since the consumer software they use has to be compatible with all OS versions. Also, you can't buy Macs with old versions of OS X, whereas Microsoft makes it trivial to buy a new machine and install an older version of Windows.

Re: About Python 3

#52
I wonder why Django doesn't have the same strength (both technically and community) as Rails ? I think the philosophy "Everything is an object" makes sense actually, and in combination with functional programming built-in really makes Ruby is perfect choice for non-professional programmer (even woman) to love coding.

Re: About Python 3

#53
Python 3 is a different language from Python 2. Yes, they are _almost_ the same language, but they are far enough apart to keep people from making the switch. It feels closer to Perl 5 => 6 vs. Ruby 1.x => Ruby 2.x.

That's a gross over simplification, but it is closer to the truth than the Python 3 community likes to think.

I wonder: have there ever been a successful language rewrite, post critical pass, in the history of computer languages? If so, what lessons can be brought to the current Python 2/3 situation?

For myself, as a professional Python programmer, I like Python 3 a lot. But until a critical mass of PyPi moves over, it isn't worth the effort for most projects.

Edit: fixed a wrong word.

Re: About Python 3

#54

What is really needed is a 3to2. I have been very impressed with 2to3, the amount of work it does is pretty impressive. But as somebody who tends and prefers to work in python 3 but often needs my scripts to run in python 2, I have no choice but write those in python 2. I can see the same dilemma for somebody who writes an open source library and hope for as much usage as possible.

3to2: https://wiki.python.org/moin/3to2

Re: About Python 3

#55
post #25

Earlier quoted context omitted.

> but you don't have out of the box retro-compatibility so that pretty much kills it right there. I don't know if that's necessarily a foregone conclusion. Scala releases aren't always/usually backwards-compatible, and you'd be hard-pressed to find people still using much older versions.

Scala releases are usually not BINARY backwards compatible. Very different from SOURCE backwards compatible.

Scala also was often not source compatible during 2.7 -> 2.8 because of the huge changes in the standard library.

Re: About Python 3

#56

I like Python 3. I prefer it. It is better to program in than 2.x. Iterators everywhere, no more unicode/encoding vagueness, sub-generators and more. It is a much better language and it's hard to see how it could have evolved without a clean break from its roots. However it has been interesting to follow over the last five years. It has been a sort of, "what if p5 broke the CPAN," scenario played out in real-life. Br…

Exactly

I agree 100% with your first paragraph.

But some things are lacking. Django is there, and it works great, but you hit a dead end with some libraries (like MySQL - even though it seems there are alternatives).

So in the end you don't make the move because you're afraid of needing something that may not be there.

Re: About Python 3

#57
post #38

This seems like a reasonable perspective, but I wonder how much will change when Python 3 starts shipping with Linux distributions (and probably OS X eventually). It won't change anything for the shop that has a million LOC, but it might start to budge that 2% number.

GNU/Linux distros have been shipping Python 3 for ages now.

That was sloppy of me. I meant as the only/default python.

Re: About Python 3

#58
post #28

Earlier quoted context omitted.

This sounds remarkably like Perl 5/6.

Perl 6 is vaporware. Python 3 is here, it's widely supported, it's faster than Python 2.7, and while Guido didn't do us any favors with his migration strategy, I don't see what the big deal is. Python 3.3 makes writing code that is compatible with both almost trivial. People aren't using Python 3 enough because it's not the default in Debian/Ubuntu. That's about to change with Ubuntu 14.04. I expect that to tip the s…

> Perl 6 is vaporware

Perl 6 is not vaporware, you can run it today:

http://perl6.org/compilers/features

Is it 100% feature complete or fast? No. But there working code and new, stable releases on a monthly basis.

Re: About Python 3

#60
post #42
post #16

There is no meaningful performance increase to go to a backwards incompatible version? Three letters: DOA. if not performance then at least we'd need some crazy new feature like good multi threading or perhaps running on a new relevant platform (say ios or android). Otherwise we will be 2.X forever.

It's only when you start doing unicode seriously that you see how broken python2 is. It is not unworkable - but it's a mess that is hard to resolve, and keeps biting you in old code paths that weren't tested with character from this subset rather than that subset. So, Python 3's killer feature is reasonable Unicode support.

The problem is that reasonable unicode support is a non-issue in many areas were python had a strong competitive advantage over other languages (e.g. data analysis, scientific python).

I don't know much about unicode myself, but some people I trust like Armin Ronacher have showed how some python3 are still heavily broken w.r.t unicode (http://lucumr.pocoo.org/2013/7/2/the-updated-guide-to-unicod...).

Post reply on HN