Swift Is Now Open Source
In June this year, Apple raised more than a few eyebrows at its WWDC conference with an announcement about Swift. Just a year before, Apple had released Swift, a new programming language. It was a big deal--a much simpler language for faster development.
Swift was a major competitive advantage for the company, making it easier for teams to build new apps for Apple devices. So Apple's decision to give it away to everyone as an open-source project puzzled many attendees. Why would Apple share such an asset with the world, including its competitors? Was Apple really going to carry out its plan? Yes, on December 3rd, Apple did exactly that.
For those who don't know, Swift was invented as a replacement for Objective-C. After more than 30 years of service, Objective-C is looking a little rusty. The time had come for a new language that embraced modern practices.
Swift has made an impact on the Apple community, and now it's coming to other platforms, including Linux and Android.
This is great news for mobile developers. Building cross-platform apps often means duplicating functionality in different languages. That adds a lot of man hours to the project and increases the risk of introducing bugs.
If developers can use the same code in iOS and Android versions of their app, they have only one code base to worry about. When code can run on more than one platform, it's faster to build and easier to maintain.
So it's great for mobile app developers, but why should the rest of us care? After all, there are plenty of programming languages for Linux. Do we really need another?
Well, let's look at it this way. Swift was developed to solve a major problem in the Apple community. Developers loved the performance of Objective-C, but they wanted a simpler language.
The project was headed by Chris Lattner, the primary author of LLVM. The goal was to simplify Apple app development. To achieve this, the team drew upon the best features of several modern languages.
Swift has been very well received in the Apple developer community. The language has a simple syntax like Ruby and Python, but it has the power of a low-level language, producing code that runs faster than C. It also simplifies some thorny issues like memory management.
Simpler syntax means you can get more done with fewer lines of code. This has distinct advantages when it comes to comprehending large programs. Less code means simpler projects. Simpler projects are faster to complete and easier to maintain. And, it's easier for new programmers to learn, which is nice.
Because Swift compiles to object code, it can co-exist with existing C libraries. It can link with C libraries statically or dynamically. So developers don't have to program everything from scratch. They can reuse proven code in their own projects.
At the same time, there is a thriving Swift community. There are plenty of Swift packages on Github, and many of them are portable outside the Apple ecosystem.
So Swift is a great addition to the Linux programming language stable. Opening the language is a smart move by Apple too. As more of us learn to use the language, Apple gains a larger pool of qualified and experienced developers for its platform.