Hacker News new | past | comments | ask | show | jobs | submit login

> To resolve the mess in Python 3, choose what you actually want to do...

The thing is that this is not actually going to happen. Programs are simply broken across the board, because few people can be bothered to deal with all these peculiarities.

The difference is, in Python 2, output would be corrupted in some edge cases, but generally it would "just work". In Python 3, the program falls flat on its face even in cases that would've ended up working fine in Python 2.

I don't think there's a general answer on which behavior causes less real-world problems total, but the idea that Python 3 makes less of a mess is not something I can agree with.

Ny experiance being from a non english language was the exact opposite. Python 2 would fail in horribly weird ways and you constantly needed to add weird tricks to get simple functions working. I. Python 3 I haven’t even encounters any similar issues everything just works. Of cause sometimes you need to specify some encodings but I don’t view that as a failure of the language. I think a lot of people have a biased view because tons of issues where just not apparent in English, but if you want a language to be viable for the entire world you have to look outside that limited set of characters.

This just reflects your experience of only speaking english, to most of the world their native language is not and edge case.

Also not using non-ASCII typography, emoji, etc. I’m glad that emoji have become popular in the US since that’s dramatically decreased the time before a text processing system gets non-ASCII input from English-native users. Doubly useful, they’re outside the BMP and flush out partial Unicode support, too, like old MySQL installs using utf8mb3.

> This just reflects your experience of only speaking english, to most of the world their native language is not and edge case.

Excuse me, I don't exclusively deal in 7-bit ASCII characters just because I happen to speak English, which isn't the only language I speak either.

As a Finn and prolific user of å, ä, ö, and € among other things, Python 3 was a massive improvement. Sure it forces me to choose what to do at the Unicode boundary but Py2 was rife with UnicodeErrors that would pop up at the most inopportune of moments. I do not miss Py2's string handling at all.

The vast majority of use cases for every program I have ever used or written would consider silent corruption of data to be a significantly worse issue than a crash.

You cannot simplify a problem by claiming it's too hard to solve for most people.

It's just the way it is.

Python 3 completely removed the need for us to talk about unicode and encodings in our third semester data analysis workshop for physic students because it just works with umlauts and Greek letters. Python 2 was a real pain.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact