സി ഷാർപ്പ്
സി ഷാർപ്പ് (/si ʃɑːrp/ ഷാർപ്പ് കാണുക)[b] ഒരു പൊതു-ഉദ്ദേശ്യ, മൾട്ടി-പാരഡിഗം പ്രോഗ്രാമിംഗ് ഭാഷയാണ്. സി ഷാർപ്പ് സ്റ്റാറ്റിക് ടൈപ്പിംഗ്, ശക്തമായ ടൈപ്പിംഗ്, ലെക്സിക്കലി സ്കോപ്പ്ഡ്, ഇംപറേറ്റീവ്, ഡിക്ലറേറ്റീവ്, ഫങ്ഷണൽ, ജെനറിക്, ഒബ്ജക്റ്റ് ഓറിയന്റഡ് (ക്ലാസ് അധിഷ്ഠിതം), കമ്പോണന്റ്-അധിഷ്ഠിത പ്രോഗ്രാമിംഗ് വിഭാഗങ്ങൾ എന്നിവ ഉൾക്കൊള്ളുന്നു.
ശൈലി: | Multi-paradigm: structured, imperative, object-oriented, event-driven, task-driven, functional, generic, reflective, concurrent |
---|---|
പുറത്തുവന്ന വർഷം: | 2000[1] |
രൂപകൽപ്പന ചെയ്തത്: | Anders Hejlsberg (Microsoft) |
വികസിപ്പിച്ചത്: | Mads Torgersen (Microsoft) |
ഡാറ്റാടൈപ്പ് ചിട്ട: | Static, dynamic, strong, safe, nominative, partially inferred |
പ്രധാന രൂപങ്ങൾ: | Visual C#, .NET, .NET Framework (discontinued), Mono, DotGNU (discontinued), Universal Windows Platform |
വകഭേദങ്ങൾ: | Cω, Polyphonic C#, Enhanced C# |
സ്വാധീനിക്കപ്പെട്ടത്: | C++,Cω, Eiffel, F#,[i] Haskell, Icon, J#, J++, Java, ML, Modula-3, Object Pascal, VB |
സ്വാധീനിച്ചത്: | Chapel,[2] Clojure,[3] Crystal,[4] D, J#, Dart,[5] F#, Hack, Java,[6]Kotlin, Nemerle, Oxygene, Rust, Swift,[7] Vala, TypeScript |
അനുവാദപത്രം: | |
വെബ് വിലാസം: | docs |
2000-ൽ മൈക്രോസോഫ്റ്റിൽ നിന്നുള്ള ആൻഡേഴ്സ് ഹെജൽസ്ബെർഗ് രൂപകൽപ്പന ചെയ്ത സി ഷാർപ്പ്, പിന്നീട് 2002-ൽ ഇഗ്മാ(ECMA-334), 2003-ൽ ഐഎസ്ഒ(ISO/IEC 23270)എന്നിവ അന്താരാഷ്ട്ര നിലവാരമുള്ളതായി അംഗീകരിക്കപ്പെട്ടു. മൈക്രോസോഫ്റ്റ് .നെറ്റ് ഫ്രെയിംവർക്ക്, വിഷ്വൽ സ്റ്റുഡിയോ എന്നിവയ്ക്കൊപ്പം സി# അവതരിപ്പിച്ചു, ഇവ രണ്ടും ക്ലോസ്-സോഴ്സ് ആയിരുന്നു. അക്കാലത്ത് മൈക്രോസോഫ്റ്റിന് ഓപ്പൺ സോഴ്സ് ഉൽപ്പന്നങ്ങളൊന്നും ഉണ്ടായിരുന്നില്ല. നാല് വർഷത്തിന് ശേഷം, 2004-ൽ, മോണോ എന്ന പേരിൽ ഒരു സ്വതന്ത്ര ഓപ്പൺ സോഴ്സ് പ്രോജക്റ്റ് ആരംഭിച്ചു, സി# പ്രോഗ്രാമിംഗ് ഭാഷയ്ക്ക് ക്രോസ്-പ്ലാറ്റ്ഫോം കംപൈലറും റൺടൈം എൺവയമെന്റും നൽകുന്നു. ഒരു ദശാബ്ദത്തിനു ശേഷം, മൈക്രോസോഫ്റ്റ് വിഷ്വൽ സ്റ്റുഡിയോ കോഡ് (കോഡ് എഡിറ്റർ), റോസ്ലിൻ (കംപൈലർ), ഏകീകൃത .നെറ്റ് പ്ലാറ്റ്ഫോം (സോഫ്റ്റ്വെയർ ഫ്രെയിംവർക്ക്) എന്നിവ പുറത്തിറക്കി, ഇവയെല്ലാം സിഷാർപ്പിനെ പിന്തുണയ്ക്കുകയും സൗജന്യവും ഓപ്പൺ സോഴ്സും, ക്രോസ്-പ്ലാറ്റ്ഫോമുമാണ്. മോണോയും മൈക്രോസോഫ്റ്റിൽ ചേർന്നെങ്കിലും .നെറ്റിൽ ലയിപ്പിച്ചില്ല.
2021-ലെ കണക്കനുസരിച്ച്, ഭാഷയുടെ ഏറ്റവും പുതിയ പതിപ്പ് സി# 10.0 ആണ്, ഇത് 2021-ൽ .നെറ്റ് 6.0-ൽ പുറത്തിറങ്ങി.[10][11]
ഡിസൈന്റെ ലക്ഷ്യങ്ങൾ
ഇഗ്മാ(Ecma)സ്റ്റാൻഡേർഡ് സി#-നുള്ള ഈ ഡിസൈൻ ലക്ഷ്യങ്ങൾ ചുവടെ ചേർക്കുന്നു:
- ഭാഷ ലളിതവും ആധുനികവും പൊതു ആവശ്യത്തിനുതകുന്നതും ഒബ്ജക്റ്റ് ഓറിയന്റഡ് പ്രോഗ്രാമിംഗ് ഉപയോഗിക്കുന്ന ഭാഷയുമാണ്.
- സ്ട്രോങ്ങ് ടൈപ്പ് ചെക്കിംഗ്, അറേ ബൗണ്ട്സ് ചെക്കിംഗ്, അൺഇനീഷ്യലൈസ്ഡ് വേരിയബിളുകൾ ഉപയോഗിക്കാനുള്ള ശ്രമങ്ങൾ, ഓട്ടോമാറ്റിക് ഗാർബേജ് ശേഖരണം തുടങ്ങിയ സോഫ്റ്റ്വെയർ എഞ്ചിനീയറിംഗ് തത്വങ്ങൾ ഉപയോഗിച്ച് ഭാഷയുടെയും അതിന്റെ നടപ്പാക്കലുകൾക്കും പിന്തുണ നൽകുന്നു. സോഫ്റ്റ്വെയർ റോബസ്റ്റ്നെസ്സ്, ഡ്യൂറാബിലിറ്റി, പ്രോഗ്രാമർ പ്രൊഡക്ടിവിറ്റി എന്നിവ പ്രധാനമാണ്.
- ഡിസ്ട്രിബ്യൂട്ടഡ് പരിതസ്ഥിതികളിൽ വിന്യസിക്കുന്നതിന് അനുയോജ്യമായ സോഫ്റ്റ്വെയർ ഘടകങ്ങൾ വികസിപ്പിച്ചെടുക്കുക എന്നതാണ് ഈ ഭാഷകൊണ്ടു ഉദ്ദേശിക്കുന്നത്.
- സോഴ്സ് കോഡിനും പ്രോഗ്രാമർമാർക്കും പോർട്ടബിലിറ്റി വളരെ പ്രധാനപ്പെട്ടതാണ്, പ്രത്യേകിച്ച് സി, സി++ എന്നിവയുമായി പരിചയമുള്ളവർക്ക്.
- അന്താരാഷ്ട്രവൽക്കരണത്തിനുള്ള പിന്തുണ വളരെ പ്രധാനമാണ്.
- സി#, അത്യാധുനിക ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങൾ ഉപയോഗിക്കുന്ന വളരെ വലുത് മുതൽ സമർപ്പിത ഫംഗ്ഷനുകളുള്ള വളരെ ചെറിയവ വരെ, ഹോസ്റ്റ് ചെയ്തതും എംബെഡ്ഡഡ് സിസ്റ്റങ്ങൾക്കായി ആപ്ലിക്കേഷനുകൾ എഴുതുന്നതിന് അനുയോജ്യമാണ്.
- മെമ്മറി, പ്രോസസ്സിംഗ് പവർ ആവശ്യകതകൾ എന്നിവയുമായി ബന്ധപ്പെട്ട് സി# ആപ്ലിക്കേഷനുകൾ ലാഭകരമാകാൻ ഉദ്ദേശിച്ചുള്ളതാണെങ്കിലും, പ്രകടനത്തിലും വലുപ്പത്തിലും സി അല്ലെങ്കിൽ അസംബ്ലി ഭാഷയുമായി നേരിട്ട് മത്സരിക്കാൻ ഈ ഭാഷകൊണ്ട് ഉദ്ദേശിക്കുന്നില്ല.[12]
ചരിത്രം
.നെറ്റ് ഫ്രെയിംവർക്കിന്റെ വികസന സമയത്ത്, ക്ലാസ് ലൈബ്രറികൾ യഥാർത്ഥത്തിൽ എഴുതിയത് "സിമ്പിൾ മാനേജ്ഡ് സി"(SMC)എന്ന നിയന്ത്രിത കോഡ് കംപൈലർ സിസ്റ്റം ഉപയോഗിച്ചാണ്.[13][14] 1999 ജനുവരിയിൽ, ആൻഡേഴ്സ് ഹെജൽസ്ബെർഗ്, "സി-ലൈക്ക് ഒബ്ജക്റ്റ് ഓറിയന്റഡ് ലാംഗ്വേജ്" എന്നതിന്റെ അർത്ഥം വരുന്ന കൂൾ എന്ന പേരിൽ ഒരു പുതിയ ഭാഷ നിർമ്മിക്കുന്നതിനായി ഒരു ടീം രൂപീകരിച്ചു. "കൂൾ" എന്ന പേര് ഭാഷയുടെ അവസാന നാമമായി നിലനിർത്തുന്നത് മൈക്രോസോഫ്റ്റ് പരിഗണിച്ചിരുന്നു, എന്നാൽ വ്യാപാരമുദ്രയുടെ കാരണങ്ങളാൽ അങ്ങനെ ചെയ്യേണ്ടതില്ലെന്ന് തീരുമാനിച്ചു.[15] 2000 ജൂലൈയിലെ പ്രൊഫഷണൽ ഡെവലപ്പേഴ്സ് കോൺഫറൻസിൽ .നെറ്റ് പ്രോജക്റ്റ് പരസ്യമായി പ്രഖ്യാപിക്കപ്പെട്ടപ്പോഴേക്കും, ഭാഷയെ സി# എന്ന് പുനർനാമകരണം ചെയ്യുകയും ക്ലാസ് ലൈബ്രറികളും എഎസിപി.നെറ്റ്(ASP.NET)റൺടൈമും സി#-ലേക്ക് പോർട്ട് ചെയ്യുകയും ചെയ്തു.
ഹെജൽസ്ബെർഗ് സി# ന്റെ പ്രധാന ഡിസൈനറും മൈക്രോസോഫ്റ്റിലെ പ്രധാന ആർക്കിടെക്ടറ്റുമാണ്, കൂടാതെ മുമ്പ് ടർബോ പാസ്കൽ, എംബാർകാഡെറോ ഡെൽഫി (മുമ്പ് കോഡ്ഗിയർ ഡെൽഫി, ഇൻപ്രൈസ് ഡെൽഫി, ബോർലാൻഡ് ഡെൽഫി), വിഷ്വൽ ജെ++ എന്നിവയുടെ രൂപകൽപ്പനയിൽ മുഖ്യപങ്ക് വഹിച്ചു. മിക്ക പ്രധാന പ്രോഗ്രാമിംഗ് ഭാഷകളിലെയും (ഉദാ. സി++, ജാവ, ഡെൽഫി, സ്മോൾടോക്ക്) പോരായ്മകൾ[16] കോമൺ ലാംഗ്വേജ് റൺടൈമിന്റെ (സിഎൽആർ) അടിസ്ഥാനങ്ങളെ നയിച്ചതായി അഭിമുഖങ്ങളിലും സാങ്കേതിക പേപ്പറുകളിലും അദ്ദേഹം പ്രസ്താവിച്ചിട്ടുണ്ട്. സി# ഭാഷയുടെ ഡിസൈൻ തന്നെ അതിലേക്ക് നയിച്ചു.