आयरनपायथन: Difference between revisions
No edit summary |
No edit summary |
||
Line 29: | Line 29: | ||
| date = 2008-12-10 | | date = 2008-12-10 | ||
| access-date = 2009-01-25 | | access-date = 2009-01-25 | ||
}}</ref> संस्करण 1.0 के बाद इसे 2.7 बीटा 1 रिलीज़ होने तक [[Microsoft|माइक्रोसॉफ्ट]] की | }}</ref> संस्करण 1.0 के बाद इसे 2.7 बीटा 1 रिलीज़ होने तक [[Microsoft|माइक्रोसॉफ्ट]] की छोटी टीम द्वारा बनाए रखा गया था। माइक्रोसॉफ्ट ने 2010 के अंत में आयरनपायथन (और उसकी बहन परियोजना [[IronRuby|आयरनरूबी]]) को छोड़ दिया, जिसके बाद ह्यूगुनिन ने गूगल में काम करना छोड़ दिया।<ref>{{cite web | ||
| url=https://www.theregister.co.uk/2010/10/22/microsoft_kills_dynamic_languages_projects/ | | url=https://www.theregister.co.uk/2010/10/22/microsoft_kills_dynamic_languages_projects/ | ||
| title=Microsoft cuts loose Iron languages | | title=Microsoft cuts loose Iron languages | ||
Line 37: | Line 37: | ||
| publisher=[[The Register]] | | publisher=[[The Register]] | ||
| access-date=2012-04-05 | | access-date=2012-04-05 | ||
}}</ref> परियोजना वर्तमान में गिटहब में स्वयंसेवकों के समूह द्वारा रखी गई है। यह फ्री और ओपन-सोर्स सॉफ्टवेयर है, और [[विजुअल स्टूडियो]] के लिए पायथन उपकरणों के साथ प्रयुक्त किया जा सकता है, जो माइक्रोसॉफ्ट के विजुअल स्टूडियो आईडीई के लिए | }}</ref> परियोजना वर्तमान में गिटहब में स्वयंसेवकों के समूह द्वारा रखी गई है। यह फ्री और ओपन-सोर्स सॉफ्टवेयर है, और [[विजुअल स्टूडियो]] के लिए पायथन उपकरणों के साथ प्रयुक्त किया जा सकता है, जो माइक्रोसॉफ्ट के विजुअल स्टूडियो आईडीई के लिए फ्री और ओपन-सोर्स विस्तार है।<ref>{{cite web|title=IronPython.net|url=http://www.ironpython.net|access-date=2013-07-03}}</ref><ref>{{cite web|title=Python Tools for Visual Studio- Home|url=http://pytools.codeplex.com/|work=Python Tools for Visual Studio|access-date=2013-07-03|archive-date=2018-01-26|archive-url=https://web.archive.org/web/20180126035502/http://pytools.codeplex.com/|url-status=dead}}</ref> | ||
आयरनपायथन पूरी तरह से सी शार्प (प्रोग्रामिंग भाषा) C# में लिखा गया है, | आयरनपायथन पूरी तरह से सी शार्प (प्रोग्रामिंग भाषा) C# में लिखा गया है, चूंकि इसका कुछ कोड पाइथन में लिखे गए [[स्रोत कोड पीढ़ी]] द्वारा स्वचालित रूप से उत्पन्न होता है। | ||
आयरनपायथन को [[गतिशील भाषा रनटाइम]] (डीएलआर) के शीर्ष पर प्रयुक्त किया गया है, जो सामान्य भाषा इन्फ्रास्ट्रक्चर के शीर्ष पर चलने वाली पुस्तकालय है जो डायनेमिक टाइपिंग और डायनामिक मेथड डिस्पैच | आयरनपायथन को [[गतिशील भाषा रनटाइम]] (डीएलआर) के शीर्ष पर प्रयुक्त किया गया है, जो सामान्य भाषा इन्फ्रास्ट्रक्चर के शीर्ष पर चलने वाली पुस्तकालय है जो डायनेमिक टाइपिंग और डायनामिक मेथड डिस्पैच, अन्य बातों के अतिरिक्त, डायनेमिक भाषाओं के लिए प्रदान करती है।<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/dd233052.aspx|title=Dynamic Language Runtime Overview|publisher=[[Microsoft]]|access-date=2014-04-01}}</ref> डीएलआर .नेट रूपरेखा 4.0 का भाग है और 2009 से संस्करण 2.4 के बाद से मोनो का भी भाग है।<ref>{{Cite web|url=https://github.com/mono/mono/commit/340222ffe8b958cd22d9eb0388488f326845b363|title = 2009-07-02 Marek Safar · mono/Mono@340222f|website = [[GitHub]]}}</ref> डीएलआर का उपयोग पुराने सीएलआई कार्यान्वयनों पर पुस्तकालय के रूप में भी किया जा सकता है। | ||
== स्थिति और रोडमैप == | == स्थिति और रोडमैप == | ||
Line 117: | Line 117: | ||
| publisher=github.com | | publisher=github.com | ||
| access-date=2018-01-05}}</ref> | | access-date=2018-01-05}}</ref> | ||
* रिलीज 2.7.8 16 फरवरी, 2018 को प्रचलित किया गया था और इसमें बग फिक्स, पुनर्गठित कोड और | * रिलीज 2.7.8 16 फरवरी, 2018 को प्रचलित किया गया था और इसमें बग फिक्स, पुनर्गठित कोड और अद्यतन परीक्षण आधारभूत संरचना सम्मिलित है (मोनो (सॉफ्टवेयर) के अनुसार लिनक्स पर महत्वपूर्ण परीक्षण सहित)। यह .नेट कोर को समर्थन करने वाली पहली रिलीज़ भी है।<ref name=latestbut1Release>{{cite web | ||
| url=https://github.com/IronLanguages/ironpython2/tree/ipy-2.7.8 | | url=https://github.com/IronLanguages/ironpython2/tree/ipy-2.7.8 | ||
| title=2.7.8 | | title=2.7.8 | ||
Line 170: | Line 170: | ||
window.Alert("Hello from Python") | window.Alert("Hello from Python") | ||
</script> | </script> | ||
</syntaxhighlight> | </syntaxhighlight>आयरनरूबी के लिए भी यही काम करता है। | ||
आयरनरूबी के लिए भी यही काम करता है। | |||
== लाइसेंस == | == लाइसेंस == | ||
Line 213: | Line 194: | ||
== इंटरफ़ेस एक्स्टेंसिबिलिटी == | == इंटरफ़ेस एक्स्टेंसिबिलिटी == | ||
आयरनपायथन के प्रमुख लाभों में से एक .नेट भाषा में लिखे गए अनुप्रयोग रूपरेखा के लिए | आयरनपायथन के प्रमुख लाभों में से एक .नेट भाषा में लिखे गए अनुप्रयोग रूपरेखा के लिए एक्स्टेंसिबिलिटी परत के रूप में इसका कार्य है। आयरनपायथन दुभाषिया को उपस्थित .नेट अनुप्रयोग रूपरेखा में एकीकृत करना अपेक्षाकृत सरल है। एक बार स्थापित हो जाने के बाद, डाउनस्ट्रीम डेवलपर आयरनपायथन में लिखी गई स्क्रिप्ट का उपयोग कर सकते हैं जो रूपरेखा में .नेट ऑब्जेक्ट्स के साथ इंटरैक्ट करती हैं, जिससे रूपरेखा के किसी भी कोड बेस को बदले बिना रूपरेखा के इंटरफेस में कार्यक्षमता का विस्तार होता है।<ref name=dot-net-example>{{cite web | ||
| url = http://www.resolversystems.com/documentation/index.php/Dot_Net_Objects_in_the_Grid | | url = http://www.resolversystems.com/documentation/index.php/Dot_Net_Objects_in_the_Grid | ||
| title = Using .NET objects from IronPython in Resolver One | | title = Using .NET objects from IronPython in Resolver One | ||
Line 222: | Line 203: | ||
}}</ref> | }}</ref> | ||
आयरनपायथन [[प्रतिबिंब (कंप्यूटर विज्ञान)|प्रतिबिंब]] का व्यापक उपयोग करता है। जब किसी .नेट ऑब्जेक्ट के संदर्भ में पास किया जाता है, तो यह स्वचालित रूप से उस ऑब्जेक्ट के लिए उपलब्ध प्रकारों और विधियों को आयात करेगा। यह | आयरनपायथन [[प्रतिबिंब (कंप्यूटर विज्ञान)|प्रतिबिंब]] का व्यापक उपयोग करता है। जब किसी .नेट ऑब्जेक्ट के संदर्भ में पास किया जाता है, तो यह स्वचालित रूप से उस ऑब्जेक्ट के लिए उपलब्ध प्रकारों और विधियों को आयात करेगा। यह आयरनपायथन स्क्रिप्ट के अन्दर .नेट ऑब्जेक्ट्स के साथ काम करते समय अत्यधिक सहज अनुभव का परिणाम देता है। | ||
== उदाहरण == | == उदाहरण == | ||
निम्नलिखित आयरनपायथन स्क्रिप्ट .नेट रूपरेखा ऑब्जेक्ट्स में हेरफेर करती है। यह स्क्रिप्ट | निम्नलिखित आयरनपायथन स्क्रिप्ट .नेट रूपरेखा ऑब्जेक्ट्स में हेरफेर करती है। यह स्क्रिप्ट तृतीय-पक्ष क्लाइंट-साइड अनुप्रयोग डेवलपर द्वारा आपूर्ति की जा सकती है और इंटरफ़ेस के माध्यम से सर्वर-साइड रूपरेखा में पास की जा सकती है। ध्यान दें कि क्लाइंट अनुप्रयोग द्वारा आवश्यक विश्लेषणों का समर्थन करने के लिए न तो इंटरफ़ेस और न ही सर्वर-साइड कोड को संशोधित किया गया है।<syntaxhighlight> | ||
from BookService import BookDictionary | from BookService import BookDictionary | ||
Line 232: | Line 213: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
इस स्थिति में, मान लें कि .नेट रूपरेखा बुक सेवा नामक मॉड्यूल में वर्ग, बुक डिक्शनरी को प्रयुक्त करता है, और इंटरफ़ेस प्रकाशित करता है जिसमें आयरनपायथन स्क्रिप्ट को भेजा और निष्पादित किया जा सकता है। | |||
इस स्थिति में, मान लें कि .नेट रूपरेखा बुक सेवा नामक मॉड्यूल में | |||
यह स्क्रिप्ट, जब उस इंटरफ़ेस पर भेजी जाती है, तो रूपरेखा द्वारा अनुरक्षित पुस्तकों की पूरी सूची पर पुनरावृति करेगी, और बुकर पुरस्कार विजेता लेखकों द्वारा लिखी गई पुस्तकों को चुनेगी। | यह स्क्रिप्ट, जब उस इंटरफ़ेस पर भेजी जाती है, तो रूपरेखा द्वारा अनुरक्षित पुस्तकों की पूरी सूची पर पुनरावृति करेगी, और बुकर पुरस्कार विजेता लेखकों द्वारा लिखी गई पुस्तकों को चुनेगी। | ||
Line 247: | Line 219: | ||
आनंद की बात यह है कि वास्तविक विश्लेषण लिखने की उत्तरदायिता क्लाइंट-साइड डेवलपर की है। सर्वर-साइड डेवलपर की मांग न्यूनतम है, अनिवार्य रूप से केवल सर्वर द्वारा अनुरक्षित डेटा तक पहुंच प्रदान करना। यह डिज़ाइन पैटर्न जटिल अनुप्रयोग रूपरेखा की नियुक्ति और देखरेख को बहुत सरल करता है। | आनंद की बात यह है कि वास्तविक विश्लेषण लिखने की उत्तरदायिता क्लाइंट-साइड डेवलपर की है। सर्वर-साइड डेवलपर की मांग न्यूनतम है, अनिवार्य रूप से केवल सर्वर द्वारा अनुरक्षित डेटा तक पहुंच प्रदान करना। यह डिज़ाइन पैटर्न जटिल अनुप्रयोग रूपरेखा की नियुक्ति और देखरेख को बहुत सरल करता है। | ||
निम्न स्क्रिप्ट | निम्न स्क्रिप्ट सरल हैलो वर्ल्ड संदेश बनाने के लिए .नेट रूपरेखा का उपयोग करती है।<syntaxhighlight> | ||
import clr | import clr | ||
clr.AddReference("System.Windows.Forms") | clr.AddReference("System.Windows.Forms") | ||
Line 254: | Line 226: | ||
MessageBox.Show("Hello World") | MessageBox.Show("Hello World") | ||
Performance | Performance | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== प्रदर्शन == | == प्रदर्शन == | ||
सी पायथन की तुलना में आयरनपायथन की प्रदर्शन विशेषताएँ, पाइथन का संदर्भ कार्यान्वयन, उपयोग किए गए स्पष्ट बेंचमार्क पर निर्भर करता है। [[थ्रिस्टोन]] स्क्रिप्ट के साथ लिए गए अधिकांश बेंचमार्क पर आयरनपायथन [[सीपीथॉन|सीपाइथन]] से खराब प्रदर्शन करता है लेकिन अन्य बेंचमार्क पर अच्छा है।<ref>{{cite web | सी पायथन की तुलना में आयरनपायथन की प्रदर्शन विशेषताएँ, पाइथन का संदर्भ कार्यान्वयन, उपयोग किए गए स्पष्ट बेंचमार्क पर निर्भर करता है। [[थ्रिस्टोन]] स्क्रिप्ट के साथ लिए गए अधिकांश बेंचमार्क पर आयरनपायथन [[सीपीथॉन|सीपाइथन]] से खराब प्रदर्शन करता है लेकिन अन्य बेंचमार्क पर अच्छा है।<ref>{{cite web | ||
Line 284: | Line 245: | ||
== यह भी देखें == | == यह भी देखें == | ||
{{Portal|Free and open-source software|Computer programming}} | {{Portal|Free and open-source software|Computer programming}} | ||
* [[बू (प्रोग्रामिंग भाषा)]] - .नेट रूपरेखा के लिए | * [[बू (प्रोग्रामिंग भाषा)]] - .नेट रूपरेखा के लिए भाषा और पायथन-प्रेरित वाक्य-विन्यास के साथ मोनो और सी शार्प (प्रोग्रामिंग भाषा), सी # और [[रूबी (प्रोग्रामिंग भाषा)]] से ऋण ली गई सुविधाएँ | ||
* [[कोबरा (प्रोग्रामिंग भाषा)]] | * [[कोबरा (प्रोग्रामिंग भाषा)]] | ||
*आयरन योजना | *आयरन योजना | ||
* ज्योथन - [[जावा वर्चुअल मशीन]] के लिए पायथन (प्रोग्रामिंग भाषा) का कार्यान्वयन | * ज्योथन - [[जावा वर्चुअल मशीन]] के लिए पायथन (प्रोग्रामिंग भाषा) का कार्यान्वयन | ||
* [[साइथन]] | * [[साइथन]] | ||
* [[PyPy|प्य्प्य]] - पायथन प्रोग्रामिंग भाषा के लिए | * [[PyPy|प्य्प्य]] - पायथन प्रोग्रामिंग भाषा के लिए स्व-होस्टिंग दुभाषिया | ||
* [[ताओ फ्रेमवर्क|ताओ रूपरेखा]] | * [[ताओ फ्रेमवर्क|ताओ रूपरेखा]] | ||
* [[Unladen Swallow|अनलादेन निगलना]] – सी पायथन की | * [[Unladen Swallow|अनलादेन निगलना]] – सी पायथन की (अब निष्क्रिय) शाखा जिसका उद्देश्य [[LLVM|एलएलवीएम]]-आधारित जस्ट-इन-टाइम कंपाइलर का उपयोग करके उत्तम प्रदर्शन प्रदान करना है | ||
Revision as of 12:53, 28 February 2023
Original author(s) | Jim Hugunin, Microsoft |
---|---|
Developer(s) | Dino Viehland, .NET Foundation |
Initial release | September 5, 2006[1] |
Stable release | Script error: The module returned a nil value. It is supposed to return an export table.
/ Script error: The module returned a nil value. It is supposed to return an export table. |
आयरनपायथन .नेट रूपरेखा और मोनो (सॉफ्टवेयर) को लक्षित करने वाले पायथन (प्रोग्रामिंग भाषा) का कार्यान्वयन है। जिम ह्यूगुनिन ने परियोजना बनाई और संस्करण 1.0 तक सक्रिय रूप से योगदान दिया, जो 5 सितंबर, 2006 को प्रचलित किया गया था।[2] आयरनपायथन 2.0 को 10 दिसंबर, 2008 को प्रचलित किया गया था।[3] संस्करण 1.0 के बाद इसे 2.7 बीटा 1 रिलीज़ होने तक माइक्रोसॉफ्ट की छोटी टीम द्वारा बनाए रखा गया था। माइक्रोसॉफ्ट ने 2010 के अंत में आयरनपायथन (और उसकी बहन परियोजना आयरनरूबी) को छोड़ दिया, जिसके बाद ह्यूगुनिन ने गूगल में काम करना छोड़ दिया।[4] परियोजना वर्तमान में गिटहब में स्वयंसेवकों के समूह द्वारा रखी गई है। यह फ्री और ओपन-सोर्स सॉफ्टवेयर है, और विजुअल स्टूडियो के लिए पायथन उपकरणों के साथ प्रयुक्त किया जा सकता है, जो माइक्रोसॉफ्ट के विजुअल स्टूडियो आईडीई के लिए फ्री और ओपन-सोर्स विस्तार है।[5][6]
आयरनपायथन पूरी तरह से सी शार्प (प्रोग्रामिंग भाषा) C# में लिखा गया है, चूंकि इसका कुछ कोड पाइथन में लिखे गए स्रोत कोड पीढ़ी द्वारा स्वचालित रूप से उत्पन्न होता है।
आयरनपायथन को गतिशील भाषा रनटाइम (डीएलआर) के शीर्ष पर प्रयुक्त किया गया है, जो सामान्य भाषा इन्फ्रास्ट्रक्चर के शीर्ष पर चलने वाली पुस्तकालय है जो डायनेमिक टाइपिंग और डायनामिक मेथड डिस्पैच, अन्य बातों के अतिरिक्त, डायनेमिक भाषाओं के लिए प्रदान करती है।[7] डीएलआर .नेट रूपरेखा 4.0 का भाग है और 2009 से संस्करण 2.4 के बाद से मोनो का भी भाग है।[8] डीएलआर का उपयोग पुराने सीएलआई कार्यान्वयनों पर पुस्तकालय के रूप में भी किया जा सकता है।
स्थिति और रोडमैप
- रिलीज़ 2.0, 10 दिसंबर, 2008 को प्रचलित किया गया, और 23 अक्टूबर, 2009 को 2.0.3 के रूप में अपडेट किया गया, सी पायथन 2.5 को लक्षित करता है।[9] आयरनपायथन 2.0.3 केवल .नेट रूपरेखा 3.5 तक संगत है।
- रिलीज़ 2.6, 11 दिसंबर, 2009 को रिलीज़ हुई और 12 अप्रैल, 2010 को अपडेट की गई, सी पायथन 2.6 को लक्षित करती है।[10] आयरनपायथन 2.6.1 संस्करण केवल .नेट रूपरेखा 4.0 के साथ बाइनरी संगत है। आयरनपायथन 2.6.1 को .नेट रूपरेखा 3.5 पर चलने के लिए स्रोतों से संकलित किया जाना चाहिए। आयरनपायथन 2.6.2, 21 अक्टूबर, 2010 को प्रचलित किया गया, .नेट रूपरेखा 4.0 और .नेट रूपरेखा 3.5 दोनों के साथ बाइनरी संगत है।
- रिलीज 2.7 12 मार्च, 2011 को प्रचलित किया गया था और यह सीपीथॉन 2.7 को लक्षित करता है।[11]
- रिलीज 2.7.1 21 अक्टूबर, 2011 को प्रचलित किया गया था और यह सी पायथन 2.7 को लक्षित करता है।[12]
- रिलीज 2.7.2.1 13 मार्च 2012 को प्रचलित किया गया था। यह ज़िप फ़ाइल स्वरूप पुस्तकालय, एसक्यू लाइट, और संकलित निष्पादनयोग्य के लिए समर्थन को सक्षम बनाता है।[13]
- रिलीज़ 2.7.4 को 7 सितंबर, 2013 को रिलीज़ किया गया था।[14]
- रिलीज़ 2.7.5 को 6 दिसंबर 2014 को रिलीज़ किया गया था और इसमें अधिकतर बग फिक्स सम्मिलित हैं।[15]
- रिलीज़ 2.7.6 को 21 अगस्त 2016 को रिलीज़ किया गया था और इसमें केवल बग फिक्स सम्मिलित हैं।[16]
- रिलीज़ 2.7.7 को 7 दिसंबर, 2016 को रिलीज़ किया गया था और इसमें केवल बग फिक्स सम्मिलित हैं।[17]
- रिलीज 2.7.8 16 फरवरी, 2018 को प्रचलित किया गया था और इसमें बग फिक्स, पुनर्गठित कोड और अद्यतन परीक्षण आधारभूत संरचना सम्मिलित है (मोनो (सॉफ्टवेयर) के अनुसार लिनक्स पर महत्वपूर्ण परीक्षण सहित)। यह .नेट कोर को समर्थन करने वाली पहली रिलीज़ भी है।[18]
- रिलीज़ 2.7.9 को 9 अक्टूबर, 2018 को रिलीज़ किया गया था और इसमें बग फिक्स, पुनर्गठित कोड सम्मिलित हैं। यह आयरनपायथन 3 से पहले अंतिम रिलीज होने का आशय है।[19]
- रिलीज़ 2.7.10 को 27 अप्रैल, 2020 को रिलीज़ किया गया था और इसमें .नेट कोर 3.1 समर्थन में जोड़ा गया है।[20]
- रिलीज़ 2.7.11 को 17 नवंबर, 2020 को रिलीज़ किया गया था और .नेट 5 पर चलते समय आने वाली समस्याओं का समाधान करता है।
- रिलीज़ 2.7.12 को 21 जनवरी, 2022 को रिलीज़ किया गया था और यह .नेट 6 की समस्याओं को हल करती है और .नेट कोर 2.1 के लिए समर्थन हटाती है[21]
सी पायथन के साथ अंतर
पायथन संदर्भ कार्यान्वयन सी पायथन और आयरनपायथन के बीच कुछ अंतर हैं।[22] आयरनपायथन के शीर्ष पर बनी कुछ परियोजनाओं को सी पायथन के अंतर्गत काम नहीं करने के लिए जाना जाता है।[23] इसके विपरीत, सी पायथन अनुप्रयोग जो C में प्रयुक्त की गई भाषा के विस्तार पर निर्भर करते हैं, वे आयरनपायथन के साथ संगत नहीं हैं ।
[24] जब तक कि उन्हें .नेट इंटरॉप में प्रयुक्त नहीं किया जाता। उदाहरण के लिए, नमपैय को माइक्रोसॉफ्ट द्वारा 2011 में लपेटा गया था, जिससे उस पर निर्भर कोड और पुस्तकालय को सीधे .नेट रूपरेखा से चलाया जा सके।[25]
सिल्वरलाइट
आयरनपायथन सिल्वरलाइट पर समर्थित है (जिसे माइक्रोसॉफ्ट द्वारा बहिष्कृत किया गया है और पहले से ही अधिकांश वेब ब्राउज़रों में समर्थन खो चुका है[26])। इसे जावास्क्रिप्ट इंजन की तरह ही ब्राउजर में स्क्रिप्टिंग इंजन के रूप में प्रयोग किया जा सकता है।[27] आयरनपायथन <script>
-टैग को साधारण क्लाइंट-साइड जावास्क्रिप्ट स्क्रिप्ट्स की तरह पास किया जाता है। तब एम्बेडेड एक्स एएमएल मार्कअप को संशोधित करना भी संभव है।
इसके पीछे की तकनीक को गेस्टाल्ट कहा जाता है।
// DLR initialization 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>
आयरनरूबी के लिए भी यही काम करता है।
लाइसेंस
संस्करण 0.6 तक, आयरनपायथन को सामान्य सार्वजनिक लाइसेंस की नियमों के अनुसार प्रचलित किया गया था।[28] अगस्त 2004 में प्रोजेक्ट लीड की भर्ती के बाद, आयरनपायथन को माइक्रोसॉफ्ट की साझा स्रोत पहल के भाग के रूप में उपलब्ध कराया गया था। यह लाइसेंस ओपन सोर्स पहल-अनुमोदित नहीं है, लेकिन लेखकों का प्रमाण है कि यह ओपन-सोर्स की परिभाषा को पूरा करता है।[29] 2.0 अल्फ़ा रिलीज़ के साथ, लाइसेंस को माइक्रोसॉफ्ट सार्वजनिक लाइसेंस में बदल दिया गया था,[30] जिसे ओएसआई ने स्वीकृति दे दी है। नवीनतम संस्करण अपाचे लाइसेंस 2.0 की नियमों के अनुसार प्रचलित किए गए हैं।
इंटरफ़ेस एक्स्टेंसिबिलिटी
आयरनपायथन के प्रमुख लाभों में से एक .नेट भाषा में लिखे गए अनुप्रयोग रूपरेखा के लिए एक्स्टेंसिबिलिटी परत के रूप में इसका कार्य है। आयरनपायथन दुभाषिया को उपस्थित .नेट अनुप्रयोग रूपरेखा में एकीकृत करना अपेक्षाकृत सरल है। एक बार स्थापित हो जाने के बाद, डाउनस्ट्रीम डेवलपर आयरनपायथन में लिखी गई स्क्रिप्ट का उपयोग कर सकते हैं जो रूपरेखा में .नेट ऑब्जेक्ट्स के साथ इंटरैक्ट करती हैं, जिससे रूपरेखा के किसी भी कोड बेस को बदले बिना रूपरेखा के इंटरफेस में कार्यक्षमता का विस्तार होता है।[31]
आयरनपायथन प्रतिबिंब का व्यापक उपयोग करता है। जब किसी .नेट ऑब्जेक्ट के संदर्भ में पास किया जाता है, तो यह स्वचालित रूप से उस ऑब्जेक्ट के लिए उपलब्ध प्रकारों और विधियों को आयात करेगा। यह आयरनपायथन स्क्रिप्ट के अन्दर .नेट ऑब्जेक्ट्स के साथ काम करते समय अत्यधिक सहज अनुभव का परिणाम देता है।
उदाहरण
निम्नलिखित आयरनपायथन स्क्रिप्ट .नेट रूपरेखा ऑब्जेक्ट्स में हेरफेर करती है। यह स्क्रिप्ट तृतीय-पक्ष क्लाइंट-साइड अनुप्रयोग डेवलपर द्वारा आपूर्ति की जा सकती है और इंटरफ़ेस के माध्यम से सर्वर-साइड रूपरेखा में पास की जा सकती है। ध्यान दें कि क्लाइंट अनुप्रयोग द्वारा आवश्यक विश्लेषणों का समर्थन करने के लिए न तो इंटरफ़ेस और न ही सर्वर-साइड कोड को संशोधित किया गया है।
from BookService import BookDictionary
booksWrittenByBookerPrizeWinners = [book.Title for book in BookDictionary.GetAllBooks()
if "Booker Prize" in book.Author.MajorAwards]
इस स्थिति में, मान लें कि .नेट रूपरेखा बुक सेवा नामक मॉड्यूल में वर्ग, बुक डिक्शनरी को प्रयुक्त करता है, और इंटरफ़ेस प्रकाशित करता है जिसमें आयरनपायथन स्क्रिप्ट को भेजा और निष्पादित किया जा सकता है।
यह स्क्रिप्ट, जब उस इंटरफ़ेस पर भेजी जाती है, तो रूपरेखा द्वारा अनुरक्षित पुस्तकों की पूरी सूची पर पुनरावृति करेगी, और बुकर पुरस्कार विजेता लेखकों द्वारा लिखी गई पुस्तकों को चुनेगी।
आनंद की बात यह है कि वास्तविक विश्लेषण लिखने की उत्तरदायिता क्लाइंट-साइड डेवलपर की है। सर्वर-साइड डेवलपर की मांग न्यूनतम है, अनिवार्य रूप से केवल सर्वर द्वारा अनुरक्षित डेटा तक पहुंच प्रदान करना। यह डिज़ाइन पैटर्न जटिल अनुप्रयोग रूपरेखा की नियुक्ति और देखरेख को बहुत सरल करता है।
निम्न स्क्रिप्ट सरल हैलो वर्ल्ड संदेश बनाने के लिए .नेट रूपरेखा का उपयोग करती है।
import clr
clr.AddReference("System.Windows.Forms")
from System.Windows.Forms import MessageBox
MessageBox.Show("Hello World")
Performance
प्रदर्शन
सी पायथन की तुलना में आयरनपायथन की प्रदर्शन विशेषताएँ, पाइथन का संदर्भ कार्यान्वयन, उपयोग किए गए स्पष्ट बेंचमार्क पर निर्भर करता है। थ्रिस्टोन स्क्रिप्ट के साथ लिए गए अधिकांश बेंचमार्क पर आयरनपायथन सीपाइथन से खराब प्रदर्शन करता है लेकिन अन्य बेंचमार्क पर अच्छा है।[32]
आयरनपायथन पाइथन प्रोग्राम्स में अच्छा प्रदर्शन कर सकता है जो थ्रेड्स या मल्टीपल कोर का उपयोग करते हैं, क्योंकि इसमें समय-समय पर संकलन कंपाइलर है, और इसलिए भी कि इसमें ग्लोबल इंटरप्रेटर लॉक नहीं है।[33][34]
यह भी देखें
- बू (प्रोग्रामिंग भाषा) - .नेट रूपरेखा के लिए भाषा और पायथन-प्रेरित वाक्य-विन्यास के साथ मोनो और सी शार्प (प्रोग्रामिंग भाषा), सी # और रूबी (प्रोग्रामिंग भाषा) से ऋण ली गई सुविधाएँ
- कोबरा (प्रोग्रामिंग भाषा)
- आयरन योजना
- ज्योथन - जावा वर्चुअल मशीन के लिए पायथन (प्रोग्रामिंग भाषा) का कार्यान्वयन
- साइथन
- प्य्प्य - पायथन प्रोग्रामिंग भाषा के लिए स्व-होस्टिंग दुभाषिया
- ताओ रूपरेखा
- अनलादेन निगलना – सी पायथन की (अब निष्क्रिय) शाखा जिसका उद्देश्य एलएलवीएम-आधारित जस्ट-इन-टाइम कंपाइलर का उपयोग करके उत्तम प्रदर्शन प्रदान करना है
संदर्भ
- ↑ "CodePlex Archive". Archived from the original on 2017-12-26. Retrieved 2014-05-30.
- ↑ "Jim Hugunin's blog: IronPython 1.0 released today!". 2006-09-05. Retrieved 2006-12-14.
- ↑ "Release dates for ironpython". 2008-12-10. Retrieved 2009-01-25.
- ↑ Clarke, Gavin (2010-10-22). "Microsoft cuts loose Iron languages". The Register. Retrieved 2012-04-05.
- ↑ "IronPython.net". Retrieved 2013-07-03.
- ↑ "Python Tools for Visual Studio- Home". Python Tools for Visual Studio. Archived from the original on 2018-01-26. Retrieved 2013-07-03.
- ↑ "Dynamic Language Runtime Overview". Microsoft. Retrieved 2014-04-01.
- ↑ "2009-07-02 Marek Safar · mono/Mono@340222f". GitHub.
- ↑ "2.0.3". ironpython.codeplex.com. Archived from the original on 2017-12-26. Retrieved 2010-10-16.
- ↑ "2.6". ironpython.codeplex.com. Archived from the original on 2018-01-13. Retrieved 2010-10-16.
- ↑ "2.7". ironpython.codeplex.com. Archived from the original on 2018-01-02. Retrieved 2011-03-12.
- ↑ "2.7.1". ironpython.codeplex.com. Archived from the original on 2017-12-26. Retrieved 2011-12-30.
- ↑ "2.7.2.1". ironpython.codeplex.com. Archived from the original on 2017-12-26. Retrieved 2012-03-24.
- ↑ "2.7.4". ironpython.codeplex.com. Archived from the original on 2018-01-16. Retrieved 2014-12-07.
- ↑ "2.7.5". ironpython.codeplex.com. Archived from the original on 2018-01-26. Retrieved 2014-12-07.
- ↑ "2.7.6". github.com. Retrieved 2016-08-21.
- ↑ "2.7.7". github.com. Retrieved 2018-01-05.
- ↑ "2.7.8". github.com. Retrieved 2018-01-05.
- ↑ "2.7.9". github.com. Retrieved 2018-10-09.
- ↑ "IronLanguages/ironpython2". GitHub (in English). Retrieved 2020-06-26.
- ↑ "Releases · IronLanguages/ironpython2". GitHub (in English). Retrieved 2022-08-08.
- ↑ "Differences between IronPython 1.0 and CPython 2.4.3". Microsoft. 2007-12-18. Retrieved 2008-02-09.
- ↑ Foord, Michael. "New Project: Implementing .NET Libraries in Pure Python". Archived from the original on 2008-08-30. Retrieved 2008-02-09.
- ↑ Eby, Phillip (15 October 2005). "Children of a Lesser Python". Retrieved 2008-07-09.
- ↑ "NumPy and SciPy for .NET". Retrieved 2019-04-05.
- ↑ "Silverlight 5 System Requirements". www.microsoft.com. Retrieved 2019-11-16.
- ↑ "Write browser applications in Python". IronPython.net. Archived from the original on 2013-03-17.
- ↑ "Original IronPython homepage". 2004-07-28. Archived from the original on February 23, 2010. Retrieved 2007-05-13.
- ↑ "Shared Source License for IronPython". 2006-04-28. Retrieved 2007-05-13.
- ↑ "Microsoft permissive license". 2007-04-28. Retrieved 2007-05-13.
- ↑ "Using .NET objects from IronPython in Resolver One". Archived from the original on 2009-01-14. Retrieved 2008-11-18.
- ↑ "IronPython Performance Report". Retrieved 2009-10-05.[permanent dead link]
- ↑ "IronPython at python.org". python.org. Retrieved 2011-04-04.
IronPython has no GIL and multi-threaded code can use multi core processors.
- ↑ "Python's Hardest Problem, Revisited". Archived from the original on 2015-10-31. Retrieved 2015-07-15.
बाहरी संबंध
- No URL found. Please specify a URL here or add one to Wikidata.