Live data from Hacker News

Python 3.0: What's The Point?

mooseyard.com

11–20 of 33 posts

Re: Python 3.0: What's The Point?

#11
post #5
post #2

Sounds a bit like all the VB Classic guys moaning about VB.NET. I joined in a bit myself (mind .NET 1.0 was pretty bad) but now quite happily work in C#, VB.NET and VB6 - whatever makes the customer happy. Many thousands of VB programmers (hundreds of thousands?) bridged the gap and a great many work in both versions just like me. It just is not a problem.

Nope, thousands at best. Most abandoned Microsoft. Or better said, Microsoft abandoned them. Choosing to release an incompatible set of new languages with no upgrade path was hint enough that Microsoft had purely it's own interests at heart and not that of the lowly VB and ASP developers who made their OS and web server successful. Most took the hint and are now happily supporting Java, Ruby, PHP, Python and Perl web…

I think the stats show that VB.NET is the most popular .NET language - so I think we are talking many more than thousands.

Re: Python 3.0: What's The Point?

#12
post #9

Python3 won't be standard until it's adopted as the main python of several widespread linux distros and available in a clean, batteries included way for OSX and all 36 flavours of windows. Bitching about py3k is basically whining about being forced to learn new things. The one question I have is are people going to start using different filename conventions? I could see temporarily associating .py3 with a /usr/local/…

The ideal approach is "#!/usr/bin/env python3.0".

Re: Python 3.0: What's The Point?

#13
post #9

Python3 won't be standard until it's adopted as the main python of several widespread linux distros and available in a clean, batteries included way for OSX and all 36 flavours of windows. Bitching about py3k is basically whining about being forced to learn new things. The one question I have is are people going to start using different filename conventions? I could see temporarily associating .py3 with a /usr/local/…

The ideal approach is "#!/usr/bin/env python3.0".

If you install Python 3 with "make fullinstall" then the binary will be named just "python". I've always used just "#!/usr/bin/env python" and just kept track of what version of Python a collection of code was targeted for. Changing all scripts from "#!/usr/bin/env python3.0" to ""#!/usr/bin/env python3.1" and so on is too cumbersome.

But it depends upon how you manage your code - whether it's just a few loose scripts, part of a larger project, a web app or a desktop app or a command-line script, or what your deployment and install processes looks like, etc. etc. I usually install my Python scripts with Buildout these days, so I let Buildout autogenerate the shebangs to point to the required Python installation.

Re: Python 3.0: What's The Point?

#14
post #9

Python3 won't be standard until it's adopted as the main python of several widespread linux distros and available in a clean, batteries included way for OSX and all 36 flavours of windows. Bitching about py3k is basically whining about being forced to learn new things. The one question I have is are people going to start using different filename conventions? I could see temporarily associating .py3 with a /usr/local/…

As soon as ActiveState do it, basically. Having identical ActivePython (or ActiveTcl, or even ActivePerl) on all of Solaris, Linux, OSX and Windows just makes things so much easier.

Me, I'm going to yum up those dictionary comprehensions and that OCaml-style pattern matching as soon as I can. Tasty!

Re: Python 3.0: What's The Point?

#15
post #9

Python3 won't be standard until it's adopted as the main python of several widespread linux distros and available in a clean, batteries included way for OSX and all 36 flavours of windows. Bitching about py3k is basically whining about being forced to learn new things. The one question I have is are people going to start using different filename conventions? I could see temporarily associating .py3 with a /usr/local/…

The ideal approach is "#!/usr/bin/env python3.0".

That solves one slice of the problem, now how do I distinguish between waycoolscript.py written for python3.0 and waycoolscript.py for python2.4?

I could live with *.py3 for a few years (remember php3?) but it's kind of a wart. And the thing I like about python is the core teams assiduous avoidance of warts.

Re: Python 3.0: What's The Point?

#16
post #10
post #2

Sounds a bit like all the VB Classic guys moaning about VB.NET. I joined in a bit myself (mind .NET 1.0 was pretty bad) but now quite happily work in C#, VB.NET and VB6 - whatever makes the customer happy. Many thousands of VB programmers (hundreds of thousands?) bridged the gap and a great many work in both versions just like me. It just is not a problem.

Isn't VB.NET lots faster than VB by virtue of targeting a fully blown JITing VM? That's a damn good "yes, but".

No, regular VB6 was compiled.

Re: Python 3.0: What's The Point?

#17
post #5
post #2

Sounds a bit like all the VB Classic guys moaning about VB.NET. I joined in a bit myself (mind .NET 1.0 was pretty bad) but now quite happily work in C#, VB.NET and VB6 - whatever makes the customer happy. Many thousands of VB programmers (hundreds of thousands?) bridged the gap and a great many work in both versions just like me. It just is not a problem.

Nope, thousands at best. Most abandoned Microsoft. Or better said, Microsoft abandoned them. Choosing to release an incompatible set of new languages with no upgrade path was hint enough that Microsoft had purely it's own interests at heart and not that of the lowly VB and ASP developers who made their OS and web server successful. Most took the hint and are now happily supporting Java, Ruby, PHP, Python and Perl web…

I think MS misjudged its audience there (a rare stumble for them). Visual C++ people thought of their work as code and expected to have to change it for a new version. For them the transition to managed C++ or C# was natural. Visual Basic people thought of their work as documents and were as surprised as if MS had released version of Word that couldn't read documents from the previous version.

Re: Python 3.0: What's The Point?

#19
post #6

Anyone have any insight on the comment about Python 3 being 10% slower?

The net result of the 3.0 generalizations is that Python 3.0 runs the pystone benchmark around 10% slower than Python 2.5. Most likely the biggest cause is the removal of special-casing for small integers. There’s room for improvement, but it will happen after 3.0 is released! http://docs.python.org/3.0/whatsnew/3.0.html

Re: Python 3.0: What's The Point?

#20
post #6

Anyone have any insight on the comment about Python 3 being 10% slower?

From a comment in the article:

> 3.0 is 10% slower because of the change from ints to longs. If you read it carefully, they mention that there is space for improvement, but they want to have it out so people can start to use and see the differences. Release early, release often (and it took 3 years to get there, so better do this once and for all.)

Post reply on HN