സ്വിഫ്റ്റ് (പ്രോഗ്രാമിങ് ഭാഷ)

പ്രോഗ്രാമിങ് ഭാഷ
(Swift (programming language) എന്ന താളിൽ നിന്നും തിരിച്ചുവിട്ടതു പ്രകാരം)


ആപ്പിൾ കോർപ്പറേഷൻ വികസിപ്പിച്ച പൊതുഉപയോഗത്തിനായുള്ള വിവിധ മാതൃകകൾ പിന്തുണക്കുന്ന ഉന്നതതല പ്രോഗ്രാമിങ് ഭാഷയാണ് സ്വിഫ്റ്റ്. ആപ്പിളിന്റെ മാക് ഒഎസ്, ഐ ഒഎസ്, വാച്ച്ഒഎസ്, ടിവി ഒഎസ് എന്നീ ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളിലും ലിനക്സ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിലും സ്വിഫ്റ്റിന് പിന്തുണയുണ്ട്. സ്വിഫ്റ്റ് ആപ്പിളിന്റെ കൊക്കോ, കൊക്കോ ടച്ച് എന്നീ ചട്ടക്കൂടുകളിലും ആപ്പിൾ ഉപകരണങ്ങൾക്കുവേണ്ടി എഴുതപ്പെട്ട ഒബ്ജക്റ്റീവ്-സി കോഡ് സഞ്ചയത്തിനുമൊപ്പം പ്രവർത്തിക്കാൻ രൂപകൽപ്പന ചെയ്യപ്പെട്ട ഭാഷയാണ്. സ്വതന്ത്ര സോഫ്റ്റ്‌വെയർ സങ്കേതത്തിലുള്ള എൽഎൽവിഎം കംപൈലർ ഉപയോഗിച്ച് നിർമ്മിച്ചിട്ടുള്ള സ്വിഫ്റ്റ് ആപ്പിളിന്റെ എക്സ്കോഡ് ഐഡിഇ യുടെ 6 ആം പതിപ്പ് മുതൽ കൂട്ടിച്ചേർത്തു. ലിനക്സ് ഒഴികെയുള്ള പ്രതലങ്ങളിൽ[7] സ്വിഫ്റ്റ് ഒബ്ജക്റ്റീവ്-സിയുടെ റൺടൈം ലൈബ്രറി ഉപയോഗിക്കുന്നതിനാൽ ഒരേ പ്രോഗ്രാമിൽ തന്നെ സി, ഒബ്ജക്റ്റീവ്-സി, സി++, സ്വിഫ്റ്റ് ഭാഷകൾ ഉപയോഗിക്കാൻ കഴിയുന്നു.[8]

സ്വിഫ്റ്റ്(പ്രോഗ്രാമിങ് ഭാഷ)
ശൈലി:Multi-paradigm: protocol-oriented, object-oriented, functional, imperative, block structured
രൂപകൽപ്പന ചെയ്തത്:Chris Lattner and Apple Inc.
വികസിപ്പിച്ചത്:Apple Inc.
ഡാറ്റാടൈപ്പ് ചിട്ട:Static, strong, inferred
സ്വാധീനിക്കപ്പെട്ടത്:Objective-C,[1] Rust, Haskell, Ruby, Python, C#, CLU,[2] D,[3]Object Pascal[4]
അനുവാദപത്രം:Apache License 2.0 (Swift 2.2 and later)
Proprietary (up to Swift 2.2)[5][6]
വെബ് വിലാസം:swift.org

ഒബ്ജക്റ്റീവ്-സിയിലെ കേന്ദ്ര ആശയങ്ങളായ ഡൈനാമിക് ഡിസ്പാച്ച്, ലേറ്റ് ബൈൻഡിങ്, എക്സറ്റൻസിബിൾ പ്രോഗ്രാമിംഗ് മുതലായവ സ്വിഫ്റ്റിലും സന്നിവേശിപ്പിച്ചു. എന്നാൽ കൂടുതൽ അപകടരഹിതമായാണെന്നു മാത്രം. അതുമൂലം സോഫ്റ്റ്‌വെയർ ബഗ്ഗുകളെ എളുപ്പത്തിൽ കണ്ടെത്താനാകുന്നു. സാധാരണ ബഗ്ഗുകളായ നൾ പോയിന്റർ, പിരമിഡ് ഓഫ് ഡൂം എന്നിവയൊക്കെ ഒഴിവാക്കാൻ സ്വിഫ്റ്റിൽ എളുപ്പമാണ്. സ്വിഫ്റ്റ് പ്രോട്ടോകോൾ എക്സറ്റൻസിബിലിറ്റി എന്ന ആശയത്തെ പിന്തുണക്കുന്നുണ്ട്, ഇത് പരമ്പരാഗത പ്രോഗ്രാമിങ് ശൈലികളിൽ നിന്നും വിട്ട് നൂതനമായ പ്രോട്ടോക്കോൾ ഓറിയന്റഡ് പ്രോഗ്രാമിങ് എന്ന് ആപ്പിൾ വിളിക്കുന്ന ഒരു ശൈലിയെ പിൻപറ്റുന്നു.[9]

2014-ൽ ആപ്പിളിന്റെ ആഗോള ഡെവലപ്പർ കോൺഫറൻസിൽ (WWDC) വെച്ചാണ് സ്വിഫ്റ്റ് പുറത്തിറക്കിയത്.[10] അതേവർഷം തന്നെ പുതുക്കിയ പതിപ്പ് 1.2 പുറത്തു വന്നു. 2015 ലെ കോൺഫറൻസിൽ വലിയ മാറ്റങ്ങളോടെ സ്വിഫ്റ്റ് 2 പതിപ്പ് പുറത്തിറക്കി. ആദ്യം കുത്തക സോഫ്റ്റ്‌വെയർ ആയിരുന്നു സ്വിഫ്റ്റ് എങ്കിലും ഡിസംബർ 3, 2015 -ൽ പുറത്ത് വന്ന 2.2 പതിപ്പോടെ സ്വിഫ്റ്റ് സ്വതന്ത്ര സോഫ്റ്റ്‌വെയർ രംഗത്തേക്ക് ചുവടുമാറ്റി.[11][12] അപ്പാച്ചെ അനുമതിപത്രം 2.0 ആണ് സ്വിഫ്റ്റ് ഉപയോഗിക്കുന്നത്.

ജനകീയ പ്രോഗ്രാമിങ് ഭാഷകളെ റാങ്ക് ചെയ്യുന്ന ടിയോബ് സൂചികയിൽ മാർച്ച് 2017-ൽ സ്വിഫ്റ്റ് ആദ്യ പത്തിലെത്തി.[13] മൊബൈൽ പ്രോഗ്രാമിങ് സാമറിൻ , സി ഷാർപ് മുതലായ ഭാഷകളിലേക്ക് നീങ്ങിയപ്പോൾ സ്വിഫ്റ്റിന് സ്ഥാനഭ്രംശം സംഭവിച്ചു തുടങ്ങി. ഏപ്രിൽ 2018-ലെ കണക്കനുസരിച്ച് ടിയോബ് സൂചികയിൽ 15 ആം സ്ഥാനത്തായിരുന്നു.[14] എന്നാൽ ഒക്ടോബർ 2018ൽ വീണ്ടും പത്താം സ്ഥാനം കയ്യടക്കി സ്വിഫ്റ്റ് ജനകീയമായി തന്നെ നിലകൊള്ളുന്നു.[15]

2017-ൽ പുറത്തിറങ്ങിയ സ്വിഫ്റ്റ് 4.0, ചില ബിൽറ്റ്-ഇൻ ക്ലാസുകളിലും ഘടനകളിലും നിരവധി മാറ്റങ്ങൾ അവതരിപ്പിച്ചു. സ്വിഫ്റ്റിന്റെ മുൻ പതിപ്പുകൾ ഉപയോഗിച്ച് എഴുതിയ കോഡ് എക്‌സ്‌കോഡിൽ നിർമ്മിച്ച മൈഗ്രേഷൻ ഫംഗ്‌ഷണാലിറ്റി ഉപയോഗിച്ച് അപ്‌ഡേറ്റ് ചെയ്യാൻ കഴിയും. 2019 മാർച്ചിൽ പുറത്തിറങ്ങിയ സ്വിഫ്റ്റ് 5, ആപ്പിൾ പ്ലാറ്റ്‌ഫോമുകളിൽ സ്ഥിരതയുള്ള ബൈനറി ഇന്റർഫേസ് അവതരിപ്പിച്ചു, സ്വിഫ്റ്റ് റൺടൈം ആപ്പിൾ ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളിൽ ഉൾപ്പെടുത്താൻ അനുവദിക്കുന്നു. ഇത് സ്വിഫ്റ്റ് 4-ന് അനുയോജ്യമായ ഉറവിടമാണ്.[16]

2019 സെപ്റ്റംബറിൽ സ്വിഫ്റ്റ് 5.1 ഔദ്യോഗികമായി പുറത്തിറങ്ങി. മൊഡ്യൂൾ സ്റ്റെബിലിറ്റിയുടെ ആമുഖത്തോടെ ഭാഷയുടെ സ്ഥിരതയുള്ള സവിശേഷതകൾ കംപൈൽ-ടൈം വരെ വിപുലീകരിച്ചുകൊണ്ട് സ്വിഫ്റ്റ് 5.1 സ്വിഫ്റ്റ് 5-ന്റെ മുൻ പതിപ്പിൽ നിർമ്മിക്കുന്നു. മൊഡ്യൂൾ സ്റ്റെബിലിറ്റിയുടെ ഇന്റർഫേസ് സ്വിഫ്റ്റിന്റെ ഭാവി റിലീസുകളിൽ പ്രവർത്തിക്കുന്ന ബൈനറി ചട്ടക്കൂടുകൾ സൃഷ്ടിക്കാനും പങ്കിടാനും സാധ്യമാക്കുന്നു.[17]

സ്വിഫ്റ്റിന്റെ വലിയ മാറ്റങ്ങൾ വരുന്ന പതിപ്പുകളിൽ ഭാഷയുടെ ഘടനയിലും വിന്യാസത്തിലും (Syntax) വ്യത്യാസങ്ങൾ വരുത്തിയതുമൂലം കോഡ് വീണ്ടുമെഴുതേണ്ട അവസ്ഥ വന്നു. അതുകൊണ്ട് വലിയ കോഡ് സഞ്ചയം ഉള്ള പല ഡെവലപ്പർമാരും സ്വിഫ്റ്റ് ഏറ്റെടുക്കാൻ താല്പര്യം കാണിക്കുന്നില്ല.[18]

2021 ഡബ്ല്യൂഡബ്ല്യൂഡിസി(WWDC)യിൽ ആപ്പിൾ ഔദ്യോഗികമായി പ്രഖ്യാപിച്ച സ്വിഫ്റ്റ് 5.5, കൺകറൻസിക്കും അസിൻക്രണസ് കോഡിനുമുള്ള ഭാഷാ പിന്തുണ നൽകുന്നു, പ്രത്യേകിച്ച് ആക്ടർ മോഡലിന്റെ തനതായ പതിപ്പ് അവതരിപ്പിക്കുന്നു.[19]

ചരിത്രം

തിരുത്തുക

ആപ്പിളിലെ മറ്റ് നിരവധി പ്രോഗ്രാമർമാരുടെ സഹകരണത്തോടെ ക്രിസ് ലാറ്റ്നർ 2010 ജൂലൈയിൽ സ്വിഫ്റ്റിന്റെ വികസനം ആരംഭിച്ചു. സ്വിഫ്റ്റ് ഭാഷാ ആശയങ്ങൾ "ഒബ്ജക്റ്റീവ്-സി, റസ്റ്റ്, ഹാസ്‌കെൽ, റൂബി, പൈത്തൺ, സി#, സി‌എൽ‌യു എന്നിവയിൽ നിന്നും ലിസ്റ്റ് ചെയ്യാൻ കഴിയാത്ത മറ്റ് പലതിൽ നിന്നും" സ്വീകരിച്ചു.[2] 2014 ജൂൺ 2-ന്, ആപ്പിൾ വേൾഡ് വൈഡ് ഡെവലപ്പേഴ്‌സ് കോൺഫറൻസ് (WWDC) ആപ്ലിക്കേഷൻ സ്വിഫ്റ്റ് ഉപയോഗിച്ച് എഴുതിയ ആദ്യത്തെ പരസ്യമായി പുറത്തിറക്കിയ ആപ്ലിക്കേഷനായി മാറി.[20] കോൺഫറൻസിൽ രജിസ്റ്റർ ചെയ്ത ആപ്പിൾ ഡെവലപ്പർമാർക്കായി പ്രോഗ്രാമിംഗ് ഭാഷയുടെ ബീറ്റാ പതിപ്പ് പുറത്തിറക്കി, എന്നാൽ സ്വിഫ്റ്റിന്റെ അവസാന പതിപ്പ് ടെസ്റ്റ് പതിപ്പിന് അനുയോജ്യമായ സോഴ്സ് കോഡായിരിക്കുമെന്ന് കമ്പനി വാഗ്ദാനം ചെയ്തില്ല. പൂർണ്ണമായ റിലീസിന് ആവശ്യമെങ്കിൽ സോഴ്സ് കോഡ് കൺവെർട്ടറുകൾ ലഭ്യമാക്കാൻ ആപ്പിൾ പദ്ധതിയിട്ടിരുന്നു.[20]

സ്വിഫ്റ്റ് പ്രോഗ്രാമിംഗ് ലാംഗ്വേജ്, 500 പേജുള്ള സൗജന്യ മാനുവൽ, ഡബ്ല്യുഡബ്ല്യുഡിസിയിലും പുറത്തിറങ്ങി, ആപ്പിൾ ബുക്ക് സ്‌റ്റോറിലും ഔദ്യോഗിക വെബ്‌സൈറ്റിലും ലഭ്യമാണ്.[21]

ഐഒഎസിനുള്ള എക്സ്കോഡ്(Xcode)6.0-ന്റെ ഗോൾഡ് മാസ്റ്ററുമായി 2014 സെപ്റ്റംബർ 9-ന് സ്വിഫ്റ്റ് 1.0 എത്തി.[22]

  1. Lattner, Chris (2014-06-03). "Chris Lattner's Homepage". Chris Lattner. Retrieved 2014-06-03. The Swift language is the product of tireless effort from a team of language experts, documentation gurus, compiler optimization ninjas, and an incredibly important internal dogfooding group who provided feedback to help refine and battle-test ideas. Of course, it also greatly benefited from the experiences hard-won by many other languages in the field, drawing ideas from Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list.
  2. 2.0 2.1 Lattner, Chris (June 3, 2014). "Chris Lattner's Homepage". Chris Lattner. Retrieved June 3, 2014. I started work on the Swift Programming Language in July of 2010. I implemented much of the basic language structure, with only a few people knowing of its existence. A few other (amazing) people started contributing in earnest late in 2011, and it became a major focus for the Apple Developer Tools group in July 2013 [...] drawing ideas from Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list.
  3. "Building assert() in Swift, Part 2: __FILE__ and __LINE__". Retrieved September 25, 2014.
  4. "Why Does Apple's Swift Use Pascal's Variable Declaration Syntax?". Inner Exception. Retrieved 10 March 2018.
  5. "Swift, Objectively". Swift is proprietary and closed: It is entirely controlled by Apple and there is no open source implementation.
  6. Lattner, Chris (ജൂൺ 11, 2014). "Re: [LLVMdev] [cfe-dev] [Advertisement] open positions in Apple's Swift compiler team". Archived from the original on ജൂലൈ 14, 2014. Retrieved ജൂൺ 12, 2014. You can imagine that many of us want it to be open source and part of LLVM, but the discussion hasn't happened yet, and won't for some time.
  7. "The Swift Linux Port". Swift.org. Apple Inc. Retrieved 3 August 2016.
  8. Timmer, John (June 5, 2014). "A fast look at Swift, Apple's new programming language". Ars Technica. Condé Nast. Retrieved June 6, 2014.
  9. Protocol-oriented Programming in Swift. Apple Inc. YouTube.
  10. Williams, Owen (June 2, 2014). "Tim Berners-Lee's sixtieth birthday Apple announces Swift, a new programming language for iOS". The Next Web. Retrieved June 2, 2014.
  11. "Apple's new programming language Swift is now open source". The Verge. Retrieved 2015-12-05.
  12. "Apple Open Sources Swift in Latest Pitch to the Enterprise". CIO Journal. The Wall Street Journal Blogs. 2015-12-03. Retrieved 2015-12-05. {{cite web}}: Unknown parameter |registration= ignored (|url-access= suggested) (help)
  13. Hein, Buster (March 9, 2017). "Swift is already one of the world's most popular programming languages". Cult of Mac.
  14. TIOBE Index for April 2018, accessed April 2018
  15. https://www.tiobe.com/tiobe-index/
  16. Kremenek, Ted (March 25, 2019). "Swift 5 Released!".
  17. Kremenek, Ted (September 20, 2019). "Swift 5.1 Released!". Archived from the original on 2022-02-26. Retrieved 2022-05-12.
  18. Quora responses regarding a Swift review, accessed May 2018
  19. Hudson, Paul (June 6, 2021). "What's new in Swift 5.5?". HackingWithSwift.com. Hacking with Swift. Retrieved 2021-06-08.
  20. 20.0 20.1 Platforms State of the Union, Session 102, Apple Worldwide Developers Conference, June 2, 2014
  21. The Swift Programming Language. Apple. June 2, 2014. Retrieved June 2, 2014.
  22. "Swift Has Reached 1.0". September 9, 2014. Retrieved September 10, 2014.