Swift is a modern systems programming language that's friendlier to inexperienced programmers than Objective-C, Apple's previous language of choice. It's more readable than Objective-C and it supports a variety of features that lead to better quality code, including strong typing, safe memory management, and implicit namespaces (to prevent name collisions). It is, as Apple has indicated, the programming language for Apple software going forward. And now it has become a potential vehicle for crafting applications that run on Android, Linux, Windows, and other operating systems.
Apple's Swift team released versions of Swift that run on OS X and Linux systems. Those with the appropriate technical skills are free to create versions that run on other platforms.
[ Learn more about Swift. Read Apple's Swift Programming Language: 10 Fascinating Facts.]
At the time Apple announced its intent to open source Swift, there was concern that the license would be insufficiently permissive. But the developer community appears to be pleased with Apple's choice and with the inclusion of a Runtime Library Exception, which allows the compilation of libraries under different licenses.
Apple's Swift team marked the occasion by noting in a blog post that now everyone can help contribute to the improvement of Swift and can make it relevant for a broader range of platforms and applications.
Al Hilwa, program director for software development research at IDC, said in an email that Swift's release as open source software is a big deal.
"The context here is the battle for mobile programming languages and mobile runtimes," said Hilwa. "Over time, the industry benefits from consolidation around a few strongly adopted languages because it allows better labor mobility across companies and projects. Android got a lot of traction early on leveraging Java. We have seen Microsoft open source its C# stack to broaden the appeal and Apple is essentially on the same trajectory. In the long run, developers will have multiple language options for developing cross-platform native apps so they can better leverage their skills."
Swift presently consists of four distinct projects:
- The Swift compiler and standard library;
- The Package Manager;
- The Core Libraries; and
- The REPL and Debugger (LLDB).
In a post on Hacker News, Patrick Walton, staff research engineer at Mozilla, welcomed the inclusion of a Package Manager to facilitate the building and sharing of code. "It's really great to see Apple investing in package management for Swift," he wrote. "Handling dependencies and versioning well is so important for a language to get right out of the gate."
Swift has already been accepted by Microsoft, which in February touted RemObjects Software's Silver, a compiler that allows Swift code to be run against .NET, Java, Android, and Cocoa APIs. Google may be less enthusiastic because support for Swift could limit adoption of its Go programming language, though each has its strengths. Regardless, now that Swift belongs to everyone, its future looks bright.
**New deadline of Dec. 18, 2015** Be a part of the prestigious InformationWeek Elite 100! Time is running out to submit your company's application by Dec. 18, 2015. Go to our 2016 registration page: InformationWeek's Elite 100 list for 2016.