Swift (programmalastırıw tili)

Swift - joqarı dárejeli ulıwma maqsetli, kóp paradigmalı, kompilyaciyalanǵan programmalastırıw tili. Ol Apple Inc. hám ashıq kodlı jámiyetshilik tárepinen jaratılǵan til. Swift mashina kodına kompilyaciya isleydi, óytkeni ol LLVM tiykarındaǵı kompilyator. Swift dáslepki ret 2014 jıl iyunda shıǵarıldı[1] hám Swift úskeneler dizbegi 2014 jılı shıǵarılǵan, 6-versiyasınan baslap Xcode-ta jetkizildi.

Apple kompaniyası Swift-ti Objective-C menen baylanıslı bolǵan kóplegen tiykarǵı koncepciyalardı, atap aytqanda dinamikalıq jiberiw, keń tarqalǵan keshiktiriw, keńeytilgen programmalastırıw hám uqsas imkaniyatlardı qollawǵa arnalǵan, biraq programmalıq qural qátelerin anıqlawdı jeńilletetuǵın “qáwipsiz” usıl menen; Swift-te nol kórsetkishin alıp taslaw sıyaqlı ayırım ulıwma programmalastırıw qátelerin sheshetuǵın imkaniyatlar bar hám apat piramidasınıń aldın alıwǵa járdemlesetuǵın sintaksislik “qanttı” támiyinleydi. Swift protokoldı keńeytiw koncepciyasın, tiplerge, strukturalarǵa hám klaslarǵa qollanıwǵa bolatuǵın keńeytpe sistemasın qollaydı, onı Apple programmalastırıw paradigmalarınıń anıq ózgerisi retinde “protokolǵa baǵdarlanǵan programmalastırıw” dep ataydı (belgiler menen tip klaslarına uqsas).[2]

Swift Apple kompaniyasınıń 2014 jılǵı dúnyajúzlik baǵdarlamashılar konferenciyasında (WWDC) kópshilikke tanıstırıldı.[3] Ol 2014 jılı 1.2 versiyasına hám WWDC 2015 kórgizbesinde Swift 2 versiyasına quramalı jańalawdı ótkerdi. Dáslebinde menshikli til, 2.2 versiyası Apple platformaları menen Linux ushın, 2015 jıl 3-dekabrde Apache 2.0 licenziyası boyınsha ashıq kodlı programmalıq quralǵa aylandı.[4][5]

3.0 versiyası arqalı Swift sintaksisi zárúr evolyuciyadan ótti, tiykarǵı topar keyingi versiyalarda dáslepki turaqlılıqqa itabar berdi.[6][7] 2018 jıldıń birinshi shereginde Swift ataqlılıǵı boyınsha Objective-C-den ozıp ketti.[8]

2017 jılı shıǵarılǵan Swift 4.0 ayırım ornatılǵan klaslar menen strukturalarǵa birneshe ózgerisler kirgizdi. Swift programmasınıń aldıńǵı versiyaları menen jazılǵan kodtı Xcode ishine ornatılǵan tasıw funkciyası arqalı jańalawǵa boladı. 2019 jıl mart ayında shıǵarılǵan Swift 5 Apple platformalarında Swift jumıs waqtın Apple operacion sistemalarına kirgiziwge imkaniyat beretuǵın turaqlı ekilik interfeysti usındı. Ol Swift 4 penen úylesimli derek bolıp tabıladı.[9]

Swift 5.1 rásmiy túrde 2019 jıl sentyabrde shıǵarıldı. Swift 5.1 modul turaqlılıǵın engiziw arqalı kompilyaciya waqtında tildiń turaqlı imkaniyatların keńeytiw Swift 5-tiń aldıńǵı versiyasına tiykarlanadı. Modul turaqlılıǵın engiziw Swift-tiń keleshektegi versiyaları menen jumıs isleytuǵın ekilik freymvorklerdi jaratıwǵa hám ulıwma paydalanıwǵa imkaniyat beredi.[10]

2021 jılda ótkerilgen WWDC-te Apple rásmiy túrde járiyalaǵan Swift 5.5 parallel hám asinxron kod ushın til qollawın aytarlıqtay keńeytedi, atap aytqanda aktyor modeliniń unikal versiyasın usınadı.[11]

Swift 5.9, 2023 jıl sentyabrde shıǵarıldı hám makrosistemanı, ulıwma parametr paketlerin hám jańa tutınıw operatorı sıyaqlı iyelik imkaniyatların qamtıydı.[12]

Aǵımdaǵı versiyası, Swift 5.10, 2024 jıl mart ayında shıǵarıldı. Bul versiya maǵlıwmatlar jarısınıń aldın alıw ushın maǵlıwmatlardı tolıq izolyaciyalawǵa imkaniyat beretuǵın tildiń parallel modelin jaqsılaydı. Bul sonday-aq Swift 6 aldındaǵı sońǵı versiya.[13] 5.10 versiyası házirgi waqıtta macOS, Windows hám tájiriybelik paydalanıwda Linux ushın bar.[14]

Swift programmalastırıw tilin jaratıw 2010 jıldıń iyul ayında Kris Lattner hám Apple-degi kóplegen basqa baǵdarlamashılardıń birge islesiwi menen baslandı. Swiftke Apple kompaniyasınıń 1980 jıllardıń basınan berli aytarlıqtay ózgerissiz qalǵan hám zamanagóy til imkaniyatları joq burınǵı Objective-C programmalastırıw tilin almastırıw zárúrligi túrtki boldı. Swift til ideyaların “Objective-C, Rust, Haskell, Ruby, Python, C#, CLU hám dizimge kirmeytuǵın basqada tillerden” aldı. 2014 jıl 2-iyunda Apple Worldwide Developers Conference (WWDC) qosımshası Swift járdemi menen jazılǵan birinshi hámmege ǵalabalıq programma boldı.[15] Konferenciyada dizimnen ótken Apple baǵdarlamashılarına programmalastırıw tildiń beta versiyası shıǵarıldı, biraq kompaniya Swift-tiń sońǵı versiyası sınaq versiya menen úylesimli ashıq kod boladı dep wáde bermedi. Tolıq shıǵarılım ushın kerek bolsa, Apple ashıq kod túrlendirgishlerin kópshilikke usınıwdı rejelestirdi.

Swift programmalastırıw tiliniń biypul 500 betlik qollanbası WWDC-te shıǵarıldı hám Apple Books Store menen rásmiy veb-saytında bar.[16]

Platformalar

redaktorlaw

Swift qollaytuǵın platformalar - Apple operacion sistemaları (Darwin, iOS, iPadOS, macOS, tvOS, watchOS), Linux, Windows hám Android.[17][18]

Swift dizaynınıń tiykarǵı aspekti onıń Cocoa hám Cocoa Touch freymvorkları sıyaqlı aldınǵı on jıllıqlarda Apple ónimleri ushın islep shıǵarılǵan ámeldegi Objective-C kodınıń úlken bólimi menen óz-ara islesiw imkaniyatı bolıp tabıladı. Apple platformalarında[19] ol C,  Objective-C, C++ hám Swift kodların bir programmada iske túsiriwge imkaniyat beretuǵın Objective-C jumıs waqtı kitapxanası menen baylanısadı.[20]

Ózgeshelikleri

redaktorlaw

Swift - bul programmalastırıw tili teoriyasınıń zamanagóy koncepciyaların qollanatuǵın hám ápiwayı, biraq kúshli sintaksisti usınıwǵa háreket etetuǵın ulıwma maqsetli programmalastırıw tili. Swift hár túrli programmalastırıw tillerindegi innovaciyalar menen konvenciyalardı biriktiredi, ol Apple platformalarında tiykarǵı jaratıw tili retinde almastırılǵan Objective-C-den ayrıqsha ilhamlandırıladı

Swift tezligin joǵaltpay, jańa baǵdarlamashılar ushın qáwipsiz hám miyrimli bolıw ushın jaratılǵan. Ádepki boyınsha Swift barlıq yadtı avtomat túrde basqaradı hám ózgeriwshi mánislerdiń bárqulla paydalanıw aldında inicializaciyalanıwın támiyinleydi. Massiv qatnası shamadan tıs qáteler ushın tekseriledi hám pútin operaciyalar tolıp ketiw ushın tekseriledi. Parametr atları anıq API dúziwge imkaniyat beredi. Protokollar tipler qabıllay alatuǵın interfeyslerdi anıqlaydı, al keńeytpeler baǵdarlamashılarǵa bar tiplerge kóbirek funkciya qosıwǵa imkaniyat beredi. Swift klasları, sub tiplerdi hám metodtı qayta anıqlawdı qollaw arqalı obyektke baǵdarlanǵan programmalastırıwǵa imkaniyat beredi. Qosımshalar nol mánislerin anıq hám qáwipsiz qayta islewge imkaniyat beredi. Bir waqıttaǵı programmalardı asinxronlaw/kútiw sintaksisi arqalı jazıwǵa boladı hám aktyorler maǵlıwmatlar jarısların óshiriw ushın ulıwma ózgermeli jaǵdaydı izolyaciyalaydı.[21][22]

Tiykarǵı sintaksis

redaktorlaw

Swift sintaksisi C stilindegi tillerge uqsas. Kod ádepki boyınsha global kólemde orınlana baslaydı[23] Yaǵnıy, @main atributı strukturanı, klastı yamasa programmanıń kiriw noqatın qamtıp kórsetiw ushın, dizimge alıw deklaraciyasın (járiyalanıwın) qollanıwǵa boladı..[24]

Swifttiń "Sálem, Álem!" programması tómendegishe:

print("Sálem, álem!")

Bunda paydalanılatuǵın print(_:separator:terminator:) funkciyası sırtqı modullerdi importlawdı talap etpesten, barlıq programmalarda bar bolǵan Swift standart kitapxanasına kiredi. Swift tilindegi operatorlar noqatlı útir menen juwmaqlanbawı kerek, biraq bir qatarda jazılǵan bir neshe operatordı bóliw ushın noqatlı útir kerek. Bir qatarlı kommentariyalar // arqalı baslanadı hám aǵımdaǵı qatardıń sońına shekem dawam etedi. Kóp qatarlı kommentariyalar /* hám */ simvollarınan ibarat.. Konstantalar let gilt sózi menen, al ózgeriwshiler var gilt sózi menen járiyalanadı. Mánisler oqılmastan aldın inicializaciyalanıwı kerek. Mánisler berilgen dáslepki mánistiń tipin shıǵarıwı múmkin. Dáslepki mánis, mánisti járiyalawdan keyin ornatılsa, tip anıq túrde járiyalanıwı kerek.[23]

let highScoreThreshold = 1000 // Int tipindegi konstanta. Tip berilgen mánis tiykarında shıǵarıladı.

var currentScore = 980 // Int tipindegi ózgeriwshi.
currentScore = 1200 // Ózgeriwshilerdiń mánisi waqıttıń ótiwi menen ózgeriwi múmkin.

let playerMessage: String // String anıq tipi bar konstanta.
if currentScore > highScoreThreshold {
    playerMessage = "Siz eń jaqsı oyınshısız!"
} else {
    playerMessage = "Keyingi ret sátlilik."
}

print(playerMessage) // "Siz eń jaqsı oyınshısız!" dep basıp shıǵaradı.
  1. Lardinois. „Apple Launches Swift, A New Programming Language For Writing iOS And OS X Apps“ (en-US). TechCrunch (2-iyun 2014-jıl). Qaraldı: 7-sentyabr 2022-jıl.
  2. „Concepts are similar to Rust Traits“.
  3. Williams. „Tim Berners-Lee's sixtieth birthday Apple announces Swift, a new programming language for iOS“. The Next Web (2-iyun 2014-jıl). Qaraldı: 2-iyun 2014-jıl.
  4. „Apple's new programming language Swift is now open source“. The Verge (3-dekabr 2015-jıl). Qaraldı: 5-dekabr 2015-jıl.
  5. „Apple Open Sources Swift in Latest Pitch to the Enterprise“. The Wall Street Journal Blogs (3-dekabr 2015-jıl). Qaraldı: 5-dekabr 2015-jıl.
  6. „Looking back on Swift 3 and ahead to Swift 4“. Swift Forums (29-iyul 2016-jıl). Qaraldı: 19-noyabr 2018-jıl.
  7. „Swift-Evolution“. Swift Evolution. Qaraldı: 19-noyabr 2018-jıl.
  8. „The RedMonk Programming Language Rankings: January 2018 – tecosystems“ (en-US). redmonk.com (7-mart 2018-jıl). Qaraldı: 20-noyabr 2018-jıl.
  9. Kremenek. „Swift 5 Released!“ (25-mart 2019-jıl).
  10. Kremenek. „Swift 5.1 Released!“ (20-sentyabr 2019-jıl). 26-fevral 2022-jılda túp nusqadan arxivlendi. Qaraldı: 28-oktyabr 2019-jıl.
  11. Hudson. „What's new in Swift 5.5?“. HackingWithSwift.com. Hacking with Swift (6-iyun 2021-jıl). Qaraldı: 8-iyun 2021-jıl.
  12. „Swift 5.9 Released“ (en). Swift.org (18-sentyabr 2023-jıl). Qaraldı: 9-oktyabr 2023-jıl.
  13. Borla. „Swift 5.10 Released“ (en). Swift.org (5-mart 2024-jıl). Qaraldı: 13-mart 2024-jıl.
  14. „Swift.org“ (en). Swift.org (mart 2014). Qaraldı: 28-aprel 2024-jıl.
  15. Silteme kórsetiwdegi qátelik: Жарамсыз <ref> тегі; no text was provided for refs named stateoftheplatforms
  16. The Swift Programming Language. Apple, June 2, 2014. 
  17. Readdle. „Swift for Android: Our Experience and Tools“ (en). Medium (15-yanvar 2020-jıl). Qaraldı: 20-avgust 2020-jıl.
  18. Anderson. „Official tailored Swift for Windows support promised in 5.3: Swift on more platforms – provided you do not need a GUI“. The Register (30-mart 2020-jıl). Qaraldı: 18-sentyabr 2020-jıl.
  19. „The Swift Linux Port“ (en-US). Swift.org. Apple Inc (3-dekabr 2015-jıl). Qaraldı: 3-avgust 2016-jıl.
  20. Timmer. „A fast look at Swift, Apple's new programming language“. Ars Technica. Condé Nast (5-iyun 2014-jıl). Qaraldı: 6-iyun 2014-jıl.
  21. „Documentation“. docs.swift.org. Qaraldı: 17-noyabr 2023-jıl.
  22. „Eliminate data races using Swift Concurrency - WWDC22 - Videos“. Apple Inc. Qaraldı: 17-noyabr 2023-jıl.
  23. 23,0 23,1 „Documentation“. docs.swift.org. Qaraldı: 15-oktyabr 2023-jıl. Silteme kórsetiwdegi qátelik: Invalid <ref> tag; name "Documentation" defined multiple times with different content
  24. „Documentation“. docs.swift.org. Qaraldı: 15-oktyabr 2023-jıl.

Sırtqı siltemeler

redaktorlaw