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