[Python-ideas] With expressions
Steven D'Aprano
steve at pearwood.info
Fri Aug 3 21:37:23 EDT 2018
On Sat, Aug 04, 2018 at 12:28:40AM +0200, Robert Vanden Eynde wrote:
> As the code I showed, being just that:
>
> filename = ...
> lines = ...
> parsed_data = ...
>
> With implementation details? The highest value is there, the alg is clear.,
> one fetches the filename, one preprocess the lines, then parse the data.
As programmers, surely we have to care about implementation details of
the code we are maintaining or writing. If we don't care about
implementation, who does?
Of course there is a tension between having to deal with implementation
details too earlier, or hiding them too deeply. We have to balance too
little refactoring from too much refactoring, and people can
legitimately disagree as to when a function, method or class carries its
own weight.
The same applies to syntactic features. That's why *concrete use-cases*
are important, not pretend, made-up toy examples.
The Python community as a whole is not very receptive to arguments from
functional programming purity. I know Python veterans who still don't
like list comprehensions (although they're a minority). As a whole, the
community does not believe that using multiple statements is always a
problem to be fixed.
The question is not whether it is *possible* to have a with expression,
or whether we might find some toy examples that kinda look good, but how
much it improves *real code*.
And arguments that we should have a "with" expression because we already
have "if" expressions and comprehensions will just fall flat. Arguments
by consistency ("we have A, so we ought to have E too, because they're
both vowels") are not very productive.
--
Steve
More information about the Python-ideas
mailing list