[swift-evolution] [Pitch] Changing NSObject dispatch behavior

Dave Abrahams dabrahams at apple.com
Thu Dec 29 18:34:39 CST 2016


on Thu Dec 29 2016, Freak Show <swift-evolution at swift.org> wrote:

>> On Dec 29, 2016, at 13:28, Rod Brown via swift-evolution <swift-evolution at swift.org> wrote:
>> 
>> I’m in agreement that ‘dynamic’ is probably not what you want without a declaration.
>
> I hold a completely opposite viewpoint.  Dynamic is always what I want
> and table based is premature optimization.  Late binding is important.
> I found far too often when working in C++ (yes I am really flipping
> old) I would come across code where a developer hadn't chosen to make
> a method virtual and I found myself just up a creek with regards to
> extending that code.  Ditto people declaring stuff final in Java for
> no good reason.
>
> The important thing to consider is that the future is generally
> unknowable and if you don't know the future you cannot make good
> choices about what should and should not be dynamic.  So the
> conservative thing is to make everything dynamic until you cannot
> afford it - which...is usually never.

By that measure there should be no encapsulation; we should make
everything public, because somebody might need it someday.

Cheers,

-- 
-Dave



More information about the swift-evolution mailing list