Live data from Hacker News

Python 3.4 Beta 1 Released

python.org

11–20 of 29 posts

Re: Python 3.4 Beta 1 Released

#11

Been using python for 7+ years now. Does everyone really think people are willing to adopt 3.x anything...? The reality of it is every place I have worked (and currently working at). Is bound by 3rd party tools and what ever interpreter they built against. Mostly that 2.6,2.7 right now. And it does not look like anyone will be switching anytime soon. Features look great, cant wait to "play" with them. But that;s abou…

I've done some internal work written entirely in Python 3.3. We largely did it as a "proof of concept" to try out the new language. And yeah, we did indeed have dependencies. No complaints.

Going back to 2 is kind of a bummer when you add up all the little niceties you get with 3(.3): unicode native strings, smarter import system, yield from, keyword-only arguments... at least those were the features I used. It has some other stuff that I never got around to touching.

Re: Python 3.4 Beta 1 Released

#12

Been using python for 7+ years now. Does everyone really think people are willing to adopt 3.x anything...? The reality of it is every place I have worked (and currently working at). Is bound by 3rd party tools and what ever interpreter they built against. Mostly that 2.6,2.7 right now. And it does not look like anyone will be switching anytime soon. Features look great, cant wait to "play" with them. But that;s abou…

I certainly can't speak to big enterprise companies, but we've used Py3 in production at the last 2 startups I've worked at, and I use it extensively in my own side projects.

I certainly understand it can be somewhat tedious to convert legacy projects -- I've had to do it a few times myself -- but for any new dev, I'd highly recommend using Python3.

It's come to the point that Python3 is the assumed default for any new project - If someone wants to use Py2 for a project, they better have a compelling reason.. Almost every library we'd want uses Py3, or there's an alternative that does (such as PIL->Pillow).

I find it rather annoying when I go back to a Python2 project and have to constantly jump through hoops to avoid what I know are solved problems :/

Admittedly, my experiences (like yours) are anecdotal - But to answer your question, from what I've seen, Python3 is used in production quite a bit.

Re: Python 3.4 Beta 1 Released

#13

Been using python for 7+ years now. Does everyone really think people are willing to adopt 3.x anything...? The reality of it is every place I have worked (and currently working at). Is bound by 3rd party tools and what ever interpreter they built against. Mostly that 2.6,2.7 right now. And it does not look like anyone will be switching anytime soon. Features look great, cant wait to "play" with them. But that;s abou…

Everyone is aware of this reality. Everyone was aware of this reality when the transition was planned. It's been years now and we're still maybe halfway through the transition and that's ok.

Re: Python 3.4 Beta 1 Released

#14

Wow, I haven't heard of pathlib [1] before now, but it looks awesome! In particular, using the slash operator to join paths is brilliant. >>> p = PurePath('/etc') >>> p / 'init.d' / 'apache2' PurePosixPath('/etc/init.d/apache2') [1]: http://docs.python.org/3.4/library/pathlib.html

The precursor path library [1] by J. Orendorff had the slash operator overloading trick a decade (or more) ago.

[1] https://pypi.python.org/pypi/path.py/1.2

Re: Python 3.4 Beta 1 Released

#15

Been using python for 7+ years now. Does everyone really think people are willing to adopt 3.x anything...? The reality of it is every place I have worked (and currently working at). Is bound by 3rd party tools and what ever interpreter they built against. Mostly that 2.6,2.7 right now. And it does not look like anyone will be switching anytime soon. Features look great, cant wait to "play" with them. But that;s abou…

I don't understand why you are being downvoted for your data-point. I've not seen 3.x used anywhere in anger either. But I've seen plenty of people embarking on new 2.7 projects. That's just my data-point too.

Re: Python 3.4 Beta 1 Released

#16
post #8

Wow, I haven't heard of pathlib [1] before now, but it looks awesome! In particular, using the slash operator to join paths is brilliant. >>> p = PurePath('/etc') >>> p / 'init.d' / 'apache2' PurePosixPath('/etc/init.d/apache2') [1]: http://docs.python.org/3.4/library/pathlib.html

No one objected to using "pure" instead of the more common "abstract" (which is the actual antonym of "concrete") ?? Why do people do this?

Concrete paths inherit from pure paths - this would be quite strange using antonyms. This isn't like an "abstract" base class. It's a full class on its own, which is extended by another.

Anyway, I think it's meant to be "pure" like pure functions, generally having no side effects or external inputs.

https://en.wikipedia.org/wiki/Pure_function

Re: Python 3.4 Beta 1 Released

#17

Wow, I haven't heard of pathlib [1] before now, but it looks awesome! In particular, using the slash operator to join paths is brilliant. >>> p = PurePath('/etc') >>> p / 'init.d' / 'apache2' PurePosixPath('/etc/init.d/apache2') [1]: http://docs.python.org/3.4/library/pathlib.html

I hadn't heard of it either, although I have played with Twisted's FilePath[1] class previously.

I didn't really understand the attraction of an OO filesystem API until I actually used it in anger and realised how handy it was that all the relevant functions were on the object I was messing with, instead of arbitrarily divided between the "os" and "os.path" modules.

Some (hopefully constructive) suggestions for the pathlib API:

- Python 3 dicts ditched .iterkeys(), .itervalues() and .iteritems(); why does pathlib use the clumsy .iterdir() when it could just be called .children?

- Like many Python programmers (I assume), I'm more familiar with POSIX command-line tools than I am with POSIX APIs. Command-line tools generally have an option to control whether they dereference symlinks (cp -L, find -L, etc) rather than having a separate. parallel tool that does the same thing. I think it would be neater if .lstat() and .lchmod() were removed in favour of a "follow_symlinks" parameter to .stat() and .chmod() (and .is_dir() and .touch() and .owner(), and, and, and..)

- If you're going to have convenience functions that pick out interesting bits from the .stat() return value, I would find .size() far more practical than .is_socket()

[1]: http://twistedmatrix.com/documents/current/api/twisted.pytho...

Re: Python 3.4 Beta 1 Released

#18
post #16
post #8

Earlier quoted context omitted.

No one objected to using "pure" instead of the more common "abstract" (which is the actual antonym of "concrete") ?? Why do people do this?

Concrete paths inherit from pure paths - this would be quite strange using antonyms. This isn't like an "abstract" base class. It's a full class on its own, which is extended by another. Anyway, I think it's meant to be "pure" like pure functions, generally having no side effects or external inputs. https://en.wikipedia.org/wiki/Pure_function

i think so too. like it says in the docs: "Regardless of the system you’re running on, you can instantiate all of these classes, since they don’t provide any operation that does system calls." http://docs.python.org/3.4/library/pathlib.html#pure-paths

Re: Python 3.4 Beta 1 Released

#19

Been using python for 7+ years now. Does everyone really think people are willing to adopt 3.x anything...? The reality of it is every place I have worked (and currently working at). Is bound by 3rd party tools and what ever interpreter they built against. Mostly that 2.6,2.7 right now. And it does not look like anyone will be switching anytime soon. Features look great, cant wait to "play" with them. But that;s abou…

I don't understand why you are being downvoted for your data-point. I've not seen 3.x used anywhere in anger either. But I've seen plenty of people embarking on new 2.7 projects. That's just my data-point too.

I understand why GP is being downvoted. He presents his anecdote as a general trend, dismissing python3 and its features as play without providing proofs.

Re: Python 3.4 Beta 1 Released

#20

Been using python for 7+ years now. Does everyone really think people are willing to adopt 3.x anything...? The reality of it is every place I have worked (and currently working at). Is bound by 3rd party tools and what ever interpreter they built against. Mostly that 2.6,2.7 right now. And it does not look like anyone will be switching anytime soon. Features look great, cant wait to "play" with them. But that;s abou…

Well, some people are bound to already installed interpreters. And those come with Linux distros. Many of which will be using Python 3 as the default for their 2014 releases (Fedora, Ubuntu, Arch). Plus these distributions are helping/pushing 3rd party Python developers to port to Python 3.

So 2014 really looks like Python 3 mass adoption.

Post reply on HN