Swift (programovací jazyk)
Rychlý |
---|
|
Jazyková třída |
multiparadigma (protokolově orientované, objektově orientované , funkční , imperativní ) |
Objevil se v |
2014 |
Autor |
Chris Lattner [d] |
Vývojář |
Chris Lattner [d] aApple |
Přípona souboru |
.swift |
Uvolnění |
|
Hlavní implementace |
LLVM |
Byl ovlivněn |
Objective-C , C++ , Java [2] , Rust , Scala , Python , Ruby , Smalltalk , Groovy [3] , jazyk D [4] |
Licence |
od verze 2.2 Open Source ( Apache 2.0 s výjimkou Runtime Library [5] [6] ) |
webová stránka |
swift.org |
OS |
macOS , iOS , iPadOS , tvOS , watchOS , Linux ,
Microsoft Windows |
Mediální soubory na Wikimedia Commons |
Swift je open source multiparadigmatický kompilovaný programovací jazyk pro všeobecné použití vyvinutý a spravovaný společností Apple . První verze byla představena v roce 2014.
Swift se nejčastěji používá při vývoji aplikací pro macOS , iOS , iPadOS , watchOS a tvOS , ale tento jazyk je k dispozici také pro Windows a Linux . Na platformách Apple tento jazyk pracuje s frameworky Cocoa a Cocoa Touch a je kompatibilní se základní kódovou základnou Apple napsanou v dřívějším jazyce Objective-C . Swift byl koncipován jako jazyk, který se snáze čte a je odolnější vůči programátorským chybám: významná část problémů, které se v případě Objective-C vyskytují pouze během provádění programu a vedou k pádům , ve Swift v zásadě , neumožní sestavení kódu [7] .
Kompilátor Swift je založen na LLVM , což znamená, že stejný kód lze zkompilovat pro různé platformy: x86 , ARM , WASM a další. Sada nástrojů (toolchain) pro práci s jazykem je zabudována do integrovaného vývojového prostředí Xcode 6 a vyšší . Swift může používat Objective-C runtime , což umožňuje používat oba jazyky (stejně jako jazyk C ) v rámci jednoho programu.
Historie
Craig Federighi , senior viceprezident pro vývoj softwaru ve společnosti Apple , během oznámení tohoto produktu řekl, že programovací jazyk Swift byl stanoven na platformě NeXT ( NeXTSTEP OS byl vydán v letech 1989-1995 ), která se stala základem pro moderní macOS. a poté iOS [8] .
Vývoj současného jazyka Swift zahájil v roce 2010 Chris Lattner , vedoucí nástrojů pro vývoj softwaru společnosti Apple a jeden z hlavních vývojářů LLVM. Swift si vypůjčil nápady z "Objective-C, Rust , Haskell , Ruby , Python , C# , CLU a mnoha dalších jazyků, které je těžké vyjmenovat" [9] . Původní název pro nový jazyk byl Shiny [10] .
2. června 2014 na konferenci WWDC byl Swift oficiálně představen spolu s bezplatným 500stránkovým průvodcem používáním jazyka, který je k dispozici ve službě iBook Store [11] .
Dne 8. června 2015 Apple oznámil vydání nové verze Swift 2.0, která získala vyšší výkon, nové API pro zpracování chyb, vylepšení syntaxe jazyka a funkci pro kontrolu dostupnosti funkcí Swift pro cílový OS [12] .
Dne 3. prosince 2015 byla vydána beta verze Swift 3.0 s podporou operačních systémů OS X , iOS a Linux a licencovaná pod otevřenou licencí Apache 2.0 s Runtime Library Exception [13] [14] . Verze 3.0 není zpětně kompatibilní s dřívějšími verzemi jazyka; počínaje nativním vývojovým prostředím Xcode verze 9 přes jazykovou verzi Swift-2 a starší nejsou podporovány.
Začátkem dubna 2016 nejmenovaný mediální zdroj ve společnosti Google uvedl, že společnost zvažuje překlad jazyka Swift do „prvotřídního“ jazyka pro platformu Android [15] . Prototypy kompilátoru Swift pro Android již byly představeny [16] [17] [18] .
19. září 2017 vyšel Swift 4.0.
V září 2018 byla spolu s novou verzí iOS 12 vydána nová stabilní verze jazyka Swift 4.2 a objevila se beta verze Swift 5.0. Verze 5.0 konečně oznámila stabilní práci ABI se standardními knihovnami (Swift Dynamic Library), podporou regulárních výrazů a prvotřídním řešením pro paralelní zpracování dat s asynchronním režimem zpracování async/await [19] .
20. září 2019 Swift 5.1 je další hlavní vydání Swift a jeho cílem je konečně učinit ABI stabilní.
Významné jazykové aktualizace, které přidávají nové funkce nebo mění předchozí pracovní podmínky, jsou vydávány každých šest měsíců, obvykle v březnu a září.
Aktuální verze jazyka pro květen 2022 je Swift 5.6.
Popis
Swift si vypůjčil poměrně hodně z Objective-C , nicméně to není definováno ukazateli, ale typy proměnných, které kompilátor zpracovává . Mnoho skriptovacích jazyků funguje na podobném principu. Zároveň poskytuje vývojářům mnoho funkcí, které byly dříve dostupné v C++ a Javě , jako jsou definovatelné konvence pojmenování, generika a přetěžování operátorů .
Některé funkce jazyka jsou rychlejší než v jiných programovacích jazycích. Například třídění složitých objektů je 3,9krát rychlejší než Python a téměř 1,5krát rychlejší než Objective-C [20][21] .
Kód napsaný ve Swiftu může spolupracovat s kódem napsaným v programovacích jazycích C a Objective-C v rámci stejného projektu [2] .
Apple rozdělil kód Swift do několika otevřených úložišť.
- Kompilátor a standardní knihovna:
- Swift: hlavní úložiště Swift, které obsahuje zdrojový kód pro kompilátor Swift, standardní knihovnu a SourceKit;
- Swift-Evolution: Dokumenty související s probíhajícím vývojem Swift, včetně cílů pro nadcházející verze, návrhy změn a rozšíření Swiftu;
- Knihovny jádra:
- Swift corelibs-foundation: zdrojový kód pro Foundation, který poskytuje společné funkce pro všechny aplikace;
- Swift corelibs-libdispatch: zdrojový kód pro libdispatch, který poskytuje primitiva souběžnosti pro běh na vícejádrovém hardwaru ;
- Swift corelibs-xctest: zdrojový kód pro XCTest, který poskytuje základní testovací infrastrukturu pro aplikace a knihovny Swift;
- Správce balíčků:
- Správce balíčků Swift: zdrojový kód správce balíčků Swift;
- Swift llbuild: zdrojový kód pro llbuild, nízkoúrovňový systém, který používá správce balíčků Swift;
- Klonovaná úložiště:
- Swift spoléhá na několik dalších open source projektů, zejména na kompilátor LLVM.
- Swift llvm: LLVM zdrojový kód, s kousky Swift dodatků;
- Swift clang: zdrojový kód pro Clang, s kousky Swift dodatků;
- Swift lldb: zdrojový kód pro verzi Swift LLDB pro ladění programů Swift;
Ukázkový kód
// Proměnné
var implicitInteger = 70
var implicitDouble = 70,0
var explicitDouble : Double = 70
// Konstanty
nechť speedOfLight = 299 _792_458
nechť numberOfApples = 345
nechť počet pomerančů = 5
let appleSummary = "Mám \(numberOfApples) jablka."
let fruitSummary = "Mám \(numberOfApples + numberOfPoranges) kousky ovoce."
tisk ( "Ahoj světe" )
nech lidi = [ "Anna" : 67 , "Beto" : 8 , "Jack" : 33 , "Sam" : 25 ]
pro ( jméno , věk ) v lidech {
tisknout ( "\(jméno) má \(věk) let." )
}
Viz také
Poznámky
- ↑ https://www.swift.org/blog/swift-5.7-released/
- ↑ 1 2 Apple oznamuje nový programovací jazyk Swift . Sotovik.ru (5. června 2014). Získáno 5. června 2014. Archivováno z originálu 17. dubna 2016. (Ruština)
- ↑ Laforge, Guillaume. Programovací jazyk Swift společnosti Apple inspirovaný Groovy ( 2. června 2014). Získáno 3. června 2014. Archivováno z originálu 5. června 2014.
- ↑ 1 2 Vytváření sustain() ve Swift, část 2: __FILE__ a __LINE__ - Swift Blog - . Apple vývojář. - "Swift si vypůjčil chytrou funkci z jazyka D : tyto identifikátory se při vyhodnocení ve výchozím seznamu argumentů rozšíří na místo volajícího." Získáno 26. září 2014. Archivováno z originálu 21. listopadu 2015. (neurčitý)
- ↑ swift/LICENSE.txt na hlavním apple/swift . Získáno 3. června 2022. Archivováno z originálu dne 9. dubna 2016. (neurčitý)
- ↑ Apple (Rusko) – Tiskové informace – Apple otevírá zdrojový kód pro jazyk Swift . Získáno 29. září 2017. Archivováno z originálu 28. srpna 2016. (neurčitý)
- ↑ Hlavními úkoly nového programovacího jazyka Apple Swift jsou rychlost a snadnost vývoje . 3DNews (3. června 2014). Získáno 3. června 2014. Archivováno z originálu 5. června 2014. (Ruština)
- ↑ Hlavními úkoly nového programovacího jazyka Apple Swift jsou rychlost a snadnost vývoje . 3DNews (3. června 2014). Získáno 3. června 2014. Archivováno z originálu 5. června 2014. (Ruština)
- ↑ Domovská stránka Chrise Lattnera (3. června 2014). — „Na Swift Programming Language jsem začal pracovat v červenci 2010. Implementoval jsem velkou část základní jazykové struktury, přičemž o jeho existenci vědělo jen pár lidí. Několik dalších (úžasných) lidí začalo vážně přispívat koncem roku 2011 a v červenci 2013 se to stalo hlavním cílem skupiny Apple Developer Tools [...] čerpající nápady z Objective-C, Rust, Haskell, Ruby, Python, C#, CLU a příliš mnoho dalších na seznam." Získáno 3. června 2014. Archivováno z originálu 22. prosince 2015. (neurčitý)
- ↑ Chris Lattner o původu Swift-Ole Begemanna . Získáno 10. března 2019. Archivováno z originálu 15. března 2019. (neurčitý)
- ↑ Swift Programming Language . — Apple, 2014.
- ↑ Swift 2.0 bude koncem roku open source. . Habrahabr (9. června 2015). Získáno 9. června 2015. Archivováno z originálu 9. června 2015. (Ruština)
- ↑ Apple otevřel svůj „jazyk budoucnosti“. . CNews (4. prosince 2015). Staženo 5. prosince 2015. Archivováno z originálu 6. prosince 2015. (Ruština)
- ↑ O Swift Archivováno 3. prosince 2015 na Wayback Machine – oficiální stránky.
- ↑ Google možná zvažuje použití Swiftu na Androidu . Získáno 10. března 2017. Archivováno z originálu 9. března 2017. (neurčitý)
- ↑ Spuštění kódu Swift na Androidu . Získáno 16. října 2018. Archivováno z originálu 1. července 2019. (neurčitý)
- ↑ Swift na Androidu: Budoucnost programování napříč platformami? . Získáno 16. října 2018. Archivováno z originálu 17. října 2018. (neurčitý)
- ↑ swift/Android.md na master apple/swift GitHub . Získáno 16. října 2018. Archivováno z originálu 1. září 2018. (neurčitý)
- ↑ iOS 12: Developer 's Perspective , AppTractor (13. září 2018). Archivováno z originálu 7. listopadu 2018. Staženo 7. listopadu 2018.
- ↑ Jak může být Swift v těchto srovnáních o tolik rychlejší než Objective-C? . programátoři.stackexchange.com. Datum přístupu: 18. května 2016. Archivováno z originálu 9. června 2016. (neurčitý)
- ↑ Swanner, Nate . Google možná zvažuje použití Swift na Androidu The Next Web ( 7. dubna 2016). Archivováno z originálu 9. března 2017. Staženo 10. března 2017.
Odkazy
C programovací jazyk |
---|
|
Kompilátory |
|
---|
Knihovny |
|
---|
Zvláštnosti |
|
---|
Někteří potomci |
|
---|
C a další jazyky |
|
---|
Kategorie:C programovací jazyk |