[swift-evolution] [Review] SE-0005 Better Translation of Objective-C APIs Into Swift

Dave Abrahams dabrahams at apple.com
Mon Feb 1 19:45:58 CST 2016


on Sat Jan 30 2016, Drew Crawford <swift-evolution at swift.org> wrote:

> I am in favor of this proposal on balance, and I leave the bulk of this to people who interop
> with Objective-C more often than I do.
>
> I would like to confine my remarks to one corner where I think we are making a very serious
> mistake.
>
>     The removal of the "NS" prefix for the Foundation module (or other specifically
>     identified modules) is a mechanical translation for all global symbols defined within
>     that module that can be performed in the Clang importer. 
>
> As I understand it (and I am no Cocoa historian) the NS prefix was originally introduced
> because Objective-C lacks namespacing.
>
> The thinking seems to be that since Swift has proper namespacing, this historicism is no
> longer necessary.  I find this argument very flimsy.

I think the juxtaposition of Array, String, Dictionary, and Set
(mutable, with value semantics) and MutableArray, MutableString,
MutableDictionary, and MutableSet (mutable, with reference semantics) is
one of the most obvious problems with this part of the change.

-- 
-Dave



More information about the swift-evolution mailing list