Anyone who says "Sure, it's obviously broken and we have A Better Way, but we can't fix it now because we have a dozen users" deserves a swift kick in the head.
When I get my time machine, the second thing I will do is to apply this principle to Unix development circa 1975, only a few Moore's Law doublings after the invention of the C programming language. I mean, seriously--predeclarations, type punning, null-terminated strings?
The amount of time wasted by stupid choices in a successful technology increases by an order of magnitude every eighteen months.
I can't prove it, but I do have a heavy set of boots lined up to make my point.
Message in a (Klein) bottle... (Score:1)
Please, please, when you get there, will you give them a heart to heart talk about signals ? Take away their mushrooms and bongs, and explain, slowly, but carefully, that asynchonry just ain't that simple ?
Re: (Score:1)
Okay, that's on my list, but lower than the decision to keep x86 and BIOS around for so long.
I have another law (Score:1)
Re: (Score:1)
I'll put you on the "pro" side of literal tabs in Makefiles then, and five years of completely broken
Scalar::Utilin ActivePerl.Re: (Score:1)
Re: (Score:1)
As I understand it, it doesn't include (all of?) the XS components of the module, making
reftype()unavailable for the ActivePerl 5.8.x releases.The explanation I heard (and I don't remember where, though I'm pretty sure it wasn't from you) is that one goal of the ActivePerl releases for 5.8.x was to maintain binary compatibility back to 5.8.0, and thus there would be no
reftype()available forScalar::Util.When I last looked at which of my distributions failed in the AS build and test farm, most of the
Re: (Score:1)
ActivePerl on Windows maintains binary compatibility, and it does so for business reasons.
As a result Scalar::Util, and hence all interesting packages (as in like 40% of all CPAN modules) are broken on ActivePerl, and can't be fixed for business reasons.
This is why I never got to demo PPI on my own laptop at the Perl Conference the year I want, which triggered off a year-long attempt to get them t
Re: (Score:1)
If you’re building something important, 12,000 is still not very big.
Of course it’s hard to assess ahead of time whether 12,000 is small or big in one’s particular case…
Re: (Score:1)
My objection is when the best (and sometimes only) argument is "We can't change because people are already using it!" That argument was rubbish back when
makehad 12 users, and it's rubbish now when the proposed change improves the lives of many times more users.In ten years, see if fervent adherence to backwards compatibility killed Perl 5 in 2002.
Re: (Score:1)
Of course all of these issues are really just pointing out faults in the original setup of the PPM and build farm infrastructure. Unfortunately it is a lot of work to get it cleaned up. We are currently testing adding additional repositories that are built with 5.8.8. We have already changed t
Re: (Score:1)
The explanation I heard [...] is that one goal of the ActivePerl releases for 5.8.x was to maintain binary compatibility back to 5.8.0, and thus there would be no reftype() available for Scalar::Util.
I think it's reasonable to try to maintain binary backwards compatibility, but the problem seems to come from them breaking compatibility with Perl!
Is the problem instead that we pretend that ActivePerl is Perl?
P.S. Why is `make` considered broken, anyway, instead of the editors that can't highlight/insert tabs? Maybe they just aren't appropriate for editing Makfiles.
Re: (Score:1)
Invisible characters were much more difficult to see 30 years ago, but (so the story goes) a dozen people already used
make, so the author both regretted the choice of literal tabs and couldn't fix the program.Re: (Score:1)
ActivePerl contains the same or a later version of Scalar::Utils as the corresponding core release. ActivePerl should always contain a superset of the functionality of the corresponding core release; everything else would be a bug. In the spirit of the Artistic License, ActivePerl is a "Standard Version" of Perl.
The PPM build farm however does run with very old distributions for backwards compatibility, as the generated modules must work on any released version of ActivePe
Re: (Score:1)
It may have been
refaddr()instead; that's the conclusion I reach after looking at the PPM build farm failure for Test::MockObject on Linux [activestate.com].