Swift (programmeringssprog)
Swift |
---|
|
Sprog klasse |
multi- paradigme (protokolorienteret, objektorienteret , funktionel , imperativ ) |
Dukkede op i |
2014 |
Forfatter |
Chris Lattner [d] |
Udvikler |
Chris Lattner [d] ogApple |
Filtypenavn _ |
.swift |
Frigøre |
|
Større implementeringer |
LLVM |
Blev påvirket |
Objective-C , C++ , Java [2] , Rust , Scala , Python , Ruby , Smalltalk , Groovy [3] , D-sprog [4] |
Licens |
siden version 2.2 Open Source ( Apache 2.0 med en Runtime Library Exception [5] [6] ) |
Internet side |
swift.org |
OS |
macOS , iOS , iPadOS , tvOS , watchOS , Linux ,
Microsoft Windows |
Mediefiler på Wikimedia Commons |
Swift er et open source multiparadigme kompileret programmeringssprog til generelle formål udviklet og vedligeholdt af Apple . Den første version blev introduceret i 2014.
Swift bruges mest i appudvikling til macOS , iOS , iPadOS , watchOS og tvOS , men sproget er også tilgængeligt til Windows og Linux . På Apple-platforme fungerer sproget med Cocoa- og Cocoa Touch - rammerne og er kompatibelt med Apples kernekodebase skrevet i det tidligere Objective-C- sprog . Swift blev tænkt som et sprog, der er lettere at læse og mere modstandsdygtigt over for programmørfejl: en væsentlig del af de problemer, der i tilfælde af Objective-C kun findes under programafvikling og fører til nedbrud i Swift i princippet , tillader ikke kompilering af koden [7] .
Swift- kompileren er baseret på LLVM , hvilket betyder, at den samme kode kan kompileres til forskellige platforme: x86 , ARM , WASM og andre. Et sæt værktøjer (værktøjskæde) til at arbejde med sproget er indbygget i Xcode 6 og højere integreret udviklingsmiljø . Swift kan bruge Objective-C runtime , som gør det muligt at bruge begge sprog (samt C -sproget ) inden for samme program.
Historie
Craig Federighi , Senior Vice President for Softwareudvikling hos Apple , sagde under annonceringen af dette produkt, at Swift-programmeringssproget var fastlagt i NeXT -platformen ( NeXTSTEP OS blev udgivet i 1989-1995 ), som blev grundlaget for moderne macOS , og derefter iOS [8] .
Udvikling af det nuværende Swift-sprog blev startet i 2010 af Chris Lattner , leder af Apples softwareudviklingsværktøjer og en af hovedudviklerne af LLVM. Swift lånte ideer fra "Objective-C, Rust , Haskell , Ruby , Python , C# , CLU , og så mange flere sprog, det er svært at nævne" [9] . Det oprindelige navn for det nye sprog var Shiny [10] .
Den 2. juni 2014, på WWDC - konferencen , blev Swift officielt præsenteret sammen med en gratis 500-siders guide til brug af sproget, tilgængelig på iBook Store-tjenesten [11] .
Den 8. juni 2015 annoncerede Apple udgivelsen af en ny version af Swift 2.0, som fik højere ydeevne, en ny fejlhåndterings-API, sprogsyntaksforbedringer og en funktion til at kontrollere tilgængeligheden af Swift-funktioner til mål-OS [12] .
Den 3. december 2015 blev en betaversion af Swift 3.0 udgivet med understøttelse af OS X , iOS og Linux -operativsystemer og licenseret under Apache 2.0 åbne licens med en Runtime Library Exception [13] [14] . Version 3.0 er ikke bagudkompatibel med tidligere versioner af sproget; fra det oprindelige Xcode-udviklingsmiljø version 9 over Swift-2 sprogversionen og tidligere understøttes ikke.
I begyndelsen af april 2016 rapporterede en unavngiven mediekilde hos Google, at virksomheden overvejede at oversætte Swift-sproget til et "førsteklasses" sprog til Android-platformen [15] . Prototyperne af Swift-kompileren til Android er allerede blevet præsenteret [16] [17] [18] .
Den 19. september 2017 blev Swift 4.0 udgivet.
I september 2018 blev der sammen med den nye version af iOS 12 udgivet en ny stabil version af Swift 4.2-sproget, og betaversionen af Swift 5.0 dukkede op. Version 5.0 annoncerede endelig ABI 's stabile arbejde med standardbiblioteker (Swift Dynamic Library), understøttelse af regulære udtryk og en førsteklasses løsning til parallel behandling af data med asynkron behandlingstilstand async/await [19] .
September 20, 2019 Swift 5.1 er den næste store udgivelse af Swift, og dens mål er endelig at gøre ABI stabil.
Væsentlige sprogopdateringer, der tilføjer nye funktioner eller ændrer tidligere arbejdsforhold, udgives hvert halve år, normalt i marts og september.
Den aktuelle version af sproget for maj 2022 er Swift 5.6.
Beskrivelse
Swift har lånt ret meget fra Objective-C , men det er ikke defineret af pointere, men af de typer variabler, som compileren håndterer . Mange scriptsprog fungerer efter et lignende princip. Samtidig giver det udviklere mange funktioner, der tidligere var tilgængelige i C++ og Java , såsom definerbare navnekonventioner, generiske koder og operatøroverbelastning .
Nogle af sprogets funktioner er hurtigere end i andre programmeringssprog. For eksempel er sortering af komplekse objekter 3,9 gange hurtigere end Python og næsten 1,5 gange hurtigere end Objective-C [20][21] .
Kode skrevet i Swift kan fungere sammen med kode skrevet i programmeringssprogene C og Objective-C inden for samme projekt [2] .
Apple har opdelt Swift-koden i flere åbne depoter.
- Compiler og standardbibliotek:
- Swift: Swift-hovedlageret, der indeholder kildekoden til Swift-kompileren, standardbiblioteket og SourceKit;
- Swift-Evolution: Dokumenter relateret til den igangværende udvikling af Swift, herunder mål for kommende udgivelser, forslag til ændringer og udvidelser til Swift;
- Kernebiblioteker:
- Swift corelibs-foundation: kildekode til Foundation, der giver fælles funktionalitet for alle applikationer;
- Swift corelibs-libdispatch: kildekode til libdispatch som giver samtidighedsprimitiver til at køre på multi-core hardware ;
- Swift corelibs-xctest: kildekode til XCTest, som giver en grundlæggende testinfrastruktur til Swift-applikationer og -biblioteker;
- Pakkeadministrator:
- Swift package-manager: kildekode til Swift-pakkemanageren;
- Swift llbuild: kildekode til llbuild, et system på lavt niveau, der bruger Swifts pakke-manager;
- Klonede depoter:
- Swift er afhængig af flere andre open source-projekter, især LLVM-kompileren.
- Swift llvm: LLVM-kildekode, med bits og stykker af Swift-tilføjelser;
- Swift clang: kildekode til Clang, med bits og stykker af Swift-tilføjelser;
- Swift lldb: kildekode til Swift-versionen af LLDB, til fejlretning af Swift-programmer;
Eksempelkode
// Variabler
var implicitInteger = 70
var implicitDouble = 70,0
var eksplicitDouble : Dobbelt = 70
// Konstanter
lader speedOfLight = 299 _792_458
lad antal Æbler = 345
lad nummerOfOranges = 5
let appleSummary = "Jeg har \(antal Æbler) æbler."
let fruitSummary = "Jeg har \(antalOfApples + numberOfOranges) stykker frugt."
print ( "Hej verden" )
lad folk = [ "Anna" : 67 , "Beto" : 8 , "Jack" : 33 , "Sam" : 25 ]
for ( navn , alder ) hos personer {
print ( "\(navn) er \(alder) år gammel." )
}
Se også
Noter
- ↑ https://www.swift.org/blog/swift-5.7-released/
- ↑ 1 2 Apple annoncerer nyt Swift-programmeringssprog . Sotovik.ru (5. juni 2014). Hentet 5. juni 2014. Arkiveret fra originalen 17. april 2016. (Russisk)
- ↑ Laforge, Guillaume. Apples Swift-programmeringssprog inspireret af Groovy ( 2. juni 2014). Hentet 3. juni 2014. Arkiveret fra originalen 5. juni 2014.
- ↑ 1 2 Building assert() i Swift, del 2: __FILE__ og __LINE__ - Swift Blog - . Apple udvikler. - "Swift låner en smart funktion fra D-sproget : disse identifikatorer udvides til placeringen af den, der ringer, når de evalueres i en standard argumentliste." Hentet 26. september 2014. Arkiveret fra originalen 21. november 2015. (ubestemt)
- ↑ swift/LICENSE.txt på hoved apple/swift . Hentet 3. juni 2022. Arkiveret fra originalen 9. april 2016. (ubestemt)
- ↑ Apple (Rusland) - Presseinfo - Apple åbner kildekode til Swift-sproget . Hentet 29. september 2017. Arkiveret fra originalen 28. august 2016. (ubestemt)
- ↑ Hovedopgaverne for det nye Apple Swift-programmeringssprog er hastighed og nem udvikling . 3DNews (3. juni 2014). Hentet 3. juni 2014. Arkiveret fra originalen 5. juni 2014. (Russisk)
- ↑ Hovedopgaverne for det nye Apple Swift-programmeringssprog er hastighed og nem udvikling . 3DNews (3. juni 2014). Hentet 3. juni 2014. Arkiveret fra originalen 5. juni 2014. (Russisk)
- ↑ Chris Lattners hjemmeside (3. juni 2014). — "Jeg startede arbejdet med Swift-programmeringssproget i juli 2010. Jeg implementerede meget af den grundlæggende sprogstruktur, hvor kun få mennesker vidste om dets eksistens. Et par andre (fantastiske) mennesker begyndte for alvor at bidrage i slutningen af 2011, og det blev et stort fokus for Apple Developer Tools-gruppen i juli 2013 [...] med ideer fra Objective-C, Rust, Haskell, Ruby, Python, C#, CLU og alt for mange andre til at nævne." Hentet 3. juni 2014. Arkiveret fra originalen 22. december 2015. (ubestemt)
- ↑ Chris Lattner om Swift-Ole Begemanns oprindelse . Hentet 10. marts 2019. Arkiveret fra originalen 15. marts 2019. (ubestemt)
- ↑ The Swift Programming Language . - Apple, 2014.
- ↑ Swift 2.0 vil være open source i slutningen af året. . Habrahabr (9. juni 2015). Hentet 9. juni 2015. Arkiveret fra originalen 9. juni 2015. (Russisk)
- ↑ Apple åbnede sit "fremtidens sprog". . CNews (4. december 2015). Hentet 5. december 2015. Arkiveret fra originalen 6. december 2015. (Russisk)
- ↑ Om Swift Arkiveret 3. december 2015 på Wayback Machine - Officielt websted.
- ↑ Google overvejer muligvis Swift til brug på Android . Hentet 10. marts 2017. Arkiveret fra originalen 9. marts 2017. (ubestemt)
- ↑ Kører Swift-kode på Android . Hentet 16. oktober 2018. Arkiveret fra originalen 1. juli 2019. (ubestemt)
- ↑ Swift på Android: Fremtiden for cross-platform programmering? . Hentet 16. oktober 2018. Arkiveret fra originalen 17. oktober 2018. (ubestemt)
- ↑ swift/Android.md på master apple/swift GitHub . Hentet 16. oktober 2018. Arkiveret fra originalen 1. september 2018. (ubestemt)
- ↑ iOS 12: Developer 's Perspective , AppTractor (13. september 2018). Arkiveret fra originalen den 7. november 2018. Hentet 7. november 2018.
- ↑ Hvordan kan Swift være så meget hurtigere end Objective-C i disse sammenligninger? . programmers.stackexchange.com. Dato for adgang: 18. maj 2016. Arkiveret fra originalen 9. juni 2016. (ubestemt)
- ↑ Swanner, Nate . Google overvejer muligvis Swift til brug på Android , The Next Web (7. april 2016). Arkiveret fra originalen den 9. marts 2017. Hentet 10. marts 2017.
Links
C programmeringssprog |
---|
|
Kompilere |
|
---|
Biblioteker |
|
---|
Ejendommeligheder |
|
---|
Nogle efterkommere |
|
---|
C og andre sprog |
|
---|
Kategori:C programmeringssprog |