Swift (język programowania LLVM)

Swift
Logo języka Swift
Logo języka
Pojawienie się

2 czerwca 2014

Aktualna wersja stabilna

5.10
(5 marca 2024) [±]

Twórca

Chris Lattner, Doug Gregor, John McCall, Ted Kremenek, Joe Groff, Apple Inc.

Licencja

Apache License

Platforma sprzętowa

iOS, iPadOS, macOS, watchOS, tvOS, Linux

Książki w Wikibooks
Multimedia w Wikimedia Commons
Strona internetowa

Swiftjęzyk programowania stosowany na urządzeniach z systemami macOS, iOS, iPadOS, watchOS, tvOS, Linux oraz Windows (wersja 5.3), stworzony przez Apple Inc. Zaprezentowany po raz pierwszy podczas Worldwide Developers Conference 2 czerwca 2014. Język jest następcą Objective-C. Swift zaprojektowany został do współpracy z frameworkami Cocoa, Cocoa Touch oraz rozległą bazą kodu napisanego w Objective-C na potrzeby produktów Apple. Jest on zbudowany w oparciu o otwartoźródłowy kompilator LLVM i jest dołączany do środowiska programistycznego Xcode od wersji 6.

Język pozwala na tworzenie domknięć (tzw. closures), iteratorów, interfejsów tj. protokołów, programowanie uogólnione, korzystanie z krotek (tzw. tuples) jako struktur danych oraz wyników działania funkcji, korzystanie z Typów Optional, czyli ze zmiennych mogących przyjmować wartość nil (odpowiednik null), oraz umożliwia wywoływanie funkcji wyższego rzędu (takich jak map, reduce).

Język pozwala na odróżnienie danych, do których programista odwołuje się przez referencję, w postaci typowych instancji klas, oraz danych, do których programista odwołuje się przez wartość, przechowywanych w postaci rekordów (ang. struct), które jednak w odróżnieniu od języka programowania C mogą mieć swoje metody i dzięki temu można opisać ich zachowanie.

Linki zewnętrzne

  • Francois Lardinois: Apple Launches Swift, A New Programming Language For Writing iOS And OS X Apps. TechCrunch, 2014-06-02. [dostęp 2014-06-02].
  • Informacje o języku programowania na stronach Apple Inc.
  • p
  • d
  • e
1GL
2GL/
Język drugiej generacji/
Asembler
3GL /
Język trzeciej generacji
wieloparadygmatowe
proceduralne
i strukturalne
historyczne
inne
obiektowe
funkcyjne
edukacyjne
4GL/
Język czwartej generacji/
Język dziedzinowy
Języki zapytań do baz danych
Generatory raportów / stron
Przetwarzanie danych, analiza i raportowanie
5GL/Logiczne
Ezoteryczne
Inne
  • LCCN: sh2015001571
  • GND: 1066617112
  • BnF: 17039945c
  • J9U: 987007412504105171