Coming from high-level languages like Visual C, C#, Java, ActionScript where packages are a common and basic thing since their inception, and there were many scalability issues around name collisions and I always thought objective-c as the language not up to date.
Now since we have namespacing available and is implicit across modules, why classes are still prefixed, for instance I was going through this WWDC 16 video Enhancing VoIP Apps with CallKit, and classes are still prefixed with CX, this should be the thing of the past now.
Swift 3.0 does emphasize removing repeated elements, they revised and shortened many function names, is there a way to get rid of this NS prefix or are they going to do something about it or still going to prefix their class libraries just like they did with CallKit. It's still a repetition.