3 ms·
God I hate perl...
by gclawes 1y ago
God I hate perl...
- daneel_w 1y agoWhy? This isn't a Perl problem.
- N_Lens 1y agoIt's so ungoogleable.
- xdfgh1112 1y ago> To make matters interesting, a leading v on a Perl version, or the presence of 2 or more .'s imply a sort order closer to Gentoos. This is 100% classic perl: the default is bonkers and unintuitive, but the behaviour also changes in a DWIM manner to throw people off. And of course there are two different ways to represent versions so simply forgetting the v (one character) can cause a litany of bugs.
- oldpersonintx2 1y agothey don't know why, they only know spewing drive-by perl hate is easy upvote fodder for midwits who can't think of anything reasonable to contribute
- crabbone 1y agoIn Python, there's no requirement that package versions follow the major.minor.patch scheme... Couple years ago the world discovered that one of the packages critical to virtually every Python project on Earth (crypto-something? I forgot what exactly that was) had this same idea about versions: use floating point numbers. It was a mini-2000 for a day or two. A lot of CI pipelines broke. ---- Oh, yeah, I found them. My heroes: https://cryptography.io/en/latest/api-stability/#versioning https://cryptography.io/en/latest/api-stability/#versioning Even after they were told that they made a mess, they still didn't do it right, and had to continue doing it in their own unnecessarily unique way. Sigh
- zahlman 1y agoThe cryptography package is very popular, but "critical to virtually every Python project on Earth" is massive overstatement. It's not even in the top 20 most downloaded from PyPI (https://pypistats.org/top https://pypistats.org/top). I've never used it, while I've used Numpy many times. The new scheme is fine. They are correct to describe it as semver-compatible — they assess that every time they add functionality it is backwards-incompatible, and their backwards-compatible changes are inherently just bugfixes. And they are correct that Firefox version numbers have been doing the same thing, and thus their way is not unique. The old cryptography version numbers were not "floating point numbers" (as demonstrated by the fact that they often had two decimal points). They were just incorrectly using the major and minor parts of a version number to communicate what changed between releases. They weren't doing anything like expecting version 1.11 to be treated as older than version 1.2. I can't fathom how this is supposed to have broken CI pipelines.
- crabbone 1y agoI think this package is, basically, a requirement for anything Web-related in Python, but also stuff like SSH (so Paramico? or similar? Didn't look if they depend on it). So, also stuff like Ansible... well, anything that needs to authenticate using cryptographic protocols. You don't have to be the most popular to break every CI in the world. If you are only responsible for authentication, it's enough to break all CI in the world :)