On Fri, Mar 22, 2019 at 8:43 AM Victor Stinner <vstinner@redhat.com> wrote:
Le ven. 22 mars 2019 à 09:16, Inada Naoki <songofacandy@gmail.com> a écrit :
> > > We have `socket.error` for long time.
> >
> > And it's perfectly fine, no?
> >
>
> Yes.  Waiting 10+ years to remove aliases is fine.

[...]

Right now, the maintenance cost is close to zero, whereas removing the
alias would annoy a lot of people who will suddenly no longer be able
to use their legacy code (written for Python 2 long time ago, but only
ported to Python 3 recently). Getting a hard AttributeError exception
is different than getting a silent DeprecationWarning :-)

Quite. Why expend the effort on a development that will cause unnecessary pain?

Generally speaking, end-users will live their lives in blissful ignorance of [Pending]DeprecationWarning and should be allowed to do so. When a  developer wants to migrate them to more recent versions of Python there's a chance that warnings will be enabled and examined, but it's by no means certain.

I suspect the real value of the warnings is so that the dev team can shrug their shoulders when someone complains a feature has gone missing after ten years in deprecated status. This is the price of having them normally silent, which is certainly worth any trouble it causes by refusing to hassle innocent non-developers with warnings they can do nothing about.