At its WWDC developer event yesterday, Apple surprised all of the developers in the audience by launching a new programming language called Swift. This new language seems to be poised to replace Objective-C as the main programming language on Apple’s platforms.
  Swift will use the same LLVM compiler and runtime as Apple’s 
Objective-C implementation, so Swift and Objective-C code can live 
side-by-side in the same application. The language provides access to 
all of the Cocoa and Cocoa Touch features developers are currently used 
to from Objective-C.
 
  It should feel familiar to those who are already used to Objective-C, 
Apple says, and is meant to “unify the procedural and object-oriented 
portions of the language.” It does diverge from Objective-C in more than
 just the syntax, though; it also features variable types like tuples and
 optional types. It also includes operators that aren’t found in 
Objective-C, which allow you to perform remainder operations on 
floating-point numbers, for example.
 
  Here are some of the highlights of the language according to Apple:
 - Closures (similar to blocks in C and Objective-C) unified with function pointers
 - Tuples and multiple return values
 - Generics
 - Fast and concise iteration over a range or collection
 - Structs that support methods, extensions, protocols.
 - Functional programming patterns, e.g.: map and filter
 
  In addition, Apple notes how the language was designed for safety, 
with variables that have to be initialized before use, arrays and 
integers that are checked for overflow and automatic memory management.
 
  Swift support, of course, will be deeply integrated into Apple’s updated Xcode IDE.
 It will feature an interactive “Playground” that allows you to 
edit your code and watch how your changes influence your app in 
real-time. Xcode’s debugging console now also supports Swift syntax 
natively.
 
  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.
 
  We will obviously need to take a closer look at this new programming 
language and how it relates to other languages. Apple is making the 
documentation available today, both as an iBook and on its developer site.
 
  Objective-C was always
 a hard language to pick up for new developers. We 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.
 

0 comments:
Post a Comment