Swift (limbaj de programare)
Rapid |
---|
|
Clasa de limba |
multi- paradigma (orientat pe protocol, orientat pe obiect , funcțional , imperativ ) |
Aparut in |
2014 |
Autor |
Chris Lattner [d] |
Dezvoltator |
Chris Lattner [d] șiApple |
Extensie de fișier |
.swift |
Eliberare |
|
Implementări majore |
LLVM |
A fost influențat |
Objective-C , C++ , Java [2] , Rust , Scala , Python , Ruby , Smalltalk , Groovy [3] , limbaj D [4] |
Licență |
începând cu versiunea 2.2 Open Source ( Apache 2.0 cu o excepție a bibliotecii de rulare [5] [6] ) |
Site-ul web |
swift.org |
OS |
macOS , iOS , iPadOS , tvOS , watchOS , Linux ,
Microsoft Windows |
Fișiere media la Wikimedia Commons |
Swift este un limbaj de programare compilat, multi- paradigmă , cu sursă deschisă , dezvoltat și întreținut de Apple . Prima versiune a fost introdusă în 2014.
Swift este cel mai frecvent utilizat în dezvoltarea de aplicații pentru macOS , iOS , iPadOS , watchOS și tvOS , dar limba este disponibilă și pentru Windows și Linux . Pe platformele Apple, limbajul funcționează cu cadrele Cocoa și Cocoa Touch și este compatibil cu baza de cod de bază Apple scrisă în limbajul anterior Objective-C . Swift a fost conceput ca un limbaj mai ușor de citit și mai rezistent la erorile programatorului: o parte semnificativă a problemelor care, în cazul Objective-C, se regăsesc doar în timpul execuției programului și duc la blocări , în Swift, în principiu. , nu va permite compilarea codului [7] .
Compilatorul Swift se bazează pe LLVM , ceea ce înseamnă că același cod poate fi compilat pentru diferite platforme: x86 , ARM , WASM și altele. Un set de instrumente (toolchain) pentru lucrul cu limbajul este încorporat în mediul de dezvoltare integrat Xcode 6 și superior . Swift poate utiliza runtime -ul Objective-C , ceea ce face posibilă utilizarea ambelor limbi (precum și limbajul C ) în cadrul aceluiași program.
Istorie
Craig Federighi , Senior Vice President of Software Development la Apple , în timpul anunțului acestui produs, a declarat că limbajul de programare Swift a fost stabilit în platforma NeXT ( NeXTSTEP OS a fost lansat în 1989-1995 ), care a devenit baza pentru macOS modern. , iar apoi iOS [8] .
Dezvoltarea actualului limbaj Swift a fost începută în 2010 de Chris Lattner , șeful instrumentelor de dezvoltare software Apple și unul dintre principalii dezvoltatori ai LLVM. Swift a împrumutat idei din „Objective-C, Rust , Haskell , Ruby , Python , C# , CLU și atât de multe alte limbi, este greu de enumerat” [9] . Numele original pentru noua limbă a fost Shiny [10] .
Pe 2 iunie 2014, la conferința WWDC , Swift a fost prezentat oficial împreună cu un ghid gratuit de 500 de pagini de utilizare a limbii, disponibil pe serviciul iBook Store [11] .
Pe 8 iunie 2015, Apple a anunțat lansarea unei noi versiuni de Swift 2.0, care a primit performanțe mai mari, un nou API de gestionare a erorilor, îmbunătățiri ale sintaxei limbii și o caracteristică pentru verificarea disponibilității funcțiilor Swift pentru sistemul de operare țintă [12] .
Pe 3 decembrie 2015, a fost lansată o versiune beta a Swift 3.0 cu suport pentru sistemele de operare OS X , iOS și Linux și licențiată sub licența deschisă Apache 2.0 cu o excepție a bibliotecii Runtime [13] [14] . Versiunea 3.0 nu este compatibilă cu versiunile anterioare ale limbii; începând de la versiunea 9 a mediului de dezvoltare nativ Xcode peste versiunea în limba Swift-2 și anterioare nu sunt acceptate.
La începutul lui aprilie 2016, o sursă media anonimă de la Google a raportat că compania ia în considerare traducerea limbii Swift într-o limbă „de primă clasă” pentru platforma Android [15] . Prototipurile compilatorului Swift pentru Android au fost deja prezentate [16] [17] [18] .
Pe 19 septembrie 2017, Swift 4.0 a fost lansat.
În septembrie 2018 , împreună cu noua versiune a iOS 12 , a fost lansată o nouă versiune stabilă a limbajului Swift 4.2 și a apărut versiunea beta a Swift 5.0. Versiunea 5.0 a anunțat în sfârșit munca stabilă a ABI cu biblioteci standard (Swift Dynamic Library), suport pentru expresii regulate și o soluție de primă clasă pentru procesarea în paralel a datelor cu modul de procesare asincron async/wait [19] .
20 septembrie 2019 Swift 5.1 este următoarea lansare majoră a Swift, iar scopul său este să stabilească în sfârșit ABI.
Actualizări semnificative de limbă care adaugă funcții noi sau modifică condițiile de lucru anterioare sunt lansate la fiecare șase luni, de obicei în martie și septembrie.
Versiunea actuală a limbii pentru mai 2022 este Swift 5.6.
Descriere
Swift a împrumutat destul de mult de la Objective-C , totuși nu este definit de pointeri, ci de tipurile de variabile pe care compilatorul le gestionează . Multe limbaje de scripting funcționează pe un principiu similar. În același timp, oferă dezvoltatorilor multe caracteristici care erau disponibile anterior în C++ și Java , cum ar fi convențiile de denumire definibile, generice și supraîncărcarea operatorilor .
Unele dintre funcțiile limbajului sunt mai rapide decât în alte limbaje de programare. De exemplu, sortarea obiectelor complexe este de 3,9 ori mai rapidă decât Python și de aproape 1,5 ori mai rapidă decât Objective-C [20][21] .
Codul scris în Swift poate funcționa împreună cu codul scris în limbajele de programare C și Objective-C în cadrul aceluiași proiect [2] .
Apple a împărțit codul Swift în mai multe depozite deschise.
- Compiler și bibliotecă standard:
- Swift: depozitul Swift principal care conține codul sursă pentru compilatorul Swift, biblioteca standard și SourceKit;
- Swift-Evolution: documente legate de dezvoltarea continuă a Swift, inclusiv obiectivele pentru lansările viitoare, sugestii pentru modificări și extensii la Swift;
- Biblioteci Kernel:
- Swift corelibs-foundation: cod sursă pentru Foundation care oferă funcționalități comune pentru toate aplicațiile;
- Swift corelibs-libdispatch: cod sursă pentru libdispatch care furnizează primitive de concurență pentru rularea pe hardware multi-core ;
- Swift corelibs-xctest: cod sursă pentru XCTest, care oferă o infrastructură fundamentală de testare pentru aplicațiile și bibliotecile Swift;
- Manager de pachete:
- Swift package-manager: cod sursă pentru managerul de pachete Swift;
- Swift llbuild: cod sursă pentru llbuild, un sistem de nivel scăzut care utilizează managerul de pachete Swift;
- Arhivele clonate:
- Swift se bazează pe alte câteva proiecte open source, în special pe compilatorul LLVM.
- Swift llvm: cod sursă LLVM, cu biți și bucăți de adăugiri Swift;
- Swift clang: cod sursă pentru Clang, cu bucăți și bucăți de adăugiri Swift;
- Swift lldb: cod sursă pentru versiunea Swift a LLDB, pentru depanarea programelor Swift;
Exemplu de cod
// Variabilele
var implicitInteger = 70
var implicitDouble = 70,0
var explicitDouble : dublu = 70
// Constantele
lasă speedOfLight = 299 _792_458
fie numberOfApples = 345
fie numberOfOranges = 5
let appleSummary = "Am \(numberOfApples) mere."
let fruitSummary = "Am \(numberOfApples + numberOfOranges) bucăți de fructe."
imprimare ( „Bună ziua, lume” )
lasă oamenii = [ „Anna” : 67 , „Beto” : 8 , „Jack” : 33 , „Sam” : 25 ]
pentru ( nume , vârstă ) în oameni {
print ( "\(numele) are \(vârsta) ani." )
}
Vezi și
Note
- ↑ https://www.swift.org/blog/swift-5.7-released/
- ↑ 1 2 Apple anunță noul limbaj de programare Swift . Sotovik.ru (5 iunie 2014). Consultat la 5 iunie 2014. Arhivat din original la 17 aprilie 2016. (Rusă)
- ↑ Laforge, Guillaume. Limbajul de programare Swift de la Apple, inspirat de Groovy ( 2 iunie 2014). Consultat la 3 iunie 2014. Arhivat din original pe 5 iunie 2014.
- ↑ 1 2 Construirea assert() în Swift, Partea 2: __FILE__ și __LINE__ - Swift Blog - . Dezvoltator Apple. - „Swift împrumută o caracteristică inteligentă din limbajul D : acești identificatori se extind la locația apelantului atunci când sunt evaluați într-o listă implicită de argumente.” Consultat la 26 septembrie 2014. Arhivat din original la 21 noiembrie 2015. (nedefinit)
- ↑ swift/LICENSE.txt la Apple principal/Swift . Preluat la 3 iunie 2022. Arhivat din original la 9 aprilie 2016. (nedefinit)
- ↑ Apple (Rusia) - Apăsați Informații - Apple deschide codul sursă pentru limba Swift . Preluat la 29 septembrie 2017. Arhivat din original la 28 august 2016. (nedefinit)
- ↑ Sarcinile principale ale noului limbaj de programare Apple Swift sunt viteza și ușurința de dezvoltare . 3DNews (3 iunie 2014). Consultat la 3 iunie 2014. Arhivat din original pe 5 iunie 2014. (Rusă)
- ↑ Sarcinile principale ale noului limbaj de programare Apple Swift sunt viteza și ușurința de dezvoltare . 3DNews (3 iunie 2014). Consultat la 3 iunie 2014. Arhivat din original pe 5 iunie 2014. (Rusă)
- ↑ Pagina de pornire a lui Chris Lattner (3 iunie 2014). — „Am început să lucrez la limbajul de programare Swift în iulie 2010. Am implementat o mare parte din structura limbajului de bază, doar câțiva oameni știind despre existența lui. Alți câțiva oameni (uimitoare) au început să contribuie serios la sfârșitul anului 2011 și a devenit un obiectiv major pentru grupul de instrumente pentru dezvoltatori Apple în iulie 2013 [...] trăgând idei de la Objective-C, Rust, Haskell, Ruby, Python, C#, CLU și mult prea multe altele pentru a fi enumerate.” Preluat la 3 iunie 2014. Arhivat din original la 22 decembrie 2015. (nedefinit)
- ↑ Chris Lattner despre originile lui Swift - Ole Begemann . Preluat la 10 martie 2019. Arhivat din original la 15 martie 2019. (nedefinit)
- ↑ Limbajul de programare Swift . — Apple, 2014.
- ↑ Swift 2.0 va fi open source la sfârșitul anului. . Habrahabr (9 iunie 2015). Consultat la 9 iunie 2015. Arhivat din original pe 9 iunie 2015. (Rusă)
- ↑ Apple și-a deschis „limbajul viitorului”. . CNews (4 decembrie 2015). Consultat la 5 decembrie 2015. Arhivat din original pe 6 decembrie 2015. (Rusă)
- ↑ Despre Swift Arhivat 3 decembrie 2015 pe Wayback Machine - Site oficial.
- ↑ Google ar putea lua în considerare utilizarea Swift pe Android . Consultat la 10 martie 2017. Arhivat din original pe 9 martie 2017. (nedefinit)
- ↑ Rularea codului Swift pe Android . Consultat la 16 octombrie 2018. Arhivat din original la 1 iulie 2019. (nedefinit)
- ↑ Swift pe Android: Viitorul programării pe mai multe platforme? . Consultat la 16 octombrie 2018. Arhivat din original la 17 octombrie 2018. (nedefinit)
- ↑ swift/Android.md la master apple/swift GitHub . Consultat la 16 octombrie 2018. Arhivat din original la 1 septembrie 2018. (nedefinit)
- ↑ iOS 12: Perspectiva dezvoltatorului , AppTractor (13 septembrie 2018). Arhivat din original pe 7 noiembrie 2018. Preluat la 7 noiembrie 2018.
- ↑ Cum poate Swift să fie mult mai rapid decât Objective-C în aceste comparații? . programers.stackexchange.com. Data accesului: 18 mai 2016. Arhivat din original pe 9 iunie 2016. (nedefinit)
- ↑ Swanner, Nate . Google ar putea lua în considerare utilizarea Swift pe Android , The Next Web (7 aprilie 2016). Arhivat din original pe 9 martie 2017. Preluat la 10 martie 2017.
Link -uri
limbaj de programare C |
---|
|
Compilatoare |
|
---|
Biblioteci |
|
---|
Particularități |
|
---|
Unii descendenți |
|
---|
C și alte limbi |
|
---|
Categorie: limbaj de programare C |