develooper Front page | perl.perl5.porters | Postings from June 2013

Re: [perl #118511] Use of bare << to mean <<"" is deprecated - makea hard error

Thread Previous | Thread Next
From:
Aristotle Pagaltzis
Date:
June 27, 2013 19:44
Subject:
Re: [perl #118511] Use of bare << to mean <<"" is deprecated - makea hard error
Message ID:
20130627194413.GA30237@fernweh.plasmasturm.org
* Peter Rabbitson <rabbit-p5p@rabbit.us> [2013-06-27 09:15]:
> By removing stuff solely to "honor a promise" is creating work for
> darkpan users with the sole benefit of pleasing someone aesthetically.
>
> A quote of the irc.perl.org#dbic-cabal topic seems relevant:
>
> > deprecated modules get deleted when they cause a problem and not
> > before

Historically, there has been a problem in removing features that had
been marked deprecated for so long that people stopped caring about
their status as deprecated.

The point of tension here, to which a solution would be welcome if you
can propose one, is this: is there a way to extinguish its use in newly
written code?

I.e. it’s fine for now if it keeps working in code that has already been
written – we don’t want to break anyone’s existing stuff needlessly. At
the same time, in the ideal case, not a single new use of this feature
would be introduced to the world anywhere.

That way, the investment of people who used it in the past is safe-
guarded until such time as it gets in the way – but, at the same time,
its eventual removal is not jeopardised by the length of time between
the moments of deprecation and removal due to continuing increase in its
use. In the ideal case, the moment something is marked deprecated, the
maximum cost of its removal is frozen at that point in time.

I don’t think this is possible to achieve.

The realm of the possible here is a spectrum, and your proposal lies at
the very end on one side of it. The other extreme in this spectrum is
not (to my mind) a reasonable position, but while the one you occupy is,
I don’t know that it’s necessarily the most reasonable one on the entire
spectrum.

It’s not necessarily a one-dimensional spectrum, mind you. Moving toward
Yves’ end is one way to have a stabilising effect on the cost of removal
but not necessarily the only solution.

The question is, what approaches can be taken to try to satisfy as much
of both criteria as possible? (I.e., maximise the safety margin for old
users while suppressing further cost from accruing against its removal.)

Regards,
-- 
Aristotle Pagaltzis // <http://plasmasturm.org/>

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About