Fedora ponders the Python 2 end game
Fedora ponders the Python 2 end game
Posted Aug 3, 2017 0:10 UTC (Thu) by khim (subscriber, #9252)In reply to: Fedora ponders the Python 2 end game by anselm
Parent article: Fedora ponders the Python 2 end game
Personally I prefer Python 3 because, among other things, strings work a lot better than they used to in Python 2.Actually situation with strings is awful in python2 is awful and python3 made it even worse. Why do you think WTF-8 was added to rust? Why to you think Go still considers strings a sequence of bytes with no string attached? World where only nice unicode strings exist is an utopia! That's why they were forced to throw away the notion that file names are strings and introduced path-like objects! And I'm sure it's not the end.
Posted Aug 3, 2017 0:37 UTC (Thu)
by anselm (subscriber, #2796)
[Link] (2 responses)
I can only speak for myself, but I'm way happier with strings (and byte sequences) in Python 3 than I used to be with strings (and Unicode strings) in Python 2. They pretty much seem to do what I expect them to do, and given a little care it is reasonably easy to write programs that work. Of course I may not be clever enough to appreciate how “awful” Python's string handling really is.
OTOH, I don't really care about WTF-8 in rust nor what Go considers a string because (so far) I'm not using either of those languages, and have no plans to do so in the foreseeable future.
Posted Aug 3, 2017 2:20 UTC (Thu)
by khim (subscriber, #9252)
[Link] (1 responses)
Posted Aug 3, 2017 15:24 UTC (Thu)
by intgr (subscriber, #39733)
[Link]
> On the very last screen it tries to show you "everything is done" message which is in KOI8-R instead of UTF-8 - with exception being thrown and whole installation rolled back. Just PERFECT handling of strings.
Yes, that's exactly the behavior I want. There was a bug in the program (or translation) and a good programming environment should immediately throw an error, rather than proceed with some unexpected behavior. Even environments that used to play very fast and loose with types and ignore errors, like MySQL and PHP, have recently became significantly stricter. Otherwise, in complex programs, you will end up with latent errors that are much harder to debug and often data loss.
> If you want robustness then python is not for you.
Erm, in one breath you complain about Python being too strict and now you complain that it's not robust?
Posted Aug 3, 2017 7:51 UTC (Thu)
by roc (subscriber, #30627)
[Link]
OTOH OsString has been part of Rust for a long time exactly because sometimes you need to deal with weird non-Unicode platform strings.
Fedora ponders the Python 2 end game
Fedora ponders the Python 2 end game
Of course I may not be clever enough to appreciate how “awful” Python's string handling really is.
My favorite example was Anaconda few years back. Pick text installer (because you are dealing with small VM), pick Russian language and do everything. On the very last screen it tries to show you "everything is done" message which is in KOI8-R instead of UTF-8 - with exception being thrown and whole installation rolled back. Just PERFECT handling of strings.
OTOH, I don't really care about WTF-8 in rust nor what Go considers a string because (so far) I'm not using either of those languages, and have no plans to do so in the foreseeable future.
That's Ok. If your goal is scripts which kinda-sorta-work-if-you-are-lucky then python or, heck, even bash work. If you want robustness then python is not for you.
Fedora ponders the Python 2 end game
Fedora ponders the Python 2 end game
