Live data from Hacker News

Most popular Python packages now support Python 3

py3readiness.org

101–110 of 166 posts

Re: Most popular Python packages now support Python 3

#101
post #64

Earlier quoted context omitted.

Tedious? How so? Because there is no more Python 2 vs 3 anymore. Whoever hasn't migrated will be stuck using deprecated libraries and outdated tools. Yes, Python 3 was initially a risky endeavor, but in the past couple of years it has cemented its position as the true and only version of Python.

For me, completely outside the Python community, I really can't fathom how migrating to the next major version of the language can protract for so long... And I have been in some painful migrations in my life... Java 1.4 to 5 in a >1M loc "enterprise" application. From an object oriented database to oracle in the same application. But it didn't last for close to 10 years. It's simply a complete nonsense to my eyes.

I think the main reason was a lack of agreement between the community and the language maintainer(s) (see: Guido the BDFL). I highly doubt something like this would have happened if the community had been involved. The language maintainers themselves have clarified that introducing breaking changes was a mistake in hindsight and that it will never happen again.

Anyways, the fiasco is over and Python 3 has emerged as the victor, so there really is no use discussing the issue anymore imo.

Re: Most popular Python packages now support Python 3

#102
post #101

Earlier quoted context omitted.

For me, completely outside the Python community, I really can't fathom how migrating to the next major version of the language can protract for so long... And I have been in some painful migrations in my life... Java 1.4 to 5 in a >1M loc "enterprise" application. From an object oriented database to oracle in the same application. But it didn't last for close to 10 years. It's simply a complete nonsense to my eyes.

I think the main reason was a lack of agreement between the community and the language maintainer(s) (see: Guido the BDFL). I highly doubt something like this would have happened if the community had been involved. The language maintainers themselves have clarified that introducing breaking changes was a mistake in hindsight and that it will never happen again. Anyways, the fiasco is over and Python 3 has emerged as…

>The language maintainers themselves have clarified that introducing breaking changes was a mistake in hindsight and that it will never happen again.

What are you referring to? I haven't heard or read any core developers say anything close to 'introducing breaking changes was a mistake in hindsight'.

Re: Most popular Python packages now support Python 3

#103
post #12

Yup at this point there is no reason to not use Python 3 for new projects. What I'm finding actually is that some companies that have their codebase in Python 2 have actually started migrating to Golang rather than Python 3, because of the increased performance benefits. I'm kind of sad about this, but I think that Golang will eventually replace Python as the go-to back-end server language (maybe even data processing…

As much as a I like Go in general, there are two pythonic things that, IMO, really should go into the next major revision. 1: sets; in this day and age, not having sets as native, stdlib-provided data types is simply unacceptable.[ß] 2: The ease of python's "in" keyword; being able to test for a key in a map (or set!) without any indirection is crucial ß: granted, IIRC python moved sets into native stdlib types only…

> granted, IIRC python moved sets into native stdlib types only somewhere in 2.x but better late than never

Built-in set objects were added in Python 2.4:

https://docs.python.org/2/whatsnew/2.4.html#pep-218-built-in...

Re: Most popular Python packages now support Python 3

#104
post #101

Earlier quoted context omitted.

I think the main reason was a lack of agreement between the community and the language maintainer(s) (see: Guido the BDFL). I highly doubt something like this would have happened if the community had been involved. The language maintainers themselves have clarified that introducing breaking changes was a mistake in hindsight and that it will never happen again. Anyways, the fiasco is over and Python 3 has emerged as…

>The language maintainers themselves have clarified that introducing breaking changes was a mistake in hindsight and that it will never happen again. What are you referring to? I haven't heard or read any core developers say anything close to 'introducing breaking changes was a mistake in hindsight'.

I recall reading something along those lines, but I could be mistaken!

Re: Most popular Python packages now support Python 3

#105
post #85

Earlier quoted context omitted.

Why on earth do people downvote that? I want a language that isn't going to change. Every single other language community seems to understand that, but something about it pisses off Python people.

You're claiming to know the future of Python better than "Python people" know the future of Python. Python has changed incompatibly once in 26 years, and never plans to do it again, yet you're making it sound like an ongoing pattern. What language are you going to run to that has that kind of track record?

POSIX sh?

Re: Most popular Python packages now support Python 3

#106
post #78
post #67

Earlier quoted context omitted.

Yes. My friend is employed at Redhat and he told me that he also works on porting 2 to 3 (although not fulltime), and it is a huge amount of work. They work on it several years already, and it is still far from finished.

It's that why the default version of Python on RHEL 7.x is 2.7 instead of 3.x?

Also, rhel 7 is years old now and they almost certainly won't change something that big until rhel 8.

Re: Most popular Python packages now support Python 3

#107

I'm planning to spend my free time in the next couple of months learning Python, should I only learn Python 3?

As someone who asked the same question a few years back (and gladly received the answer: Python 2), I'd suggest you learn both. Does not matter which language you start in, as long as you can write Python 2/3 compatible code. Perhaps starting with Python 2 (and the fantastic "LearnPythonTheHardWay") helps with this. You'll just have to unlearn a few Py2 warts like xrange and using print statements with ellipses. You…

> I'd suggest you learn both.

I'd suggest OP learns Python 3 and try really hard not to look at Python 2 ever, which hopefully shouldn't be too hard in 2017.

> as long as you can write Python 2/3 compatible code

Maintaining a Python 2 and 3 compatible codebase in a PITA. OP wants to learn a new language, presumably to build things with it. But your advice is that they acquire insight of all the mistakes of a language that was released 7 years ago (that's for 2.7, 2.0 was release in 2000) and will reach end-of-life in 2 years. I'd really like to understand why in the world you would want to learn Python 2 and its “warts“, to then discover that all this stuff are just unnecessary pain points that were removed/refactored/cleaned up in Python 3. In my opinion, Python 2 and 3 are two different languages and should be treated like so.

> [not] doing your users a favor, if you go exclusively Python 3

Actually you are. If you start a project today and make it Python 2 + 3, you are forcing your users (most of whom in 2017 would be proud Python 3 users anyway) to cope with a. all the bugs introduced by the compat code you have to write and b. the delayed releases/bugfixes caused by the subtle Python 2/3 discrepancies you'll face one day or the other.

I will make no comment on the IE6 comparison: this isn't about corporate employees or banking apps from the 90's.

Re: Most popular Python packages now support Python 3

#108
post #85

Earlier quoted context omitted.

Why on earth do people downvote that? I want a language that isn't going to change. Every single other language community seems to understand that, but something about it pisses off Python people.

You're claiming to know the future of Python better than "Python people" know the future of Python. Python has changed incompatibly once in 26 years, and never plans to do it again, yet you're making it sound like an ongoing pattern. What language are you going to run to that has that kind of track record?

30 years later, scheme is still scheme. A different report has come out, and some compilers choose to implement it. But the language hasn't changed. See my point?

Re: Most popular Python packages now support Python 3

#109

I would like to know if fellow HNers who regularly code in Python are using f-strings and type hints in your production code or otherwise. I often find myself inclined to use type hinting.

I don't think I could've survived engineering in Python without type hints. I came from a big 5 and engineering in C++ for several years and had to run a team of 5 not-so-great engineers in a python codebase. The hit that dynamic typing causes to readability, maintainability, bug risk, etc is _huge_, and type hinting goes some way towards fixing that.

Big 5?

Re: Most popular Python packages now support Python 3

#110
post #96
post #24

Earlier quoted context omitted.

Sets don't need to be native in languages that are both fast and have a proper type system. For example, rust and OCaml have a standard set in their stdlib, but it's not builtin. Of course, go lacking generics makes it impossible to implement a decent set type in it.

Set literals are nifty. If they're in stdlib rather than built-in, they can't be literal syntax.

Unless the language has macros.
Post reply on HN