*** Welcome to piglix ***

Swift (programming language)

Swift
Swift logo with text.svg
Paradigm Multi-paradigm: , object-oriented, functional, imperative, block structured
Designed by Chris Lattner and Apple Inc.
Developer Apple Inc.
First appeared June 2, 2014; 2 years ago (2014-06-02)
Stable release
3.0.2 / December 13, 2016; 2 months ago (2016-12-13)
Preview release
3.1.0 / January 24, 2017; 21 days ago (2017-01-24)
Typing discipline Static, strong, inferred
OS Darwin, Linux, FreeBSD
License Apache License 2.0 (Swift 2.2 and later)
Proprietary (up to Swift 2.2)
Filename extensions .swift
Website swift.org
Influenced by
C#,CLU,D,Haskell, Objective-C, Python, Rust, Ruby
Influenced
Ruby,Rust

Swift is a general-purpose, multi-paradigm, compiled programming language developed by Apple Inc. for iOS, macOS, watchOS, tvOS, and Linux. Swift is designed to work with Apple's Cocoa and Cocoa Touch frameworks and the large body of extant Objective-C (ObjC) code written for Apple products. Swift is intended to be more resilient to erroneous code ("safer") than Objective-C, and more concise. It is built with the LLVM compiler framework included in Xcode 6 and later and, on platforms other than Linux, uses the Objective-C runtime library, which allows C, Objective-C, C++ and Swift code to run within one program.

Swift supports the core concepts that made Objective-C flexible, notably dynamic dispatch, widespread late binding, extensible programming and similar features. These features also have well-known performance and safety trade-offs, which Swift was designed to address. For safety, Swift introduced a system that helps address common programming errors like null pointers, and introduced syntactic sugar to avoid the pyramid of doom that can result. For performance issues, Apple has invested considerable effort in aggressive optimization that can flatten out method calls and accessors to eliminate this overhead. More fundamentally, Swift has added the concept of extensibility, an extensibility system that can be applied to types, structs and classes. Apple promotes this as a real change in programming paradigms they term "protocol-oriented programming".


...
Wikipedia

...