Live data from Hacker News

Why I'm Making Python 2.8

naftaliharris.com

111–120 of 392 posts

Re: Why I'm Making Python 2.8

#111

Earlier quoted context omitted.

Benefits? Unicode. Async. Extended library. Required keywords. syntax inprovements (lots of m, many more than just the removal of the print statement). Type hinting.

> Benefits? I meant I don't see any benefits for me , not benefits for other people. I assumed that was clear; sorry if it wasn't. > Unicode. Yeah, but some people have still been living without the changes, and it's hardly enough of a reason on its own (for me anyway) when there's other things I hate about the language. > Async. It's a nice feature, yeah. I can live without it, as people have for many years. Maybe i…

Well, things change, especially in tech. For better or worse, but most of the time for the better.

You should read some changelogs of past python 3 releases. 3.6, for example, has ordered dicts by default. Which is quite convenient when you need to write test testing a small dict with two items for example.

I like driving an old muscle car, most of m look beautiful and bring me everywhere i want. But damn, those new cars changed a lot and are much more comfortable. (But they do break as much ;))

Re: Why I'm Making Python 2.8

#112

What about contributing towards a project which enables python2 code to run in python2? Seems like this would help the move to python3 overall... Something like this? http://python-future.org/translation.html

> What about contributing towards a project which enables python2 code to run in python2?

Surely that already exists?

Re: Why I'm Making Python 2.8

#114

Earlier quoted context omitted.

> give me unicode support in python 2 Nope. Can't be done without getting Python 3 either way, because Python 3's text model is not compatible with Python 2's . That is why the core team allowed the other breaking changes, because software was going to be broken in the first place.

not entirely true - http://python-future.org/unicode_literals.html it's not 100% seamless, but its almost there.

> Changing to `unicode_literals` will likely introduce regressions on Python 2 that require an initial investment of time to find and fix. The APIs may be changed in subtle ways that are not immediately obvious.

Unless you're willing to put in the time and energy to extensively test, this is basically a recipe for disaster. You're basically paying at least 80% of the cost of a full Py2 -> Py3 port (since looking for regressions is a huge part of that cost), for only a fraction of the benefit.

Re: Why I'm Making Python 2.8

#115

Earlier quoted context omitted.

> give me unicode support in python 2 Nope. Can't be done without getting Python 3 either way, because Python 3's text model is not compatible with Python 2's . That is why the core team allowed the other breaking changes, because software was going to be broken in the first place.

not entirely true - http://python-future.org/unicode_literals.html it's not 100% seamless, but its almost there.

As the page notes, many Py2 APIs are completely broken with unicode literals, some noisily and others silently (due to implicit ascii encoding/decoding) leading to hard to diagnose regressions in the codebase under Python 2.

I think leveraging PEP414 and carefully using bytes, unicode or "native" literals is a much more resilient mode of operation.

Re: Why I'm Making Python 2.8

#116
As a Python 2.7 project why would I trust more to this unofficial version with a lot of backported code compared to the tried and tested 2.7 to 3 route?

What would happen with my python 2.8 when it needs to be converted to the official python 3?

Re: Why I'm Making Python 2.8

#117
post #79

Earlier quoted context omitted.

What about not spending time and money and just keep using python 2 for software that already uses it. And only use python 3 for new code bases.

This is how you end up still running fixed-format Fortran code in 2016. If your software is being actively maintained, it's time to move to Python 3.

This is how you keep using those efficient, numerically-stable subroutines written by a smart guy who retired 20 years ago in your new code. Unlike Python, Fortran has managed to add significant new features without breaking old code.

Re: Why I'm Making Python 2.8

#118
post #72

Earlier quoted context omitted.

This approach could not have worked for modernizing python. The whole point of the Python 3 thing was to be able to remove warts in the language that could not have been fixed without breaking backwards compatibility. One core part of this is unicode support -- Python had a horrible story for international text before this. The fact that there are some parts of "modern" Python which could have been implemented in Pyt…

Python 3 fixes no fundamental issues with python 2 and introduced far more warts than it removed. GIL is still there, crummy runtime is still there and unicode is now an even greater mess. I really wonder how many people who bang on about unicode actually have a good grasp of unicode and text processing because python3's unicode design is obviously terrible. I can now access or count code points in O(1) (neither of w…

It most certainly fixes support for Unicode on Windows in terms of filesystems paths, OS function boundaries and the console. Some of these fixes have even taken until 3.6 to get implemented.

As someone who writes cross-platform code, Python 3 was a breath of fresh air after fumbling around in the dark with Python 2.

Re: Why I'm Making Python 2.8

#119

Python programmers and companies with python code should spend the time and effort to move to python 3 instead of spending that time and effort to backport stuff to python 2 because python 2 is deprecated and the future is python 3. Python 3 I think people and businesses with python 2 code would be better off moving their code bases to python 3 instead of doing things like this.

I should add that in my mind this is akin to working around a design flaw instead of refactoring and modernizing and upgrading. The python deva have provided numerous tools one of which is the 2to3 tool for simple things.

Re: Why I'm Making Python 2.8

#120
post #18

The worst thing about open source is that people can do stupid stuff with your software. If you're going to create this abomination, at least do us all a favour and DON'T call it Python. Call it Retardython or something. I don't want to imagine people coming into the official support channels and claiming they are using "Python 2.8", then other people lecturing them about what that software really is, etc. Sounds lik…

Python is trademarked by the Python Software foundation. IANAL but pretty sure that means he doesn't get to call it Python 2.8

Only if the PSF does something about it...
Post reply on HN