आयरनपायथन: Difference between revisions

From Vigyanwiki
(Created page with "{{primary sources|date=January 2013}} {{Infobox software | name = IronPython | logo = 64px<br />200px | logo alt =...")
 
No edit summary
Line 30: Line 30:
  | 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]] की एक छोटी टीम द्वारा बनाए रखा गया था। Microsoft ने 2010 के अंत में IronPython (और उसकी बहन परियोजना [[IronRuby]]) को छोड़ दिया, जिसके बाद ह्यूगुनिन ने Google में काम करना छोड़ दिया।<ref>{{cite web
}}</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 38: Line 38:
| publisher=[[The Register]]
| publisher=[[The Register]]
| access-date=2012-04-05
| access-date=2012-04-05
}}</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>
}}</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>
IronPython पूरी तरह से C Sharp (प्रोग्रामिंग लैंग्वेज)|C# में लिखा गया है, हालांकि इसका कुछ कोड Python में लिखे गए [[स्रोत कोड पीढ़ी]] द्वारा स्वचालित रूप से उत्पन्न होता है।


IronPython को [[गतिशील भाषा रनटाइम]] (DLR) के शीर्ष पर लागू किया गया है, जो सामान्य भाषा इन्फ्रास्ट्रक्चर के शीर्ष पर चलने वाली एक लाइब्रेरी है जो डायनेमिक टाइपिंग और डायनामिक मेथड डिस्पैच प्रदान करती है, अन्य बातों के अलावा, डायनेमिक भाषाओं के लिए।<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> डीएलआर .NET फ्रेमवर्क 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> डीएलआर का उपयोग पुराने सीएलआई कार्यान्वयनों पर पुस्तकालय के रूप में भी किया जा सकता है।
आयरनपाइथन पूरी तरह से सी शार्प (प्रोग्रामिंग लैंग्वेज)|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> डीएलआर .NET फ्रेमवर्क 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 134: Line 135:
=== CPython === के साथ अंतर
=== CPython === के साथ अंतर
{{expand section|date=July 2012}}
{{expand section|date=July 2012}}
पायथन संदर्भ कार्यान्वयन CPython और IronPython के बीच कुछ अंतर हैं।<ref name="compcpython">{{cite web
पायथन संदर्भ कार्यान्वयन CPython और आयरनपाइथन के बीच कुछ अंतर हैं।<ref name="compcpython">{{cite web
| url=http://www.codeplex.com/IronPython/Wiki/View.aspx?title=Differences&referringTitle=Home
| url=http://www.codeplex.com/IronPython/Wiki/View.aspx?title=Differences&referringTitle=Home
| title=Differences between IronPython 1.0 and CPython 2.4.3
| title=Differences between IronPython 1.0 and CPython 2.4.3
|publisher=[[Microsoft]]
|publisher=[[Microsoft]]
| date=2007-12-18
| date=2007-12-18
| access-date=2008-02-09}}</ref> IronPython के शीर्ष पर बनी कुछ परियोजनाओं को CPython के तहत काम नहीं करने के लिए जाना जाता है।<ref>{{cite web
| access-date=2008-02-09}}</ref> आयरनपाइथन के शीर्ष पर बनी कुछ परियोजनाओं को CPython के तहत काम नहीं करने के लिए जाना जाता है।<ref>{{cite web
| url=http://lists.ironpython.com/pipermail/users-ironpython.com/2008-January/006297.html
| url=http://lists.ironpython.com/pipermail/users-ironpython.com/2008-January/006297.html
| title=New Project: Implementing .NET Libraries in Pure Python
| title=New Project: Implementing .NET Libraries in Pure Python
Line 148: Line 149:
| archive-date=2008-08-30
| archive-date=2008-08-30
| url-status=dead
| url-status=dead
}}</ref> इसके विपरीत, CPython एप्लिकेशन जो C में लागू की गई भाषा के एक्सटेंशन पर निर्भर करते हैं, वे IronPython के साथ संगत नहीं हैं
}}</ref> इसके विपरीत, CPython एप्लिकेशन जो C में प्रयुक्त की गई भाषा के एक्सटेंशन पर निर्भर करते हैं, वे आयरनपाइथन के साथ संगत नहीं हैं
,<ref>{{cite web
,<ref>{{cite web
| url=http://dirtsimple.org/2005/10/children-of-lesser-python.html
| url=http://dirtsimple.org/2005/10/children-of-lesser-python.html
Line 154: Line 155:
| last=Eby |first=Phillip
| last=Eby |first=Phillip
| date=15 October 2005
| date=15 October 2005
| access-date=2008-07-09}}</ref> जब तक कि उन्हें .NET इंटरॉप में लागू नहीं किया जाता। उदाहरण के लिए, [[NumPy]] को Microsoft द्वारा 2011 में लपेटा गया था, जिससे उस पर निर्भर कोड और लाइब्रेरी को सीधे .NET फ्रेमवर्क से चलाया जा सके।<ref>{{cite web | url=https://www.infoq.com/news/2011/07/NumPy-NET | title=NumPy and SciPy for .NET | access-date=2019-04-05}}</ref>
| access-date=2008-07-09}}</ref> जब तक कि उन्हें .NET इंटरॉप में प्रयुक्त नहीं किया जाता। उदाहरण के लिए, [[NumPy]] को माइक्रोसॉफ्ट द्वारा 2011 में लपेटा गया था, जिससे उस पर निर्भर कोड और लाइब्रेरी को सीधे .NET फ्रेमवर्क से चलाया जा सके।<ref>{{cite web | url=https://www.infoq.com/news/2011/07/NumPy-NET | title=NumPy and SciPy for .NET | access-date=2019-04-05}}</ref>




Line 187: Line 188:
  | date = 2006-04-28
  | date = 2006-04-28
  | access-date = 2007-05-13
  | access-date = 2007-05-13
}}</ref> 2.0 अल्फ़ा रिलीज़ के साथ, लाइसेंस को Microsoft सार्वजनिक लाइसेंस में बदल दिया गया था,<ref name=license-mspl>{{cite web
}}</ref> 2.0 अल्फ़ा रिलीज़ के साथ, लाइसेंस को माइक्रोसॉफ्ट सार्वजनिक लाइसेंस में बदल दिया गया था,<ref name=license-mspl>{{cite web
  | url = http://www.codeplex.com/IronPython/Project/License.aspx?LicenseHistoryId=2866
  | url = http://www.codeplex.com/IronPython/Project/License.aspx?LicenseHistoryId=2866
  | title = Microsoft permissive license
  | title = Microsoft permissive license
Line 195: Line 196:


== इंटरफ़ेस एक्स्टेंसिबिलिटी ==
== इंटरफ़ेस एक्स्टेंसिबिलिटी ==
IronPython के प्रमुख लाभों में से एक .NET भाषा में लिखे गए एप्लिकेशन फ्रेमवर्क के लिए एक एक्स्टेंसिबिलिटी परत के रूप में इसका कार्य है। आयरनपाइथन दुभाषिया को मौजूदा .NET एप्लिकेशन फ्रेमवर्क में एकीकृत करना अपेक्षाकृत सरल है। एक बार स्थापित हो जाने के बाद, डाउनस्ट्रीम डेवलपर आयरनपाइथन में लिखी गई स्क्रिप्ट का उपयोग कर सकते हैं जो फ्रेमवर्क में .NET ऑब्जेक्ट्स के साथ इंटरैक्ट करती हैं, जिससे फ्रेमवर्क के किसी भी कोड बेस को बदले बिना फ्रेमवर्क के इंटरफेस में कार्यक्षमता का विस्तार होता है।<ref name=dot-net-example>{{cite web
आयरनपाइथन के प्रमुख लाभों में से एक .NET भाषा में लिखे गए एप्लिकेशन फ्रेमवर्क के लिए एक एक्स्टेंसिबिलिटी परत के रूप में इसका कार्य है। आयरनपाइथन दुभाषिया को मौजूदा .NET एप्लिकेशन फ्रेमवर्क में एकीकृत करना अपेक्षाकृत सरल है। एक बार स्थापित हो जाने के बाद, डाउनस्ट्रीम डेवलपर आयरनपाइथन में लिखी गई स्क्रिप्ट का उपयोग कर सकते हैं जो फ्रेमवर्क में .NET ऑब्जेक्ट्स के साथ इंटरैक्ट करती हैं, जिससे फ्रेमवर्क के किसी भी कोड बेस को बदले बिना फ्रेमवर्क के इंटरफेस में कार्यक्षमता का विस्तार होता है।<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 203: Line 204:
  | url-status = dead
  | url-status = dead
  }}</ref>
  }}</ref>
आयरनपायथन [[प्रतिबिंब (कंप्यूटर विज्ञान)]] का व्यापक उपयोग करता है। जब किसी .NET ऑब्जेक्ट के संदर्भ में पास किया जाता है, तो यह स्वचालित रूप से उस ऑब्जेक्ट के लिए उपलब्ध प्रकारों और विधियों को आयात करेगा। यह एक IronPython स्क्रिप्ट के भीतर .NET ऑब्जेक्ट्स के साथ काम करते समय अत्यधिक सहज अनुभव का परिणाम देता है।
आयरनपायथन [[प्रतिबिंब (कंप्यूटर विज्ञान)]] का व्यापक उपयोग करता है। जब किसी .NET ऑब्जेक्ट के संदर्भ में पास किया जाता है, तो यह स्वचालित रूप से उस ऑब्जेक्ट के लिए उपलब्ध प्रकारों और विधियों को आयात करेगा। यह एक आयरनपाइथन स्क्रिप्ट के भीतर .NET ऑब्जेक्ट्स के साथ काम करते समय अत्यधिक सहज अनुभव का परिणाम देता है।


== उदाहरण ==
== उदाहरण ==
Line 213: Line 214:
                                     यदि Book.Author.MajorAwards में बुकर पुरस्कार]
                                     यदि Book.Author.MajorAwards में बुकर पुरस्कार]
</वाक्यविन्यास हाइलाइट>
</वाक्यविन्यास हाइलाइट>
इस स्थिति में, मान लें कि .NET फ्रेमवर्क BookService नामक मॉड्यूल में एक वर्ग, BookDictionary को लागू करता है, और एक इंटरफ़ेस प्रकाशित करता है जिसमें आयरनपाइथन स्क्रिप्ट को भेजा और निष्पादित किया जा सकता है।
इस स्थिति में, मान लें कि .NET फ्रेमवर्क BookService नामक मॉड्यूल में एक वर्ग, BookDictionary को प्रयुक्त करता है, और एक इंटरफ़ेस प्रकाशित करता है जिसमें आयरनपाइथन स्क्रिप्ट को भेजा और निष्पादित किया जा सकता है।


यह स्क्रिप्ट, जब उस इंटरफ़ेस पर भेजी जाती है, तो फ्रेमवर्क द्वारा अनुरक्षित पुस्तकों की पूरी सूची पर पुनरावृति करेगी, और बुकर पुरस्कार विजेता लेखकों द्वारा लिखी गई पुस्तकों को चुनेगी।
यह स्क्रिप्ट, जब उस इंटरफ़ेस पर भेजी जाती है, तो फ्रेमवर्क द्वारा अनुरक्षित पुस्तकों की पूरी सूची पर पुनरावृति करेगी, और बुकर पुरस्कार विजेता लेखकों द्वारा लिखी गई पुस्तकों को चुनेगी।
Line 229: Line 230:


== प्रदर्शन ==
== प्रदर्शन ==
CPython की तुलना में IronPython की प्रदर्शन विशेषताएँ, Python का संदर्भ कार्यान्वयन, उपयोग किए गए सटीक बेंचमार्क पर निर्भर करता है। [[थ्रिस्टोन]] स्क्रिप्ट के साथ लिए गए अधिकांश बेंचमार्क पर आयरनपाइथन [[सीपीथॉन]] से खराब प्रदर्शन करता है लेकिन अन्य बेंचमार्क पर बेहतर है।<ref>{{cite web
CPython की तुलना में आयरनपाइथन की प्रदर्शन विशेषताएँ, Python का संदर्भ कार्यान्वयन, उपयोग किए गए सटीक बेंचमार्क पर निर्भर करता है। [[थ्रिस्टोन]] स्क्रिप्ट के साथ लिए गए अधिकांश बेंचमार्क पर आयरनपाइथन [[सीपीथॉन]] से खराब प्रदर्शन करता है लेकिन अन्य बेंचमार्क पर बेहतर है।<ref>{{cite web
| url=http://ironpython.codeplex.com/Wiki/View.aspx?title=IP26RC1VsCPy26Perf&referringTitle=Home
| url=http://ironpython.codeplex.com/Wiki/View.aspx?title=IP26RC1VsCPy26Perf&referringTitle=Home
| title=IronPython Performance Report
| title=IronPython Performance Report
| access-date=2009-10-05
| access-date=2009-10-05
}}{{Dead link|date=October 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref>
}}{{Dead link|date=October 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref>
IronPython Python प्रोग्राम्स में बेहतर प्रदर्शन कर सकता है जो थ्रेड्स या मल्टीपल कोर का उपयोग करते हैं, क्योंकि इसमें [[समय-समय पर संकलन]] कंपाइलर है, और इसलिए भी कि इसमें [[ग्लोबल इंटरप्रेटर लॉक]] नहीं है।<ref>{{cite web
आयरनपाइथन Python प्रोग्राम्स में बेहतर प्रदर्शन कर सकता है जो थ्रेड्स या मल्टीपल कोर का उपयोग करते हैं, क्योंकि इसमें [[समय-समय पर संकलन]] कंपाइलर है, और इसलिए भी कि इसमें [[ग्लोबल इंटरप्रेटर लॉक]] नहीं है।<ref>{{cite web
| url=https://wiki.python.org/moin/IronPython
| url=https://wiki.python.org/moin/IronPython
| title=IronPython at python.org
| title=IronPython at python.org

Revision as of 01:54, 27 February 2023

IronPython
Original author(s)Jim Hugunin, Microsoft
Developer(s)Dino Viehland,
.NET Foundation
Initial releaseSeptember 5, 2006; 19 years ago (2006-09-05)[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.; Error: first parameter cannot be parsed as a date or time. (Script error: The module returned a nil value. It is supposed to return an export table.)

आयरनपाइथन .NET फ्रेमवर्क और मोनो (सॉफ्टवेयर) को लक्षित करने वाले पायथन (प्रोग्रामिंग भाषा) का कार्यान्वयन है। जिम ह्यूगुनिन ने परियोजना बनाई और संस्करण 1.0 तक सक्रिय रूप से योगदान दिया, जो 5 सितंबर, 2006 को जारी किया गया था।[2] आयरनपायथन 2.0 को 10 दिसंबर, 2008 को जारी किया गया था।[3] संस्करण 1.0 के बाद इसे 2.7 बीटा 1 रिलीज़ होने तक माइक्रोसॉफ्ट की एक छोटी टीम द्वारा बनाए रखा गया था। माइक्रोसॉफ्ट ने 2010 के अंत में आयरनपाइथन (और उसकी बहन परियोजना आयरनरूबी) को छोड़ दिया, जिसके बाद ह्यूगुनिन ने गूगल में काम करना छोड़ दिया।[4] परियोजना वर्तमान में गिटहब में स्वयंसेवकों के एक समूह द्वारा रखी गई है। यह फ्री और ओपन-सोर्स सॉफ्टवेयर है, और विजुअल स्टूडियो के लिए पायथन टूल्स के साथ प्रयुक्त किया जा सकता है, जो माइक्रोसॉफ्ट के विजुअल स्टूडियो आईडीई के लिए एक फ्री और ओपन-सोर्स एक्सटेंशन है।[5][6]

आयरनपाइथन पूरी तरह से सी शार्प (प्रोग्रामिंग लैंग्वेज)|C# में लिखा गया है, चुकी इसका कुछ कोड पाइथन में लिखे गए स्रोत कोड पीढ़ी द्वारा स्वचालित रूप से उत्पन्न होता है।

आयरनपाइथन को गतिशील भाषा रनटाइम (डीएलआर) के शीर्ष पर प्रयुक्त किया गया है, जो सामान्य भाषा इन्फ्रास्ट्रक्चर के शीर्ष पर चलने वाली एक लाइब्रेरी है जो डायनेमिक टाइपिंग और डायनामिक मेथड डिस्पैच प्रदान करती है, अन्य बातों के अतिरिक्त, डायनेमिक भाषाओं के लिए।[7] डीएलआर .NET फ्रेमवर्क 4.0 का भाग है और 2009 से संस्करण 2.4 के बाद से मोनो का भी भाग है।[8] डीएलआर का उपयोग पुराने सीएलआई कार्यान्वयनों पर पुस्तकालय के रूप में भी किया जा सकता है।

स्थिति और रोडमैप

  • रिलीज़ 2.0, 10 दिसंबर, 2008 को जारी किया गया, और 23 अक्टूबर, 2009 को 2.0.3 के रूप में अपडेट किया गया, CPython 2.5 को लक्षित करता है।[9] आयरनपायथन 2.0.3 केवल .NET फ्रेमवर्क 3.5 तक संगत है।
  • रिलीज़ 2.6, 11 दिसंबर, 2009 को रिलीज़ हुई और 12 अप्रैल, 2010 को अपडेट की गई, CPython 2.6 को लक्षित करती है।[10] आयरनपायथन 2.6.1 संस्करण केवल .NET फ्रेमवर्क 4.0 के साथ बाइनरी संगत है। आयरनपाइथन 2.6.1 को .NET फ्रेमवर्क 3.5 पर चलने के लिए स्रोतों से संकलित किया जाना चाहिए। आयरनपाइथन 2.6.2, 21 अक्टूबर, 2010 को जारी किया गया, .NET फ्रेमवर्क 4.0 और .NET फ्रेमवर्क 3.5 दोनों के साथ बाइनरी संगत है।
  • रिलीज 2.7 12 मार्च, 2011 को जारी किया गया था और यह सीपीथॉन 2.7 को लक्षित करता है।[11]
  • रिलीज 2.7.1 21 अक्टूबर, 2011 को जारी किया गया था और यह CPython 2.7 को लक्षित करता है।[12]
  • रिलीज 2.7.2.1 13 मार्च 2012 को जारी किया गया था। यह ज़िप फ़ाइल स्वरूप लाइब्रेरी, SQLite, और संकलित निष्पादनयोग्य के लिए समर्थन को सक्षम बनाता है।[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 को जारी किया गया था और इसमें बग फिक्स, पुनर्गठित कोड और एक अद्यतन परीक्षण आधारभूत संरचना शामिल है (मोनो (सॉफ्टवेयर) के तहत लिनक्स पर महत्वपूर्ण परीक्षण सहित)। यह .NET कोर को सपोर्ट करने वाली पहली रिलीज़ भी है।[18]
  • रिलीज़ 2.7.9 को 9 अक्टूबर, 2018 को रिलीज़ किया गया था और इसमें बग फिक्स, पुनर्गठित कोड शामिल हैं। यह आयरनपीथन 3 से पहले अंतिम रिलीज होने का इरादा है।[19]
  • रिलीज़ 2.7.10 को 27 अप्रैल, 2020 को रिलीज़ किया गया था और इसमें .NET Core 3.1 सपोर्ट जोड़ा गया है।[20]
  • रिलीज़ 2.7.11 को 17 नवंबर, 2020 को रिलीज़ किया गया था और .NET 5 पर चलते समय आने वाली समस्याओं का समाधान करता है।
  • रिलीज़ 2.7.12 को 21 जनवरी, 2022 को रिलीज़ किया गया था और यह .NET 6 की समस्याओं को हल करती है और .NET कोर 2.1 के लिए समर्थन हटाती है[21]


=== CPython === के साथ अंतर

पायथन संदर्भ कार्यान्वयन CPython और आयरनपाइथन के बीच कुछ अंतर हैं।[22] आयरनपाइथन के शीर्ष पर बनी कुछ परियोजनाओं को CPython के तहत काम नहीं करने के लिए जाना जाता है।[23] इसके विपरीत, CPython एप्लिकेशन जो C में प्रयुक्त की गई भाषा के एक्सटेंशन पर निर्भर करते हैं, वे आयरनपाइथन के साथ संगत नहीं हैं ,[24] जब तक कि उन्हें .NET इंटरॉप में प्रयुक्त नहीं किया जाता। उदाहरण के लिए, NumPy को माइक्रोसॉफ्ट द्वारा 2011 में लपेटा गया था, जिससे उस पर निर्भर कोड और लाइब्रेरी को सीधे .NET फ्रेमवर्क से चलाया जा सके।[25]


सिल्वरलाइट

आयरनपायथन सिल्वरलाइट पर समर्थित है (जिसे माइक्रोसॉफ्ट द्वारा बहिष्कृत किया गया है और पहले से ही अधिकांश वेब ब्राउज़रों में समर्थन खो चुका है[26]). इसे जावास्क्रिप्ट इंजन की तरह ही ब्राउजर में स्क्रिप्टिंग इंजन के रूप में इस्तेमाल किया जा सकता है।[27] आयरनपायथन स्क्रिप्ट्स को साधारण क्लाइंट-साइड जावास्क्रिप्ट स्क्रिप्ट्स की तरह पास किया जाता है <script>-टैग। तब एम्बेडेड XAML मार्कअप को संशोधित करना भी संभव है।

इसके पीछे की तकनीक को गेस्टाल्ट कहा जाता है।[citation needed] <वाक्यविन्यास लैंग = html4सख्त> // डीएलआर आरंभीकरण स्क्रिप्ट। <स्क्रिप्ट src= http://gestalt.ironpython.net/dlr-latest.js type= text/javascript ></script>

// क्लाइंट-साइड स्क्रिप्ट आयरनपीथन और सिल्वरलाइट को पास की गई। <स्क्रिप्ट प्रकार = पाठ / अजगर>

   विंडो। अलर्ट (पायथन से हैलो)

</स्क्रिप्ट> </वाक्यविन्यास हाइलाइट>

आयरनरूबी के लिए भी यही काम करता है।

लाइसेंस

संस्करण 0.6 तक, आयरनपीथन को आम सार्वजनिक लाइसेंस की शर्तों के तहत जारी किया गया था।[28] अगस्त 2004 में प्रोजेक्ट लीड की भर्ती के बाद, आयरनपीथन को माइक्रोसॉफ्ट की साझा स्रोत पहल के हिस्से के रूप में उपलब्ध कराया गया था। यह लाइसेंस ओपन सोर्स पहल-अनुमोदित नहीं है, लेकिन लेखकों का दावा है कि यह ओपन-सोर्स की परिभाषा को पूरा करता है।[29] 2.0 अल्फ़ा रिलीज़ के साथ, लाइसेंस को माइक्रोसॉफ्ट सार्वजनिक लाइसेंस में बदल दिया गया था,[30] जिसे ओएसआई ने मंजूरी दे दी है। नवीनतम संस्करण Apache लाइसेंस 2.0 की शर्तों के तहत जारी किए गए हैं।

इंटरफ़ेस एक्स्टेंसिबिलिटी

आयरनपाइथन के प्रमुख लाभों में से एक .NET भाषा में लिखे गए एप्लिकेशन फ्रेमवर्क के लिए एक एक्स्टेंसिबिलिटी परत के रूप में इसका कार्य है। आयरनपाइथन दुभाषिया को मौजूदा .NET एप्लिकेशन फ्रेमवर्क में एकीकृत करना अपेक्षाकृत सरल है। एक बार स्थापित हो जाने के बाद, डाउनस्ट्रीम डेवलपर आयरनपाइथन में लिखी गई स्क्रिप्ट का उपयोग कर सकते हैं जो फ्रेमवर्क में .NET ऑब्जेक्ट्स के साथ इंटरैक्ट करती हैं, जिससे फ्रेमवर्क के किसी भी कोड बेस को बदले बिना फ्रेमवर्क के इंटरफेस में कार्यक्षमता का विस्तार होता है।[31] आयरनपायथन प्रतिबिंब (कंप्यूटर विज्ञान) का व्यापक उपयोग करता है। जब किसी .NET ऑब्जेक्ट के संदर्भ में पास किया जाता है, तो यह स्वचालित रूप से उस ऑब्जेक्ट के लिए उपलब्ध प्रकारों और विधियों को आयात करेगा। यह एक आयरनपाइथन स्क्रिप्ट के भीतर .NET ऑब्जेक्ट्स के साथ काम करते समय अत्यधिक सहज अनुभव का परिणाम देता है।

उदाहरण

निम्नलिखित आयरनपाइथन स्क्रिप्ट .NET फ्रेमवर्क ऑब्जेक्ट्स में हेरफेर करती है। यह स्क्रिप्ट एक तृतीय-पक्ष क्लाइंट-साइड एप्लिकेशन डेवलपर द्वारा आपूर्ति की जा सकती है और एक इंटरफ़ेस के माध्यम से सर्वर-साइड फ्रेमवर्क में पास की जा सकती है। ध्यान दें कि क्लाइंट एप्लिकेशन द्वारा आवश्यक विश्लेषणों का समर्थन करने के लिए न तो इंटरफ़ेस और न ही सर्वर-साइड कोड को संशोधित किया गया है। <वाक्यविन्यास लैंग = अजगर> BookService आयात BookDictionary से

BooksWrittenByBookerPrizeWinners = [book.Title for book in BookDictionary.GetAllBooks()

                                   यदि Book.Author.MajorAwards में बुकर पुरस्कार]

</वाक्यविन्यास हाइलाइट> इस स्थिति में, मान लें कि .NET फ्रेमवर्क BookService नामक मॉड्यूल में एक वर्ग, BookDictionary को प्रयुक्त करता है, और एक इंटरफ़ेस प्रकाशित करता है जिसमें आयरनपाइथन स्क्रिप्ट को भेजा और निष्पादित किया जा सकता है।

यह स्क्रिप्ट, जब उस इंटरफ़ेस पर भेजी जाती है, तो फ्रेमवर्क द्वारा अनुरक्षित पुस्तकों की पूरी सूची पर पुनरावृति करेगी, और बुकर पुरस्कार विजेता लेखकों द्वारा लिखी गई पुस्तकों को चुनेगी।

मजे की बात यह है कि वास्तविक विश्लेषण लिखने की जिम्मेदारी क्लाइंट-साइड डेवलपर की है। सर्वर-साइड डेवलपर की मांग न्यूनतम है, अनिवार्य रूप से केवल सर्वर द्वारा अनुरक्षित डेटा तक पहुंच प्रदान करना। यह डिज़ाइन पैटर्न जटिल एप्लिकेशन फ्रेमवर्क की तैनाती और रखरखाव को बहुत सरल करता है।

निम्न स्क्रिप्ट एक सरल हैलो वर्ल्ड संदेश बनाने के लिए .NET फ्रेमवर्क का उपयोग करती है। <वाक्यविन्यास लैंग = अजगर> आयात सीएलआर clr.AddReference (System.Windows.Forms)

System.Windows.Forms से MessageBox आयात करें संदेशबॉक्स.शो (हैलो वर्ल्ड) </वाक्यविन्यास हाइलाइट>

प्रदर्शन

CPython की तुलना में आयरनपाइथन की प्रदर्शन विशेषताएँ, Python का संदर्भ कार्यान्वयन, उपयोग किए गए सटीक बेंचमार्क पर निर्भर करता है। थ्रिस्टोन स्क्रिप्ट के साथ लिए गए अधिकांश बेंचमार्क पर आयरनपाइथन सीपीथॉन से खराब प्रदर्शन करता है लेकिन अन्य बेंचमार्क पर बेहतर है।[32] आयरनपाइथन Python प्रोग्राम्स में बेहतर प्रदर्शन कर सकता है जो थ्रेड्स या मल्टीपल कोर का उपयोग करते हैं, क्योंकि इसमें समय-समय पर संकलन कंपाइलर है, और इसलिए भी कि इसमें ग्लोबल इंटरप्रेटर लॉक नहीं है।[33][34]


यह भी देखें


संदर्भ

  1. "CodePlex Archive". Archived from the original on 2017-12-26. Retrieved 2014-05-30.
  2. "Jim Hugunin's blog: IronPython 1.0 released today!". 2006-09-05. Retrieved 2006-12-14.
  3. "Release dates for ironpython". 2008-12-10. Retrieved 2009-01-25.
  4. Clarke, Gavin (2010-10-22). "Microsoft cuts loose Iron languages". The Register. Retrieved 2012-04-05.
  5. "IronPython.net". Retrieved 2013-07-03.
  6. "Python Tools for Visual Studio- Home". Python Tools for Visual Studio. Archived from the original on 2018-01-26. Retrieved 2013-07-03.
  7. "Dynamic Language Runtime Overview". Microsoft. Retrieved 2014-04-01.
  8. "2009-07-02 Marek Safar · mono/Mono@340222f". GitHub.
  9. "2.0.3". ironpython.codeplex.com. Archived from the original on 2017-12-26. Retrieved 2010-10-16.
  10. "2.6". ironpython.codeplex.com. Archived from the original on 2018-01-13. Retrieved 2010-10-16.
  11. "2.7". ironpython.codeplex.com. Archived from the original on 2018-01-02. Retrieved 2011-03-12.
  12. "2.7.1". ironpython.codeplex.com. Archived from the original on 2017-12-26. Retrieved 2011-12-30.
  13. "2.7.2.1". ironpython.codeplex.com. Archived from the original on 2017-12-26. Retrieved 2012-03-24.
  14. "2.7.4". ironpython.codeplex.com. Archived from the original on 2018-01-16. Retrieved 2014-12-07.
  15. "2.7.5". ironpython.codeplex.com. Archived from the original on 2018-01-26. Retrieved 2014-12-07.
  16. "2.7.6". github.com. Retrieved 2016-08-21.
  17. "2.7.7". github.com. Retrieved 2018-01-05.
  18. "2.7.8". github.com. Retrieved 2018-01-05.
  19. "2.7.9". github.com. Retrieved 2018-10-09.
  20. "IronLanguages/ironpython2". GitHub (in English). Retrieved 2020-06-26.
  21. "Releases · IronLanguages/ironpython2". GitHub (in English). Retrieved 2022-08-08.
  22. "Differences between IronPython 1.0 and CPython 2.4.3". Microsoft. 2007-12-18. Retrieved 2008-02-09.
  23. Foord, Michael. "New Project: Implementing .NET Libraries in Pure Python". Archived from the original on 2008-08-30. Retrieved 2008-02-09.
  24. Eby, Phillip (15 October 2005). "Children of a Lesser Python". Retrieved 2008-07-09.
  25. "NumPy and SciPy for .NET". Retrieved 2019-04-05.
  26. "Silverlight 5 System Requirements". www.microsoft.com. Retrieved 2019-11-16.
  27. "Write browser applications in Python". IronPython.net. Archived from the original on 2013-03-17.
  28. "Original IronPython homepage". 2004-07-28. Archived from the original on February 23, 2010. Retrieved 2007-05-13.
  29. "Shared Source License for IronPython". 2006-04-28. Retrieved 2007-05-13.
  30. "Microsoft permissive license". 2007-04-28. Retrieved 2007-05-13.
  31. "Using .NET objects from IronPython in Resolver One". Archived from the original on 2009-01-14. Retrieved 2008-11-18.
  32. "IronPython Performance Report". Retrieved 2009-10-05.[permanent dead link]
  33. "IronPython at python.org". python.org. Retrieved 2011-04-04. IronPython has no GIL and multi-threaded code can use multi core processors.
  34. "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.