From the starting decades of programming languages it were a discussion topic among developers to find best approaching programming language which could be fast , understandable, easy to handle and maintainable. In WWDC 2014 Apple introduced a new language ‘Swift Programming language ‘ a Object oriented programming language, which will going to be future of Apple Software development. From last two decades Apple uses Objective C for their Mac OS X Software developments as well as from last six years for iOS Software development too.
Swift feels familiar to Objective-C developers. It adopts the readability of Objective-C’s named parameters and the power of Objective-C’s dynamic object model. Objective-C was always a hard language to pick up for new developers. Apple Software developers will also have to see if Swift makes getting started with app development on Apple’s platforms easier, but from a first look at the documentation, it definitely feels more accessible than Objective-C. According to Apple, Swift will provide a number of significant speed advantages to developers. A complex object sort, for example, will run 3.9x faster than an implementation of the same algorithm in Python. That’s also faster than Objective-C, which is 2.8x faster than the Python version.
More About language :-
Like SCALA, Swift makes a distinction between immutable and mutable references. Whereas SCALA uses ‘var’ for mutable and ‘val’ for immutable references, Swift uses ‘var’ and ‘let’.
Swift supports an enhanced case statement that implements pattern matching, similar to pattern matching in Haskell or Scala, but less powerful. Pattern matching appears to be able to match a test value against one or more cases by comparing values, but not by comparing structure (as is possible in Scala). Pattern matching cases can include conditional tests.
Like many modern languages, Swift supports functions as first-class objects and closures(as did Objective-C, in the form of blocks). Closure syntax in Swift is far less esoteric than block syntax for Objective-C. In addition, it is possible to define inline lambda functions using placeholder syntax for arguments, a bit of syntactic sugar that Objective-C’s blocks lacked.
To provide an example: in Objective-C, declaring a variable holding a block describing a function which took two NSNumber objects and returned an NSString would look like the following:
NSString *(^myBlock)(NSNumber *, NSNumber *);
In Swift, the following suffices:
var myClosure: (Int, Int) -> String
Swift has many other features to make your code more expressive:
1.Closures unified with function pointers.
2.Functional programming patterns, e.g.: map and filter.
3.Tuples and multiple return values.
4.Fast and concise iteration over a range or collection.
5.Structs that support methods, extensions, protocols.
Swift incorporates features that support a functional style of programming, such as first-class treatment of functions, closures, clear delineation between mutable and immutable references, and functions such as ‘map’ upon collection types. Like its predecessors, it is small and coherently designed, implementing a carefully selected set of features that contribute to concise yet readable code.
So I hope it will be too enjoyable to learn future of Apple development which will start a new era in the field of Mobile Application development .Let’s Learn..!!!