5 ms·
What would I want the Python 3 community to do now? For a start, I would like the Python 3 community not to post attacks like yours. To quote you: "Wow, how rea
by blagie 4y ago
What would I want the Python 3 community to do now? For a start, I would like the Python 3 community not to post attacks like yours. To quote you: "Wow, how reading this makes me hope Ubuntu Pro fails catastrophically."
This suggests the Python 3 community did *not* learn.
To your point about science: that's not quite how science works. I rarely want to run your code + data + system wholesale. You already ran your code on your data, and unless you fabricated something, I can see the results you got from your publication.
In most cases:
- I want to try your algorithm on new data.
- I want to improve upon your algorithm
- I want to try a new algorithm on your data
... and so on. This allows apples-to-apples comparisons.
I sometimes want to be able to replicate results from the 1900's, and commonly going back to the sixties and eighties. You're on a warpath against people using Python for anything not designed for tech-industry style ephemeral code.
Before Python 2 -> Python 3, this was could usually be done either without changes, or with sufficiently minimal changes that it wasn't outside of the realm of a grad student. The whole docker-style mess of dependencies isn't typically a problem; most code uses numpy+pandas, and occasionally, scipy+pylab.
We have decades of experience with this just working with C, C++, Java, and Fortran code, and it more-or-less works okay at this point.
To your conversation style: I'm very familiar with the differences between Python 2 and Python 3. Insulting people isn't a good substitute for an argument. Docker is less than a decade old. Even if it solved the problems you think it solves (it doesn't), and was usable by non-CS grad students (it isn't), this kind of technology churn is exactly what you want to *avoid*.
I hope Ubuntu Pro succeeds spectacularly, to the point where I'd be glad to pay Ubuntu for my *personal* desktop.
If the Python community accepted Python 2 needs to be maintained for a long time (decades, at least), that would go a long ways.
- lproven 4y agoWinAmp 2 (1998) was widely liked. WinAmp 3 (2002) was considered bloated, and flopped. So Nullsoft followed it up with WinAmp 5 – because 2+3=5 – in 2003, which was very broadly the codebase of WinAmp 2 (small and lean) plus the skin support from WinAmp 3 (the only part people liked). This won people back, and WinAmp is still around and got an update this year, 20 years on. I think it's too late for there to be a Python 5, but I did read a blog post long ago – which I can't find again, or I'd link to it – which proposed a similar compromise fix to Python, in considerable technical detail. I am with @blagie on this: the Python world handled the 2→3 transition spectacularly badly. V3 didn't deliver enough, and strong-arming people by just end-of-lifing Python 2 and expecting the world to move on was foolhardy and short-sighted. (And I don't even use the language myself. I'm just observing.) It's a real shame Tauthon didn't get more traction and support. https://github.com/naftaliharris/tauthon https://github.com/naftaliharris/tauthon If it had got enough support and continued, maybe the Python maintainers would have learned something, but I've not seen any sign that they have. This is nothing new. For comparison, Perl 6 went so badly that Perl 5 now looks likely to continue as Perl 7: https://www.perl.com/article/announcing-perl-7/ https://www.perl.com/article/announcing-perl-7/ And PHP 6 didn't really happen -- AFAICT as a total outsider, Unicode support proved too hard and it was never released; the community backported the important bits to PHP 5, and then a new PHP 7, more modest in scope, developed from PHP 5. The Python world could have done the same, and Tauthon was an effort in that direction. It's too late now. I suspect that, just as Perl has lost a massive amount of interest and use, partly from the nearly-two-decade-long effort to release Perl 5, Python has done the same -- sabotaged its own community with this high-handed "your leaders know best" approach.
- blagie 4y agoI didn't know about tauthon. If I had, I would have thrown my support behind it. That makes a lot of sense. With programming languages, I feel like there's so much dumb, blind luck involved in which ones win. I personally dislike Perl, but Larry Wall is so clearly and obviously a genius. Everything he does has good, logical reasons, and the Perl 6 mess was at least an understandable mistake and well-reasoned. I can see myself making similar mistakes. The Python one was just dumb and obnoxious. So much of Python 2→3 feels like a random walk, with things changing, rather than improving. python2 >>> map(lambda x: 2 * x, [1, 2, 3, 4]) [2, 4, 6, 8] python3 >>> map(lambda x: 2 * x, [1, 2, 3, 4]) <map object at 0x7f3df5693310> Is this better? Sometimes. Certainly not when you're working with students, which is a major use-case for Python. Changes since then have felt equally half-baked. async is important, but no one thought through how it might work in a terminal, compatibility with non-async code, and especially with coroutines using yield. I would have the rate of progress be half, but see things implemented correctly and intelligently.
- lproven 4y ago> With programming languages, I feel like there's so much dumb, blind luck involved in which ones win Very true. Among my favourites: Apple's Dylan was an amazing language with an amazing development environment. Ignored. Oberon, the last scion of Pascal, is a great clean blindingly fast language, and simple too, and the OS of the same name is a thing of beauty. Both ignored. It's OSes too. I mean, UNIX was good, for its time... but Plan 9 was better, in terms of network and GUI integration, but the world ignored it. Inferno is better than Plan 9, in terms of integrating the Taos virtual-processor CPU-independence (and a saner GUI than Plan 9, too) but it went nowhere either. (Yes, licence agreements had something to do with this, but Linux was neither the first nor the last free UNIX. Before it was BSD, notably 386BSD, and before 386BSD was Coherent (not free, but cheap, and showed it was doable.) After Linux... there are dozens. If people learned from the model, then even if Plan 9 was under some restrictive licence conditions, it could have been cloned, just as UNIX was, repeatedly. Concurrent DOS was pretty amazing in its day. GEM was amazing, but only Atari ST fans noticed. EPOC, EPOC32 and Symbian were great OSes. Symbian is FOSS now. Nobody cares. Taos was amazing and should have been the new Amiga. QNX still is amazing, but Blackberry 10 flopped. Huawei's HarmonyOS is vapourware and marketing: it should just licence BB10. It's real and it works.