Developers are cautiously excited about Apple’s new Swift programming language

Now that the dust has settled over the first day of WWDC, news of Apple’s (S AAPL) new Swift programming language has caused quite a stir, especially considering there were no rumors indicating the company was planning the move.

Designed to be the successor to Objective-C, the primary language programmers use to write software for OS X and iOS, the new language will supposedly make coders’ lives easier by making the process of developing software faster and less-painful.

Advertisement

Apple’s senior vice president of software Craig Federighi showed off some graphs that backed up the company’s assertions, although time will will tell if Apple’s statistics are too good to be true.

Speaking my language

Some developers consider this great news because working with Objective-C was a pain:

Number one most attractive feature about the new Swift Language? It's not Objective-C.

For others, Swift doesn’t really seem all that unique, as this disinterested HackerNews commenter wrote: “It looks like a hodgepodge of ideas from ES6, Ruby, Go, and maybe Rust, with a bit of backend work done to let it work on their existing infrastructure.”

For Brian Enochson, senior software developer at HBO, Apple’s new language is a big deal because the company has finally nominated a replacement for the 20-year-old Objective C language.

“It brings modern language constructs like closures, generics and tuples,” wrote Enochson in an email. “This was done by removing the inherited C-like constructs and building on the recent modern development in Objective C like LLVM and garbage collection.”

The new language might open doors to other developers who might have been put off on having to use Objective-C for iOS development, Enochson wrote, and he believes that this is a major announcement for iOS-only engineering shops who were maybe blindsided by the news.

While Swift may be a big deal for current developers, it might be even more exciting for people who want to learn how to code, explained Josh Michaels, a mobile developer who creates apps under the company name Jetson Creative.

“The simplicity of the syntax, ease of use of the tools, real-time execution model, and documentation model will make it much easier for new people to learn to develop,” wrote Michaels in an email. “This will be great for education.”

Does not compute

Of course, there are some Swift naysayers like Joel Spolsky, co-founder of Fog Creek Software. He tweeted that while he believes that Swift is better than Objective C, he doesn’t think “developers are ever happy hearing about another single-purpose proprietary programming language.”

Read the swift book. It feels exactly like go, with just enough irritating differences to be painful. Like Java:C# :: Go:Swift

Brendan Quinn, a mobile test lead at the Global Betting Exchange, wrote in an email that Swift is not a revolutionary step and is “merely a large incremental step for Apple developers.”

“It is unlikely to attract existing developers in any numbers from Windows/open web-based languages, Android etc.,” Quinn wrote. “Would a developer give up years working with C++ 11 for example to move to Swift?”

While the new language may help developers with productivity, Quinn does not believe this will be a major leap for the coding world as he believes developers will continue to choose for themselves whether or not they want to participate in the Apple universe, either from within or from the outside.

If you want to get start developing using Swift, Apple released a hefty iBook that gives you the full rundown. And please let me know whether you are a Swift supporter or an on opponent.

“Can we start work on swift language without using Mac machine?” – good luck with that. Swift (and Objective C) are nothing without the vast framework (Cocoa/Cocoa Touch) they rely upon. The foundation objects NSObject, NSString, NSArray and NSDictionary have been directly incorporated into the syntax (e.g. for .. in).
That being said, i’d be very surprised if Apple did not make the foundation objects and Swift language open source – IIRC they did with Objective C. It’s just that few people outside of Apple have found a use for it.

“tâ€™s just that few people outside of Apple have found a use for it.”
And as has been pointed out, there are plenty of languages that Swift resembles. Basically the “advantage” of Swift is that Apple made it work out of the box with iOS and Mac and with Objective-C. If you want “Swift” for non-Mac, use Groovy or Ruby or Scala or Kotlin or Ceylon or Rust or ….

â€œIt is unlikely to attract existing developers in any numbers from Windows/open web-based languages, Android etc.,â€ Quinn wrote. â€œWould a developer give up years working with C++ 11 for example to move to Swift?â€

Considering that Apple is the largest tech company in the world, they would be stupid to at least not consider it.

I have had a cursory read of the Swift book. One thing no one has mentioned so far is the way the syntax of Swift echos that of AppleScript. As an old AppleScripter (it’s been a few years *cough* decades *cough*) I think that learners will benefit from that.

For most programming languages there is a wall of ice in the learning curve – somewhere between hello world and anything that is actually useful. At various times in my life I climbed up that wall for COBOL, RPG, Pascal, Visual Basic, C++, Objective C, Perl, JavaScript, SQL, PHP, AppleScript, and a handful of single-system proprietary environments – I gave up on Java (twice) and Python. Of those AppleScript had the smoothest and most naturally incremental learning curve – in part because it was the simplest environment, but also because of the ‘naturalness’ of its syntax.

Swift has the same feel. I haven’t tried out the new Xcode environment but all up it does rather look like Apple has removed the cliff for newbies.

So you did VB but gave up on Java? Java has more in common with JS and C and O-C than VB.

From what I have heard about XCode – it is part of the barrier. For instance, i tried to help with using it with SVN. It was horrid. We can only hope that someone outside the Apple world will see value in Swift and create support for it with Intellij or Netbeans or Eclipse. That is highly unlikely because there are plenty of good languages that can be converted to native iOS – and you can reuse most of the code on Android.

Cautious Optimism is right. I don’t think swift is intended to completely replace the Obj-C environment but it greatly reduces the development time without sacrificing performance. It might very well be the ‘preferred’ programming environment for all things Apple depending on its adoption. Complaints of Swift not being ‘open’ are greatly exaggerated. Obj-C is an open language but no other platform besides Apple uses it.

Bottom line, Swift greatly reduces development time and the barriers for entry into iOS and eventually Mac OS X programming, so it’s definitely good news. The language being proprietary and potentially creating a lock-in are reasonable concerns, but not necessarily deal breakers.