അയൺപൈത്തൺ
ഡോട്ട്നെറ്റ് ഫ്രെയിംവർക്ക് ആൻഡ് മോണോ ലക്ഷ്യമാക്കി പൈത്തൺ പ്രോഗ്രാമിങ് ഭാഷയുടെ ഒരു പ്രയോഗമാണ് അയൺ പൈത്തൺ. ജിം ഹുഗുനിൻ ഈ പ്രോജക്റ്റ് സൃഷ്ടിക്കുകയും 2006 സെപ്റ്റംബറിലാണ് പുറത്തിറങ്ങിയ പതിപ്പ് 1.0 വരെ സജീവമായി പങ്കുവെക്കുകയും ചെയ്തത്.[1] അതിനുശേഷം, മൈക്രോസോഫ്റ്റിന്റെ 2.7 ബീറ്റ 1 പതിപ്പ് വരെ ഒരു ചെറിയ സംഘം അതിനെ പരിപാലിച്ചിരുന്നു. 2010 അവസാനത്തോടെ, മൈക്രോസോഫ്റ്റിൻറെ അയൺപൈത്തൻ (അതിൻറെ സഹോദരി പ്രൊജക്റ്റാണ് അയൺ റുബി) മൈക്രോസോഫ്റ്റ് ഉപേക്ഷിച്ചു, അതിനുശേഷം ഹുഗുനിൻ ഗൂഗിളിൽ ജോലി ചെയ്യാൻ പോയി. [2]അയൺ പൈത്തൺ 2.0 2008 ഡിസംബർ 10 ന് പുറത്തിറങ്ങി[3]. നിലവിൽ ഈ പ്രോജക്ട് ഗിറ്റ്ഹബ്ബിൽ ഒരു സംഘം സന്നദ്ധപ്രവർത്തകർ ചേർന്ന് പ്രവർത്തിക്കുന്നു. സ്വതന്ത്രവും ഓപ്പൺ സോഴ്സ് സോഫ്റ്റ് വെയറുകളാണ് ഇത്. പൈത്തൺ ടൂൾസ് ഫോർ വിഷ്വൽ സ്റ്റുഡിയോ ഉപയോഗിച്ച് നടപ്പിലാക്കാൻ കഴിയും,സൗജന്യമായി സ്വതന്ത്രവുമായ ഒരു വിപുലീകരണം, ഒറ്റപ്പെട്ട, മൈക്രോസോഫ്റ്റ് വിഷ്വൽ സ്റ്റുഡിയോ ഐഡിഇ(IDE)യുടെ വാണിജ്യ പതിപ്പുകളാണ്.[4][5] അയൺപൈത്തൺ പൂർണ്ണമായി സി ഷാർപിൽ(C#) എഴുതുന്നു, ചില കോഡ് പൈത്തണിൽ എഴുതപ്പെട്ട കോഡ് ജെനേറ്ററായിരിക്കും. ഡൈനാമിക് ഭാഷാ റൺടൈമിൻറെ(ഡിഎൽആർ)ഉന്നത ശ്രേണിയിൽ അയൺ പൈത്തൺ നടപ്പിലാക്കുന്നു, ഡൈനാമിക് ടൈപ്പിംഗ്, ഡൈനാമിക് രീതി ഡിസ്പാച്ച് എന്നിവ ലഭ്യമാക്കുന്ന സാധാരണ ലാംഗ്വേജ് ഇൻഫ്രാസ്ട്രക്ചറിൻറെ ഉന്നത ശ്രേണിയിൽ പ്രവർത്തിക്കുന്ന ഒരു ലൈബ്രറി, മറ്റു കാര്യങ്ങളുടെ കൂടെ, ചലനാത്മക ഭാഷകൾക്കായി ഉപയോഗിക്കുന്നു. [6]ഡിഎൽആർ .നെറ്റ് ഫ്രെയിംവർക്ക് 4.0 യുടെ ഭാഗമാണ്. 2009 ൽ 2.4 വേർഷൻ മുതൽ മോണോയുടെ ഭാഗമാണ് ഡിഎൽആർ. [7] ഡിഎൽആർ പഴയ സിഎൽഐ (CLI) നടപ്പിലാക്കലുകളിൽ ഒരു ലൈബ്രറിയായി ഉപയോഗിക്കാം. സ്റ്റാറ്റസും റോഡ്മാപ്പും
സിപൈത്തണിൽ നിന്നുള്ള വ്യത്യാസങ്ങൾപൈത്തൺ റഫറൻസ് നടപ്പിലാക്കിലുകളിൽ സിപൈത്തൺ, അയൺപൈത്തൺ എന്നിവയ്ക്കിടയിൽ ചില വ്യത്യാസങ്ങൾ ഉണ്ട്.[18] അയൺപൈത്തണിൽ നിർമിച്ചിരിക്കുന്ന ചില പദ്ധതികൾ സിപൈത്തണിൽ പ്രവർത്തിക്കുവാൻ സാധിക്കില്ല.[19]ഇതിനു പുറമേ, സിയിൽ (ഉദാ. നംപൈ) നടപ്പിലാക്കുന്ന ഭാഷയിലേക്ക് വിപുലീകരണങ്ങളെ ആശ്രയിക്കുന്ന സിപൈത്തൺ പ്രയോഗങ്ങൾ അയൺപൈത്തണുമായി പൊരുത്തപ്പെടുന്നില്ല.[20] സിൽവർലൈറ്റ്സിൽവർലൈറ്റിനെ അയൺപൈത്തൺ പിന്തുണയ്ക്കുന്നു. ജാവാസ്ക്രിപ്റ്റ് എഞ്ചിനു സമാനമായി ബ്രൗസറിലെ ഒരു സ്ക്രിപ്റ്റിംഗ് എഞ്ചിനായി ഇത് ഉപയോഗിക്കാം.[21]ലളിതമായ ക്ലയന്റ് സൈഡ് ജാവാസ്ക്രിപ്റ്റ് സ്ക്രിപ്റ്റുകളെപ്പോലെ ഇതിനു പിന്നിലുള്ള സാങ്കേതികവിദ്യയെ ഗെസ്റ്റാൽറ്റ് എന്നാണ് വിളിക്കുന്നത്. //DLR initiation script.
<script src="http://gestalt.ironpython.net/dlr-latest.js" type="text/javascript"></script>
//Client-side script passed to IronPython and Silverlight.
<script type="text/python">
window.Alert("Hello from Python")
</script>
അയൺറൂബി(IronRuby)യുടെയും പ്രവർത്തനങ്ങൾ അയൺപൈത്തണിൻറെ പോലെതന്നെയാണ്. അനുമതിപത്രംകോമൺ പബ്ലിക് ലൈസൻസിനു കീഴിൽ പതിപ്പ് 0.6 അയൺ പൈത്തൺ റിലീസ് ചെയ്തു.[22]2004 ആഗസ്തിലാണ് പ്രോജക്ട് ലീഡ് റിക്രൂട്ട് ചെയ്തതിനുശേഷം, മൈക്രോസോഫ്റ്റിൻറെ ഷെയർഡ് ഉറവിട സംരംഭത്തിന്റെ ഭാഗമായി അയൺപൈത്തൺ ലഭ്യമാക്കി. ഈ ലൈസൻസ് ഒഎസ്ഐ(OSI)അംഗീകരിച്ചതല്ല, എന്നാൽ ഇത് ഓപ്പൺ സോഴ്സ് ഡെഫിനിഷനെ സാക്ഷ്യപ്പെടുത്തി എന്ന് അവകാശപ്പെടുന്നു.[23]2.0 ആൽഫാ റിലീസ് ഉപയോഗിച്ച് ലൈസൻസ് മൈക്രോസോഫ്റ്റ് പബ്ലിക് ലൈസൻസ് ആയി മാറി,[24]ഓപ്പൺ സോഴ്സ് എന്നതിൻറെ നിർവ്വചനം അനുസരിച്ചുള്ള ഓപ്പൺ സോഴ്സ് ഇനിഷ്യേറ്റീവ് ഉറപ്പുനൽകുന്നു. അപ്പാച്ചെ ലൈസൻസ് 2.0 പ്രകാരം ഏറ്റവും പുതിയ പതിപ്പുകൾ പുറത്തിറങ്ങുന്നു. സമ്പർക്കമുഖ വിപുലീകരണം.നെറ്റ് ഭാഷയിൽ എഴുതപ്പെട്ട ആപ്ലിക്കേഷൻ ചട്ടക്കൂടിലേക്ക് വിപുലീകരിക്കുന്ന പാളിയാണ് അതിൻറെ സവിശേഷതകളിൽ പ്രധാന ഗുണങ്ങളിൽ ഒന്ന്. നിലവിലുള്ള .നെറ്റ് ആപ്ലിക്കേഷൻ ചട്ടക്കൂടിലേക്ക് ഒരു അയൺപൈത്തൺ ഇൻറർപ്രെട്ടർ സംയോജിപ്പിക്കാൻ താരതമ്യേന ലളിതമാണ്. ഒരിക്കൽ, ഡൗൺസ്ട്രീം ഡവലപ്പർമാർക്ക്, അയൺപൈത്തണിൽ എഴുതപ്പെട്ട സ്ക്രിപ്റ്റുകൾ ഉപയോഗിക്കാൻ കഴിയും, അത് അതിൻറെ ചട്ടക്കൂടിലുള്ള .നെറ്റ് ഒബ്ജക്റ്റുമായി ഇടപഴകുകയും, മാത്രമല്ല അതിൻറെ ചട്ടക്കൂടിലെ സമ്പർക്കമുഖ (interface) പ്രവർത്തനക്ഷമത വിപുലപ്പെടുത്തുന്നു.[25] അയൺപൈത്തൺ വളരെ വിശാലമായ പ്രതിഫലനമാണ് ഉപയോഗിക്കുന്നത്. ഒരു .നെറ്റ് ഒബ്ജക്റ്റിലേക്കുള്ള റഫറൻസിൽ കടന്നുപോകുമ്പോൾ, ആ വസ്തുവിന് ലഭ്യമായ രീതികളും അത് യാന്ത്രികമായി ഇറക്കുമതി ചെയ്യും. ഒരു അയൺപൈത്തൺ സ്ക്രിപ്റ്റിനുള്ളിൽ നിന്നുള്ള .നെറ്റ് വസ്തുക്കളുമായി പ്രവർത്തിക്കുമ്പോൾ ഇത് വളരെ അവബോധജന്യമായ അനുഭവം നൽകുന്നു. ഉദാഹരണങ്ങൾതാഴെക്കൊടുത്തിരിക്കുന്ന അയൺപൈത്തൺ സ്ക്രിപ്റ്റ് .നെറ്റ് ഫ്രേയിംവർക്ക് വസ്തുക്കൾ കൈകാര്യം ചെയ്യുന്നു. ഈ സ്ക്രിപ്റ്റ് ഒരു മൂന്നാം-കക്ഷി ക്ലയൻറ്-സൈഡ് ആപ്ലിക്കേഷൻ ഡവലപ്പർ നൽകുന്നതും സെർവർ-സൈഡ് ചട്ടക്കൂടിനുമായി ഒരു ഇൻറർഫേസിലൂടെ കടന്നുപോകാൻ കഴിയുന്നു. ക്ലയൻറ് ആപ്ലിക്കേഷൻ ആവശ്യമുള്ള വിശകലനങ്ങളെ പിന്തുണയ്ക്കുന്നതിന് ഇൻറർഫെയിസോ സെർവർ സൈഡ് കോഡോ പരിഷ്കരിച്ചിട്ടില്ല എന്നത് ശ്രദ്ധിക്കുക. from BookService import BookDictionary
booksWrittenByBookerPrizeWinners = [book.Title for book in BookDictionary.GetAllBooks()
if "Booker Prize" in book.Author.MajorAwards]
ഈ കേസിൽ, .നെറ്റ് ഫ്രെയിംവർക്ക് ഒരു ക്ലാസ് നടപ്പിലാക്കുന്നു, ബുക്ക്സർവീസ് (BookDService) എന്ന് വിളിക്കുന്ന ഒരു മൊഡ്യൂളിലെ ബുക്ക്ഡിക്ഷണറി (BookDictionary) അയൺപൈത്തൺ സ്ക്രിപ്റ്റുകൾ അയയ്ക്കാനും നടപ്പിലാക്കാനും കഴിയുന്ന ഒരു ഇൻറർഫേസ് പ്രസിദ്ധീകരിക്കുന്നു. ആ ഇൻറർഫെയിസിലേക്ക് അയയ്ക്കുന്ന ഈ സ്ക്രിപ്റ്റ്, ചട്ടക്കൂടിനുസരിച്ചു സൂക്ഷിക്കുന്ന പുസ്തകങ്ങളുടെ മുഴുവൻ ലിസ്റ്റും ഒപ്പം ബുക്കർ പ്രൈസ് നേടിയ എഴുത്തുകാരുടെ രചനകൾ തിരഞ്ഞെടുക്കുന്നു. രസകരമായ വസ്തുത എന്നത് യഥാർത്ഥ വിശകലനം എഴുതുന്നതിനുള്ള ഉത്തരവാദിത്തമാണ് ക്ലൈൻറ്-ഡെവലപ്പർ വികസിപ്പിച്ചത്. സെർവർ കൈകാര്യം ചെയ്യുന്ന ഡേറ്റയുടെ ആക്സസ് നൽകുന്നത് സെർവർ സൈഡ് ഡവലപ്പറിൻറെ ആവശ്യം വളരെ കുറവാണ്. സങ്കീർണ്ണമായ ആപ്ലിക്കേഷൻ ചട്ടക്കൂടുകൾ വിന്യസിക്കുന്നതിനും പരിപാലിക്കുന്നതിനും ഈ ഡിസൈൻ പാറ്റേൺ വളരെ എളുപ്പമാക്കുന്നു. ഒരു ലളിതമായ ഹലോ വേൾഡ് സന്ദേശം സൃഷ്ടിക്കുന്നതിന് ഇനിപ്പറയുന്ന സ്ക്രിപ്റ്റ് .നെറ്റ് ഫ്രെയിംവർക്ക് ഉപയോഗിക്കുന്നു. import clr
clr.AddReference("System.Windows.Forms")
from System.Windows.Forms import MessageBox
MessageBox.Show("Hello World")
പ്രകടനംസിപൈത്തണെ അപേക്ഷിച്ച് അയൺപൈത്തണിൻറെ പ്രകടന പ്രത്യേകത പൈത്തണിൻറെ കൃത്യമായ ബെഞ്ച്മാർക്കനുസരിച്ചാണ് റഫറൻസ് നിർവ്വഹണം ഉപയോഗിച്ചിരിക്കുന്നത്. പൈത്തൺ സ്ക്രിപ്റ്റ് ഉപയോഗിച്ച് എടുത്ത മിക്ക ബെഞ്ച്മാർക്കുകളിലും സിപൈത്തണിനെക്കാൾ മോശമായ രീതിയിൽ അയൺ പൈത്തൺ പ്രവർത്തിക്കുന്നു, എന്നാൽ പൈസ്റ്റോൺ(PyStone)സ്ക്രിപ്റ്റിനൊപ്പം പ്രവർത്തിക്കുന്ന മറ്റ് ബെഞ്ച്മാർക്കുകൾ മികച്ചതാണ്.[26] ഗ്ലോബൽ ഇൻറർപ്രട്ടർ ലോക്ക് ഇല്ലാത്തതു കാരണം ത്രെഡുകളോ അല്ലെങ്കിൽ ഒന്നിലധികം കോറുകളോ ഉപയോഗിക്കുന്ന പൈത്തൺ പ്രോഗ്രാമുകളിൽ ജെഐടി (JIT) ഉള്ളതിനാൽ അയൺപൈത്തൺ മെച്ചപ്പെട്ടേക്കാം.[27][28] ഇതും കാണുക
അവലംബം
|
Portal di Ensiklopedia Dunia