Thanks for the informative listing. So Swift offers refinements (not a paradigm 
shift like object orientation over functional), many of which could be added to 
ObjC, and many of which I wouldn’t want. I guess I was trying to find the main, 
overwhelming purpose driving the adoption of Swift. I think I was looking too 
high.


> On Jun 13, 2015, at 6:48 PM, Quincey Morris 
> <quinceymor...@rivergatesoftware.com> wrote:
> 
> On Jun 13, 2015, at 18:20 , Gary L. Wade <garyw...@desisoftsystems.com 
> <mailto:garyw...@desisoftsystems.com>> wrote:
>> 
>> To answer your question, Swift adds […]
> 
> To get more specific, I just made a quick pass through the Swift 
> documentation, and came up with the following list of things where Swift adds 
> useful functionality and/or features that we’ve been asking for for a long 
> time:
> 
>> Massive elimination of source duplication
>> Massive elimination of source boilerplate
>> Value types as a programming paradigm
>> Range operators (...)
>> Grapheme-based Unicode strings
>> Value-type strings
>> Value-type collections
>> Homogenous collection types (Obj-C has it now, more or less, but only 
>> because of Swift)
>> Non-integer, non-literal switch case types
>> Patterns in switch cases
>> Explicit fall-through control of switch case types
>> Switch case “protected scopes” eliminated
>> Patterns in conditional cases
>> Where clauses
>> Label-targeted continue/break statements
>> SDK API availability checking
>> Overloadable functions
>> Multiple function return values
>> Parameter keywords in function calls
>> Default parameter values
>> Nested function declarations
>> Closure expression syntax improvements
>> Operator definitions
>> Operator functions
>> Enums are not ints
>> Enum cases can have associated values
>> Structs can have behavior (methods)
>> Deterministic rules for initializer methods (calling and inheritance)
>> Lazy stored properties
>> Property observers
>> Class properties
>> Mutability controls
>> Improved access controls
>> Safe method overridability
>> Override prevention
>> Enhanced initializer behavior and syntax
>> Automatic zombie detection
>> Capture lists for closures
>> Optionals
>> Optional chaining and unwrapping
>> Improved error handling model
>> Scope-exit cleanup actions
>> Safer type casting
>> Nested types
>> Safe class extensions
>> Protocols are types
>> Protocols can have default behavior (methods)
>> Constrained protocols
>> Generics
> 
> That list doesn’t include benefits discussed elsewhere.
> 

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to