Technology attributes
Other attributes
Swift is an open source multi-paradigm general purpose compiled programming language. Created by Apple primarily for iOS and macOS developers (now out of scope for these OSes). Swift works with the Cocoa and Cocoa Touch frameworks and is compatible with Apple's core Objective-C codebase. Swift was conceived as a language that was easier to read and more resistant to programmer errors than its predecessor, Objective-C. Swift programs are compiled using LLVM, which is part of the Xcode 6 and higher integrated development environment. Swift can use the Objective-C runtime, which makes it possible to use both languages (and C) within the same program.
Apple Senior Vice President of Software Development Craig Federighi said during the announcement of this product that the Swift programming language was laid down in the NeXT platform (NeXTSTEP OS was released in 1989-1995), which became the basis for modern macOS, and then iOS.
Development of the current version of the Swift language was started in 2010 by Chris Lattner, head of Apple's software development tools and one of the main developers of LLVM. Swift borrowed ideas from "Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and so many more languages it's hard to list. The original name for the new language was Shiny.
On June 2, 2014, at the WWDC conference, Swift was officially presented along with a free 500-page guide to using the language, available on the iBook Store.
On June 8, 2015, Apple announced the release of a new version of Swift 2.0, which received higher performance, a new error handling API, language syntax improvements, and a feature for checking the availability of Swift functions for target OS.
On December 3, 2015, a beta version of Swift 3.0 was released with support for OS X, iOS and Linux operating systems and licensed under the open Apache 2.0 license with a Runtime Library Exception. Version 3.0 is not backward compatible with earlier versions of the language; starting from the Xcode native development environment version 9 over the Swift-2 language version and earlier are not supported.
In early April 2016, an unnamed media source at Google reported that the company was considering translating the Swift language into a “first-class” language for the Android platform. Previously, prototypes of the Swift compiler for Android have already been presented.
On September 19, 2017, Swift 4.0 was released.
In September 2018, along with the new version of iOS 12, a new stable version of the Swift 4.2 language was released, and the beta version of Swift 5.0 appeared. Version 5.0 finally announced the stable work of ABI with standard libraries (Swift Dynamic Library), support for regular expressions and a first-class solution for parallel processing of data with asynchronous processing mode async/await.
September 20, 2019 Swift 5.1 is the next major release of Swift and aims to finally make ABI stable.
Swift has borrowed quite a lot from Objective-C, however, it is not defined by pointers, but by the types of variables that the compiler handles. Many scripting languages work on a similar principle. At the same time, it provides developers with many features that were previously available in C++ and Java, such as definable naming conventions, generics, and operator overloading.
Some of the functions of the language are faster than in other programming languages. For example, sorting complex objects is 3.9 times faster than Python and almost 1.5 times faster than Objective-C.
Code written in Swift can work together with code written in C and Objective-C programming languages within the same project.