Swift (мова програмування)

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Swift (мова програмування)
Apple Swift Logo.png
Дата появи: 2014
Розробник: Apple
Під впливом від: Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, мови D[1]
Сторінка інтернет: http://developer.apple.com/swift

Swift — це об'єктно-орієнтована мова програмування, розроблена компанією Apple для того, щоб співіснувати з Objective C і бути стійкішою до помилкового коду. Swift була представлена на конференції розробників WWDC 2014 [2]. Мова побудована з LLVM компілятором, включеного у Xcode 6 beta. Безплатний посібник по мові програмування Swift доступний для завантаження у магазині iBook[3].

Компілятор Swift побудований з використанням технологій вільного проекту LLVM. Swift успадковує кращі елементи мов C і Objective-C, тому синтаксис буде звичний для знайомих з ними розробників, але водночас відрізняється використанням засобів автоматичного розподілу пам'яті і контролю переповнення змінних і масивів, що значно збільшує надійність і безпеку коду.

При цьому Swift-програми компілюються у машинний код, що дозволяє забезпечити високу продуктивність. За заявою Apple, код Swift виконується в 1.3 рази швидше коду на Objective-C. Замість збирача сміття Objective-C в Swift використовуються засоби підрахунку посилань на об'єкти, а також надані у LLVM оптимізації, такі як автовекторізація.

Мова також пропонує безліч сучасних методів програмування, таких як замикання, узагальнене програмування, лямбда-вирази, кортежі і словникові типи, швидкі операції над колекціями, елементи функційного програмування. Основним застосуванням Swift є розробка користувацьких застосунків для MacOS X і Apple iOS з використанням тулкіта Cocoa і Cocoa Touch. При цьому Swift надає об'єктну модель, сумісну з Objective-C. Сирцевий код мовою Swift може змішуватися з кодом на С і Objective-C в одному проекті.

Swift щільно інтегрований у власницьке середовище розробки Xcode і не може бути використаний відособлено на платформах, відмінних від OS X.

Окремо варто відзначити, що Swift від компанії Apple не варто плутати з досить давно розроблюваною скриптовою мовою Swift, націленої на багатонитеве програмування і поставленого під вільною ліцензією Apache.

Історія[ред.ред. код]

Розробку мови Swift почав Chris Lattner у співпраці із багатьма іншими програмістами. Ідеї для Swift запозичені із таких мов програмування як "Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, та багатьох інших із списку".[4] 2 червня 2014 року на Всесвітній конференції розробників вперше офіційно було представлено аплікацію, написану мовою Swift.[5] Бета версія мови стала доступна для зареєстрованих розробників на сайті компанії, але в Apple не гарантували, що представлена версія буде сумісна із фінальною версією.[5]

Також було представлено безплатний посібник по використанню Swift, обсягом 500 сторінок, на сервісі IBooks.[6]

Версія Swift 1.0 була випущена 9 вересня 2014 року разом із «Gold Master»-версією Xcode 6.0 для iOS.[7]

Приклад коду[ред.ред. код]

// це приклад однорядкового коментаря
 
/* це також коментар,
   але написаний в декілька рядків */
 
/* багаторядкові коментарі
   /* можуть бути вкладені! */
   тому ви можете поміщати коментарі в блоки
*/
 
/* оголошення змінних у Swift починається із службового слова "var", після якого повинні 
бути ім'я змінної, тип змінної та початкове значення */
var explicitDouble: Double = 70
 
// якщо тип змінної не вказно, Swift обере його автоматично на основі початкового значення
var implicitInteger = 70
var implicitDouble = 70.0
var 国 = "日本"
 
/* оголошення константи у Swift починається із службового слова "let", після якого повинні 
бути ім'я змінної, тип змінної та початкове значення */
let numberOfBananas: Int = 10
 
// якщо тип константи не вказно, Swift обере його автоматично на основі початкового значення
let numberOfApples = 3
let numberOfOranges = 5
 
// значення змінних та констант можуть бути вставлені у рядки (змінні типу string) наступним чином
let appleSummary = "I have \(numberOfApples) apples."
let fruitSummary = "I have \(numberOfApples + numberOfOranges) pieces of fruit."
 
// оголошення масиву даних
var fruits = ["mango", "kiwi", "avocado"]
 
// приклад оператора if; функцій .isEmpty, та .count
if fruits.isEmpty {
    println("Фрукти відсутні у масиві даних.")
} else {
    println("В масиві даних є \(fruits.count) фруктів")
}
 
// приклад оголошення  "словника" (dictionary ) з 4 елементів, кожен із яких містить ім'я та вік
let people = ["Anna": 67, "Beto": 8, "Jack": 33, "Sam": 25]
 
// використовуючи можливості мови Swift, ми надрукуємо обидва значення в єдиному циклі
for (name, age) in people {
    println("\(name) is \(age) years old.")
}
 
// оголошення методів починється із службового слова "func" 
// тип результату описується після "->"
func sayHello(personName: String) -> String {
    let greeting = "Hello, " + personName + "!"
    return greeting
}
 
// як вивести в консолі словосполучення "Hello, Jane!", використовуючи вище описаний метод
println(sayHello("Jane"))

Дивись також[ред.ред. код]

Джерела та література[ред.ред. код]

  1. а б «Building assert() in Swift, Part 2: __FILE__ and __LINE__ - Swift Blog -». Apple Developer. Процитовано 26 September 2014. «Swift borrows a clever feature from the D language: these identifiers expand to the location of the caller when evaluated in a default argument list.» 
  2. «Apple announces Swift, a new programming language for iOS». 
  3. The Swift Programming Language
  4. Lattner, Chris (June 3, 2014). «Chris Lattner's Homepage». Chris Lattner. Процитовано June 3, 2014. «I started work on the Swift Programming Language in July of 2010. I implemented much of the basic language structure, with only a few people knowing of its existence. A few other (amazing) people started contributing in earnest late in 2011, and it became a major focus for the Apple Developer Tools group in July 2013 [...] drawing ideas from Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list.» 
  5. а б Platforms State of the Union, Session 102, Apple Worldwide Developers Conference, June 2, 2014
  6. The Swift Programming Language. Apple. June 2, 2014. Процитовано June 2, 2014. 
  7. «Swift Has Reached 1.0». Sep 9, 2014. Процитовано September 10, 2014. 

Посилання[ред.ред. код]