"ഒബ്ജക്ടീവ്-സി" എന്ന താളിന്റെ പതിപ്പുകൾ തമ്മിലുള്ള വ്യത്യാസം

വിക്കിപീഡിയ, ഒരു സ്വതന്ത്ര വിജ്ഞാനകോശം.
വരി 81: വരി 81:


യഥാർത്ഥ പുരോഗതി വ്യക്തമാക്കാൻ കഴിയുമെന്ന് തെളിയിക്കുന്നതിന്, പരസ്പരം കൈമാറ്റം ചെയ്യാവുന്ന സോഫ്റ്റ്വെയർ ഘടകങ്ങൾ നിർമ്മിക്കണമെങ്കിൽ നിലവിലുള്ള പ്രയോഗങ്ങളിൽ കുറച്ച് പ്രായോഗിക മാറ്റങ്ങൾ മാത്രമേ ആവശ്യമുള്ളൂ എന്ന് കോക്സ് കാണിച്ചു തന്നു. പ്രത്യേകിച്ചും, വസ്തുക്കൾ ഒരു വഴങ്ങുന്ന രീതിയിൽ ഉള്ള പിന്തുണ ആവശ്യമായിരുന്നു, ഉപയോഗയോഗ്യമായ ലൈബ്രറികൾ വിതരണം ചെയ്തു, കൂടാതെ കോഡ് (കോഡുകൾക്ക് ആവശ്യമുള്ള എന്തെങ്കിലും ഉറവിടങ്ങൾ) ഒരു ക്രോസ്-പ്ലാറ്റ്ഫോം ഫോർമാറ്റിലേക്ക് ഒന്നിച്ചു ചേർക്കാനാവും.
യഥാർത്ഥ പുരോഗതി വ്യക്തമാക്കാൻ കഴിയുമെന്ന് തെളിയിക്കുന്നതിന്, പരസ്പരം കൈമാറ്റം ചെയ്യാവുന്ന സോഫ്റ്റ്വെയർ ഘടകങ്ങൾ നിർമ്മിക്കണമെങ്കിൽ നിലവിലുള്ള പ്രയോഗങ്ങളിൽ കുറച്ച് പ്രായോഗിക മാറ്റങ്ങൾ മാത്രമേ ആവശ്യമുള്ളൂ എന്ന് കോക്സ് കാണിച്ചു തന്നു. പ്രത്യേകിച്ചും, വസ്തുക്കൾ ഒരു വഴങ്ങുന്ന രീതിയിൽ ഉള്ള പിന്തുണ ആവശ്യമായിരുന്നു, ഉപയോഗയോഗ്യമായ ലൈബ്രറികൾ വിതരണം ചെയ്തു, കൂടാതെ കോഡ് (കോഡുകൾക്ക് ആവശ്യമുള്ള എന്തെങ്കിലും ഉറവിടങ്ങൾ) ഒരു ക്രോസ്-പ്ലാറ്റ്ഫോം ഫോർമാറ്റിലേക്ക് ഒന്നിച്ചു ചേർക്കാനാവും.

ലവും, കോക്സും കൂടി ചേർന്ന് ഒരു പുതിയ സംരംഭം ആരംഭിച്ചു, പ്രൊഡക്റ്റിവിറ്റി പ്രൊഡക്ട്സ് ഇന്റർനാഷണൽ (പിപിഐ), അവരുടെ ഉല്പന്നം വാണിജ്യവത്ക്കരിക്കുന്നതിന് വേണ്ടി ക്ലാസ് ലൈബ്രറികളുമായി കൂട്ടിയോജിപിപ്പിച്ച ഒരു ഒബ്ജക്റ്റീവ്-സി കമ്പൈലർ നിർമ്മിച്ചു.


== അവലംബം==
== അവലംബം==

10:27, 11 ഏപ്രിൽ 2019-നു നിലവിലുണ്ടായിരുന്ന രൂപം

Objective-C
ശൈലി:Reflective, class-based object-oriented
രൂപകൽപ്പന ചെയ്തത്:Tom Love and Brad Cox
ഡാറ്റാടൈപ്പ് ചിട്ട:static, dynamic, weak
പ്രധാന രൂപങ്ങൾ:Clang, GCC
സ്വാധീനിച്ചത്:Groovy, Java, Nu, Objective-J, TOM, Swift[1]
ഓപറേറ്റിങ്ങ് സിസ്റ്റം:Cross-platform
വെബ് വിലാസം:developer.apple.com

ഒബ്ജക്റ്റീവ്-സി എന്നത് സി പ്രോഗ്രാമിങ് ഭാഷയിലേക്ക് സ്മോൾടോക്ക് രീതി മെസ്സേജിംഗ് ചേർക്കുന്ന പൊതു ഉദ്ദേശ ഒബ്ജക്റ്റ് ഓറിയെന്റഡ് പ്രോഗ്രാമിങ് ഭാഷയുമാണ്. മാക് ഒഎസ്, ഐ.ഒ.എസ്. ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റങ്ങൾക്ക് ആപ്പിൾ പിന്തുണയ്ക്കുന്ന പ്രധാന പ്രോഗ്രാമിങ് ഭാഷ ആയിരുന്നു , അവരുടെ ആപ്ലിക്കേഷൻ പ്രോഗ്രാമിങ് ഇന്റർഫേസുകളും (എപിഐ) കൊക്കോയും കൊക്കോ ടച്ചും ഉപയോഗിച്ചിരുന്നു, സ്വിഫ്റ്റ് അവതരിപ്പിക്കുന്നതുവരെ.[2]പ്രോഗ്രാമിങ് ഭാഷയായ ഒബ്ജക്റ്റീവ്- സി യഥാർത്ഥത്തിൽ 1980 കളുടെ തുടക്കത്തിലാണ് വികസിപ്പിച്ചത്. നെക്സ്റ്റ് (NeXT) വേണ്ടി ഉപയോഗിക്കുന്ന പ്രധാന ഭാഷയായി നെക്സ്റ്റ്സ്റ്റെപ്പ് (NeXTSTEP)ഓപ്പറേറ്റിങ് സിസ്റ്റത്തിനായി ഉപയോഗിച്ചു, മാക്ഒഎസ്, ഐഒഎസ് തുടങ്ങിയവ ഇതിൽ നിന്നും സ്വീകരിച്ചു.[3]കൊക്കോ അല്ലെങ്കിൽ കൊക്കോ ടച്ച് ലൈബ്രറികൾ ഉപയോഗിക്കാത്ത പോർട്ടബിൾ ഒബ്ജക്റ്റീവ്-സി പ്രോഗ്രാമുകൾ അല്ലെങ്കിൽ മറ്റ് സിസ്റ്റങ്ങൾക്കു് പോർട്ട് ചെയ്തതിനു അല്ലെങ്കിൽ ലഭ്യമാക്കുന്ന ഭാഗങ്ങൾ ഉപയോഗിക്കുന്നവയ്ക്കു് പുറമേ, ഗ്നു കമ്പൈലർ ശേഖരം (ജിസിസി) അല്ലെങ്കിൽ ക്ലാങ് പിന്തുണയ്ക്കുന്ന ഏത് സിസ്റ്റത്തിനും വേണ്ടി തയ്യാറാക്കാംഒബ്ജക്റ്റീവ്-സി സോഴ്സ് കോഡ് 'ഇംപ്ലിമെൻറ്റ്' പ്രോഗ്രാം ഫയലുകൾ സാധാരണയായി .m ഫയൽനാമം വിപുലീകരണങ്ങൾ ഉണ്ട്, ഒബ്ജക്റ്റീവ്-സി 'ഹെഡ്ഡർ / ഇൻറർഫേസ്' ഫയലുകൾ സി ഹെഡർ ഫയലുകളെപ്പോലെ തന്നെ .h വിപുലീകരണങ്ങൾ ഉണ്ട്. .mm ഫയൽ എക്സ്റ്റെൻഷൻ ഉപയോഗിച്ച് ഒബ്ജക്റ്റീവ്-സി++ ഫയലുകൾ സൂചിപ്പിക്കപ്പെട്ടിട്ടുണ്ട്

ചരിത്രം

1980 കളുടെ ആരംഭത്തിൽ സ്കോട്ട് സ്റ്റോൺ എന്ന സ്ഥാപനത്തിൽ ബ്രാഡ് കോക്സ്, ടോം ലവ് എന്നിവരാണ് ഒബ്ജക്റ്റീവ്-സി ആദ്യമായി നിർമ്മിച്ചത്.[4] 1981 ൽ ഐടിടി കോർപ്പറേഷന്റെ പ്രോഗ്രാമിങ് ടെക്നോളജി സെന്ററിൽ സ്മോൾടാക്ക് അവതരിപ്പിക്കപ്പെടുമ്പോൾ ഇരുവരുമുണ്ടായിരുന്നു. ഒബ്ജക്റ്റീവ്-സിയുടെ ആദ്യകാല സൃഷ്ടികൾ വീണ്ടും അവതരിപ്പിക്കപ്പെട്ടു.[5] സോഫ്റ്റ്വെയർ ഡിസൈനിലും പ്രോഗ്രാമിങ്ങിലുമുളള യഥാർഥ റീയുസിബിലിറ്റി(reusability)യുടെ പ്രശ്നങ്ങളാൽ കോക്സ് വിഷമത്തിലായി. ഐടിടിയിൽ(ITT)സിസ്റ്റം ഡെവലപ്പർമാർക്ക് നിർമ്മാണ വികസനത്തിൽ സ്മോൾടാക്ക് പോലൊരു ഭാഷ ഉപയോഗിക്കാനാകുമെന്ന് അദ്ദേഹം മനസ്സിലാക്കി. എന്നിരുന്നാലും, സിയോടൊപ്പമുള്ള ബാക്ക് വേഡ് കോമ്പാറ്റിബിലിറ്റി എന്നിവയും ടോം ലൗവും അദ്ദേഹവും തിരിച്ചറിഞ്ഞു, ഐടിടിയുടെ ടെലികോം എൻജിനീയറിങ് പരിസ്ഥിതിയിൽ വളരെ പ്രധാനപ്പെട്ടതാണ്.[6]സ്മാൾടാക്കിന് ചില കഴിവുകൾ ചേർക്കാൻ കോക്സ് സി ഒരു പ്രീ പ്രൊസസർ എഴുതാൻ തുടങ്ങി. സി ഭാഷക്ക് ഒബ്ജക്റ്റ് ഓറിയെന്റഡ് എക്സ്റ്റൻഷൻ നടപ്പിലാക്കാൻ അദ്ദേഹം പെട്ടെന്നുതന്നെ പ്രവർത്തിച്ചു, ഒബ്ജക്റ്റ് ഓറിയന്റഡ് പ്രീ-കംപൈലറിനായുള്ള "ഒഒപിസി(OOPC)" എന്നു അദ്ദേഹം അതിനെ വിശേഷിപ്പിച്ചു.[7]1982 ൽ സ്ലാംബർഗർ റിസർച്ചിൽ കരാർ അടിസ്ഥനത്തിൽ ജോലി ലഭിച്ചു. കൂടാതെ സ്മോൾടോക്-80യുടെ ആദ്യത്തെ വാണിജ്യ പകർപ്പ് സ്വന്തമാക്കാനുള്ള അവസരം ലഭിച്ചു. അത് അവരുടെ സ്വന്തം ആശയം വികസിപ്പിക്കുന്നതിന് സഹായിച്ചു.

യഥാർത്ഥ പുരോഗതി വ്യക്തമാക്കാൻ കഴിയുമെന്ന് തെളിയിക്കുന്നതിന്, പരസ്പരം കൈമാറ്റം ചെയ്യാവുന്ന സോഫ്റ്റ്വെയർ ഘടകങ്ങൾ നിർമ്മിക്കണമെങ്കിൽ നിലവിലുള്ള പ്രയോഗങ്ങളിൽ കുറച്ച് പ്രായോഗിക മാറ്റങ്ങൾ മാത്രമേ ആവശ്യമുള്ളൂ എന്ന് കോക്സ് കാണിച്ചു തന്നു. പ്രത്യേകിച്ചും, വസ്തുക്കൾ ഒരു വഴങ്ങുന്ന രീതിയിൽ ഉള്ള പിന്തുണ ആവശ്യമായിരുന്നു, ഉപയോഗയോഗ്യമായ ലൈബ്രറികൾ വിതരണം ചെയ്തു, കൂടാതെ കോഡ് (കോഡുകൾക്ക് ആവശ്യമുള്ള എന്തെങ്കിലും ഉറവിടങ്ങൾ) ഒരു ക്രോസ്-പ്ലാറ്റ്ഫോം ഫോർമാറ്റിലേക്ക് ഒന്നിച്ചു ചേർക്കാനാവും.

ലവും, കോക്സും കൂടി ചേർന്ന് ഒരു പുതിയ സംരംഭം ആരംഭിച്ചു, പ്രൊഡക്റ്റിവിറ്റി പ്രൊഡക്ട്സ് ഇന്റർനാഷണൽ (പിപിഐ), അവരുടെ ഉല്പന്നം വാണിജ്യവത്ക്കരിക്കുന്നതിന് വേണ്ടി ക്ലാസ് ലൈബ്രറികളുമായി കൂട്ടിയോജിപിപ്പിച്ച ഒരു ഒബ്ജക്റ്റീവ്-സി കമ്പൈലർ നിർമ്മിച്ചു.

അവലംബം

  1. Lattner, Chris (June 3, 2014). "Chris Lattner's Homepage". Chris Lattner. Retrieved June 3, 2014. 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. "App Frameworks". Apple. June 2014. Retrieved February 13, 2019.
  3. Singh, Amit (December 2003). "A Brief History of Mac OS X". Mac OS X Internals. Retrieved June 11, 2012.
  4. Garling, Caleb. "iPhone Coding Language Now World's Third Most Popular". Wired. Retrieved May 20, 2013.
  5. Wentk, Richard (2009). Cocoa: Volume 5 of Developer Reference Apple Developer Series. John Wiley and Sons. ISBN 0-470-49589-8.
  6. Biancuzzi, Federico; Warden, Shane (2009). Masterminds of Programming. O'Reilly Media, Inc. pp. 242–246. ISBN 0-596-51517-0.
  7. Cox, Brad (1983). "The object oriented pre-compiler: programming Smalltalk 80 methods in C language". ACM SIGPLAN Notices. New York, NY: ACM. 18 (1). doi:10.1145/948093.948095. Retrieved February 17, 2011.
"https://ml.wikipedia.org/w/index.php?title=ഒബ്ജക്ടീവ്-സി&oldid=3118603" എന്ന താളിൽനിന്ന് ശേഖരിച്ചത്