2021-04-27 20:17 GMT+02:00, Chase Peeler <chasepee...@gmail.com>:
> On Tue, Apr 27, 2021 at 1:56 PM Levi Morrison via internals <
> internals@lists.php.net> wrote:
>
>> I think the conversation on final classes being "bad" has gone on long
>> enough. You don't like final, and you don't want to see more features
>> like it being added, such as sealed. Point taken. Now please stop
>> dominating the discussion, thank you.
>>
>>
> I think the legitimacy of final/sealed classes goes to the heart of this
> RFC. As long as people are going to discuss it and bring up counter points,
> then I think asking someone to stop defending their view is a bit out of
> line.
>
> That being said, David has never said he is against developers being able
> to annotate their classes as being final or sealed. He is just against the
> engine enforcing such requirements. On this I agree. I understand that
> other languages support this concept - and frankly, I don't care. The
> flexibility that PHP offers has always been one of its greatest strengths
> and this just further erodes that.
>
>
>> --
>> PHP Internals - PHP Runtime Development Mailing List
>> To unsubscribe, visit: https://www.php.net/unsub.php
>>
>>
>
> --
> Chase Peeler
> chasepee...@gmail.com
>

Sometimes it's helpful to apply a risk perspective the shed some light
under hidden assumptions of different arguments. For example, what's
the probability and impact of an event that would limit a coder when a
library is using a sealed class? And the other way around, what's the
probability and impact of an event that would decrease code quality
when a sealed class is *not* used (like being able to subclass
Maybe/Option even when it "shouldn't" be possible)?

If the probability of such an event is high, but the impact to overall
code quality is low, the risk is also considered low. (Example: Just
create your own Maybe class. Of course harder with more elaborate
classes, you don't want to copy-paste an entire library. And the other
way, extending Maybe is a very local thing to do and doesn't hurt the
library itself.)

When both probability and impact are uncertain, it will make it harder
to create consensus, and will make arguments more emotional or
heuristic. When risk is low and the benefit high (and clear),
consensus is easy.

Olle

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: https://www.php.net/unsub.php

Reply via email to