On Tue, Aug 6, 2019 at 11:48 AM <raymond.hettin...@gmail.com> wrote:
>
> End-user experience isn't something that can just be argued away.  Steve and 
> I are reporting a recurring annoyance.  The point of a beta release is to 
> elicit these kinds of reports so they can be addressed before it is too late. 
>  ISTM you are choosing not to believe the early feedback and don't want to 
> provide a mitigation.
>
> This decision reverses 25+ years of Python practice and is the software 
> equivalent of telling users "you're holding it wrong".   Instead of an 
> awareness campaign to use the silent-by-default warnings, we're going 
> directly towards breaking working code.  That seems pretty user hostile to me.
>
> Chris's language survey one shows only language, Lua, that treated this an 
> error.  For compiled languages that emit warnings, the end-user will never 
> see those warning so there is no end-user consequence.  In our case though, 
> end-users will see the messages and may not have an ability to do anything 
> about it.
>

But my (tiny) survey also found that most languages treat "asdf\qwer"
as the same as "asdfqwer", not "asdf\\qwer". So if you're going to use
that data to guide you, then Python has been flat-out wrong for those
25+ years.

IMO Python's approach of inserting the backslashes was on par with
allowing b"asdf" and u"asdf" to compare equal. In one common case, it
magically does the right thing; but then it leads to data-dependent
bugs elsewhere (eg "C:\Program Files" works but "C:\Users" doesn't).
The ONLY reason this is causing pain is that there are fragile
programs out there that currently happen to work, but might easily
break at any time. Having tried to remotely diagnose bugs in my
students' code, I would be *much* happier with an immediate error that
tells them what's going wrong. One of the hardest things to debug
(even for an expert, never mind about a novice) is the situation where
an insignificant change completely breaks your code - "all I did was
rename the file and change the open() call". The price is that there
are some noisy errors when code is probably buggy.

ChrisA
_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/YE6FTDX35FYVHVLMJ2U3SCVJBY3GGMTJ/

Reply via email to