4 ms·
Tons of other languages have version requirements as part of their end user experience. Whether that’s libc requirements for compiled languages, or Perl langua
by dagmx 4y ago
Tons of other languages have version requirements as part of their end user experience.
Whether that’s libc requirements for compiled languages, or Perl language versions being breaking, or even as subtle as differences in behaviour between different compilers such that your system may give different results than another user.
So I disagree with your assertion here.
Yes it’s unfortunate that this is lifted up to the user, especially because of the fact it’s interpreted, but it’s not anywhere near unique to Python.
Therefore I think it’s not a logical outcome to outright avoid Python.
- bloblaw 4y ago> Tons of other languages have version requirements as part of their end user experience. That does not dispute the original claim though. It's still a problem for Python even when other languages have the same problem. > or Perl language versions being breaking Perl 5.0 code written in 1999 will still happily run in 2023. In part due to the fact that breaking changes are *opt-in* within a Perl script. Reference: https://www.perl.com/article/announcing-perl-7/ https://www.perl.com/article/announcing-perl-7/ """Perl 7.0 is going to be v5.32 but with different, saner, more modern defaults. [..] Perl 5 still has Perl 5’s extreme backward compatibility behavior, but Perl 7 gets modern practice with minimal historical baggage. """ Honestly, Perl is an example of extreme backwards compatibility that has the user experience at the forefront of their design decisions.
- dagmx 4y agoI’m not trying to dispute whether it’s a problem. I agree it’s a problem. I’m saying that avoiding Python because of it is illogical (to me) because the problems they’re describing aren’t unique to Python, and I don’t think there’s much that doesn’t suffer from it. Perl is an odd one because, as your comment says, Perl is going 5->7 because 6 was such a disastrous break.
- bloblaw 4y ago> I’m not trying to dispute whether it’s a problem. I agree it’s a problem. ack > I’m saying that avoiding Python because of it is illogical (to me) because the problems they’re describing aren’t unique to Python, and I don’t think there’s much that doesn’t suffer from it. I don't completely agree, but I see your point. Any interpreted language (or non-statically linked binaries) could (and does) suffer from these problems. I'd like to see Python have a better packaging story...but for now we live with shipping the developers environment (via docker or virtualenv) for running complex Python applications and services. I will say that *statically linked* compiled languages are able to avoid many of these problems because running these binaries typically only requires the OS (eg, Go, Nim, Rust, Zig, C/C++ when statically linked, Object-Pascal, etc) > Perl is going 5->7 because 6 was such a disastrous break. Agree. And they did the right thing by actually renaming it Raku and skipping the version release.
- w0m 4y agoslight correction >Agree. And they did the right thing by actually renaming it Raku and skipping the version release. should be >Agree. And they did the right thing by actually renaming it Raku and functionally killing the language.
- naniwaduni 4y agoI mean, maybe it wasn't quite as clear in 2008, but the Perl 6 fiasco was an obvious disaster that's widely perceived to have killed Perl. It's not a precedent you should want to follow just because it's there.
- dagmx 4y agoI pointed to Perl specifically because it’s another contemporary to Python in terms of OS scripting while having had a much harder break.