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

From Vigyanwiki
No edit summary
No edit summary
 
(13 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{primary sources|date=January 2013}}
'''आयरनपायथन''' .नेट रूपरेखा और मोनो (सॉफ्टवेयर) को लक्षित करने वाले पायथन (प्रोग्रामिंग भाषा) का कार्यान्वयन है। [[जिम ह्यूगुनिन]] ने परियोजना बनाई और संस्करण 1.0 तक सक्रिय रूप से योगदान दिया, जो 5 सितंबर, 2006 को प्रचलित किया गया था।<ref>{{cite web
{{Infobox software
| name = IronPython
| logo = [[File:IronPython 3 logo.svg|64px]]<br />[[File:Ironpython-logo.png|200px]]
| logo alt =
| logo caption =
| author = [[Jim Hugunin]], [[Microsoft]]
| developer = Dino Viehland,<br />[[.NET Foundation]]
| released = {{Release date and age|2006|09|05}}<ref>{{Cite web|url=http://ironpython.codeplex.com/releases/view/423|title=CodePlex Archive|access-date=2014-05-30|archive-date=2017-12-26|archive-url=https://web.archive.org/web/20171226082609/http://ironpython.codeplex.com/releases/view/423|url-status=dead}}</ref>
| discontinued = <!-- Set to yes if software is discontinued, otherwise omit. -->
 
| latest release version = {{wikidata|property|edit|reference|P348}}
| latest release date    = {{start date and age|{{wikidata|qualifier|P348|P577|P548=Q2804309}}}}
| नवीनतम पूर्वावलोकन संस्करण = 3.4.0-बीटा1
| नवीनतम पूर्वावलोकन दिनांक = {{start date and age|2022|04|30}}
| प्रोग्रामिंग लैंग्वेज = सी शार्प (प्रोग्रामिंग लैंग्वेज) | सी#
| ऑपरेटिंग सिस्टम = [[माइक्रोसॉफ़्ट विंडोज़]], [[लिनक्स]], मैकओएस
| प्लेटफॉर्म = .NET फ्रेमवर्क, .NET Core|.NET, [[मोनो (सॉफ्टवेयर)]]
| शैली = [[पायथन (प्रोग्रामिंग भाषा)]] कार्यान्वयन
| लाइसेंस = अपाचे लाइसेंस 2.0
}}
आयरनपाइथन .नेट रूपरेखा और मोनो (सॉफ्टवेयर) को लक्षित करने वाले पायथन (प्रोग्रामिंग भाषा) का कार्यान्वयन है। [[जिम ह्यूगुनिन]] ने परियोजना बनाई और संस्करण 1.0 तक सक्रिय रूप से योगदान दिया, जो 5 सितंबर, 2006 को जारी किया गया था।<ref>{{cite web
  | url = http://blogs.msdn.com/hugunin/archive/2006/09/05/741605.aspx
  | url = http://blogs.msdn.com/hugunin/archive/2006/09/05/741605.aspx
  | title = Jim Hugunin's blog: IronPython 1.0 released today!
  | title = Jim Hugunin's blog: IronPython 1.0 released today!
  | date = 2006-09-05
  | date = 2006-09-05
  | access-date = 2006-12-14
  | access-date = 2006-12-14
}}</ref> आयरनपायथन 2.0 को 10 दिसंबर, 2008 को जारी किया गया था।<ref>{{cite web
}}</ref> आयरनपायथन 2.0 को 10 दिसंबर, 2008 को प्रचलित किया गया था।<ref>{{cite web
  | url = http://www.codeplex.com/IronPython/Release/ProjectReleases.aspx?ReleaseId=8365
  | url = http://www.codeplex.com/IronPython/Release/ProjectReleases.aspx?ReleaseId=8365
  | title = Release dates for ironpython
  | title = Release dates for ironpython
  | 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|माइक्रोसॉफ्ट]] की एक छोटी टीम द्वारा बनाए रखा गया था। माइक्रोसॉफ्ट ने 2010 के अंत में आयरनपाइथन (और उसकी बहन परियोजना [[IronRuby|आयरनरूबी]]) को छोड़ दिया, जिसके बाद ह्यूगुनिन ने गूगल में काम करना छोड़ दिया।<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 17:
| 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>


आयरनपाइथन पूरी तरह से सी शार्प (प्रोग्रामिंग लैंग्वेज)'''|C#''' में लिखा गया है, चुकी इसका कुछ कोड पाइथन में लिखे गए [[स्रोत कोड पीढ़ी]] द्वारा स्वचालित रूप से उत्पन्न होता है।
आयरनपायथन पूरी तरह से 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> डीएलआर का उपयोग पुराने सीएलआई कार्यान्वयनों पर पुस्तकालय के रूप में भी किया जा सकता है।
आयरनपायथन को [[गतिशील भाषा रनटाइम]] (डीएलआर) के शीर्ष पर प्रयुक्त किया गया है, जो सामान्य भाषा इन्फ्रास्ट्रक्चर के शीर्ष पर चलने वाली पुस्तकालय है जो डायनेमिक टाइपिंग और डायनामिक विधि डिस्पैच, अन्य बातों के अतिरिक्त, डायनेमिक भाषाओं के लिए प्रदान करती है।<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> डीएलआर का उपयोग पुराने सीएलआई कार्यान्वयनों पर पुस्तकालय के रूप में भी किया जा सकता है।


== स्थिति और रोडमैप ==
== स्थिति और रोडमैप ==
* रिलीज़ 2.0, 10 दिसंबर, 2008 को जारी किया गया, और 23 अक्टूबर, 2009 को 2.0.3 के रूप में अपडेट किया गया, CPython 2.5 को लक्षित करता है।<ref>{{cite web
* रिलीज़ 2.0, 10 दिसंबर, 2008 को प्रचलित किया गया, और 23 अक्टूबर, 2009 को 2.0.3 के रूप में अपडेट किया गया, C पायथन 2.5 को लक्षित करता है।<ref>{{cite web
| url=http://ironpython.codeplex.com/releases/view/30416
| url=http://ironpython.codeplex.com/releases/view/30416
| title=2.0.3
| title=2.0.3
Line 54: Line 33:
| url-status=dead
| url-status=dead
}}</ref> आयरनपायथन 2.0.3 केवल .नेट रूपरेखा 3.5 तक संगत है।
}}</ref> आयरनपायथन 2.0.3 केवल .नेट रूपरेखा 3.5 तक संगत है।
* रिलीज़ 2.6, 11 दिसंबर, 2009 को रिलीज़ हुई और 12 अप्रैल, 2010 को अपडेट की गई, CPython 2.6 को लक्षित करती है।<ref>{{cite web
* रिलीज़ 2.6, 11 दिसंबर, 2009 को रिलीज़ हुई और 12 अप्रैल, 2010 को अपडेट की गई, C पायथन 2.6 को लक्षित करती है।<ref>{{cite web
| url=http://ironpython.codeplex.com/releases/view/36280
| url=http://ironpython.codeplex.com/releases/view/36280
| title=2.6
| title=2.6
Line 62: Line 41:
| archive-url=https://web.archive.org/web/20180113101734/http://ironpython.codeplex.com/releases/view/36280
| archive-url=https://web.archive.org/web/20180113101734/http://ironpython.codeplex.com/releases/view/36280
| url-status=dead
| url-status=dead
}}</ref> आयरनपायथन 2.6.1 संस्करण केवल .नेट रूपरेखा 4.0 के साथ बाइनरी संगत है। आयरनपाइथन 2.6.1 को .नेट रूपरेखा 3.5 पर चलने के लिए स्रोतों से संकलित किया जाना चाहिए। आयरनपाइथन 2.6.2, 21 अक्टूबर, 2010 को जारी किया गया, .नेट रूपरेखा 4.0 और .नेट रूपरेखा 3.5 दोनों के साथ बाइनरी संगत है।
}}</ref> आयरनपायथन 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 को लक्षित करता है।<ref>{{cite web
* रिलीज 2.7 12 मार्च, 2011 को प्रचलित किया गया था और यह सीपीथॉन 2.7 को लक्षित करता है।<ref>{{cite web
| url=http://ironpython.codeplex.com/releases/view/54498
| url=http://ironpython.codeplex.com/releases/view/54498
| title=2.7
| title=2.7
Line 72: Line 51:
| url-status=dead
| url-status=dead
}}</ref>
}}</ref>
* रिलीज 2.7.1 21 अक्टूबर, 2011 को जारी किया गया था और यह CPython 2.7 को लक्षित करता है।<ref>{{cite web
* रिलीज 2.7.1 21 अक्टूबर, 2011 को प्रचलित किया गया था और यह C पायथन 2.7 को लक्षित करता है।<ref>{{cite web
| url=http://ironpython.codeplex.com/releases/view/62475
| url=http://ironpython.codeplex.com/releases/view/62475
| title=2.7.1
| title=2.7.1
Line 81: Line 60:
| url-status=dead
| url-status=dead
}}</ref>
}}</ref>
* रिलीज 2.7.2.1 13 मार्च 2012 को जारी किया गया था। यह [[ज़िप फ़ाइल स्वरूप]] लाइब्रेरी, [[SQLite]], और संकलित निष्पादनयोग्य के लिए समर्थन को सक्षम बनाता है।<ref>{{cite web
* रिलीज 2.7.2.1 13 मार्च 2012 को प्रचलित किया गया था। यह [[ज़िप फ़ाइल स्वरूप]] पुस्तकालय, [[SQLite|एसक्यू लाइट]], और संकलित निष्पादनयोग्य के लिए समर्थन को सक्षम बनाता है।<ref>{{cite web
| url=http://ironpython.codeplex.com/releases/view/74478
| url=http://ironpython.codeplex.com/releases/view/74478
| title=2.7.2.1
| title=2.7.2.1
Line 99: Line 78:
| url-status=dead
| url-status=dead
}}</ref>
}}</ref>
* रिलीज़ 2.7.5 को 6 दिसंबर 2014 को रिलीज़ किया गया था और इसमें ज़्यादातर बग फिक्स शामिल हैं।<ref>{{cite web
* रिलीज़ 2.7.5 को 6 दिसंबर 2014 को रिलीज़ किया गया था और इसमें अधिकतर बग फिक्स सम्मिलित हैं।<ref>{{cite web
| url=http://ironpython.codeplex.com/releases/view/169382
| url=http://ironpython.codeplex.com/releases/view/169382
| title=2.7.5
| title=2.7.5
Line 108: Line 87:
| url-status=dead
| url-status=dead
}}</ref>
}}</ref>
* रिलीज़ 2.7.6 को 21 अगस्त 2016 को रिलीज़ किया गया था और इसमें केवल बग फिक्स शामिल हैं।<ref>{{cite web
* रिलीज़ 2.7.6 को 21 अगस्त 2016 को रिलीज़ किया गया था और इसमें केवल बग फिक्स सम्मिलित हैं।<ref>{{cite web
| url=https://github.com/IronLanguages/main/releases/tag/ipy-2.7.6.3
| url=https://github.com/IronLanguages/main/releases/tag/ipy-2.7.6.3
| title=2.7.6
| title=2.7.6
| publisher=github.com
| publisher=github.com
| access-date=2016-08-21}}</ref>
| access-date=2016-08-21}}</ref>
* रिलीज़ 2.7.7 को 7 दिसंबर, 2016 को रिलीज़ किया गया था और इसमें केवल बग फिक्स शामिल हैं।<ref>{{cite web
* रिलीज़ 2.7.7 को 7 दिसंबर, 2016 को रिलीज़ किया गया था और इसमें केवल बग फिक्स सम्मिलित हैं।<ref>{{cite web
| url=https://github.com/IronLanguages/main/releases/tag/ipy-2.7.7
| url=https://github.com/IronLanguages/main/releases/tag/ipy-2.7.7
| title=2.7.7
| title=2.7.7
| publisher=github.com
| publisher=github.com
| access-date=2018-01-05}}</ref>
| access-date=2018-01-05}}</ref>
* रिलीज 2.7.8 16 फरवरी, 2018 को जारी किया गया था और इसमें बग फिक्स, पुनर्गठित कोड और एक अद्यतन परीक्षण आधारभूत संरचना शामिल है (मोनो (सॉफ्टवेयर) के तहत लिनक्स पर महत्वपूर्ण परीक्षण सहित)। यह .नेट कोर को सपोर्ट करने वाली पहली रिलीज़ भी है।<ref name=latestbut1Release>{{cite web
* रिलीज 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
| publisher=github.com
| publisher=github.com
| access-date=2018-01-05}}</ref>
| access-date=2018-01-05}}</ref>
* रिलीज़ 2.7.9 को 9 अक्टूबर, 2018 को रिलीज़ किया गया था और इसमें बग फिक्स, पुनर्गठित कोड शामिल हैं। यह आयरनपीथन 3 से पहले अंतिम रिलीज होने का इरादा है।<ref name=latestRelease>{{cite web
* रिलीज़ 2.7.9 को 9 अक्टूबर, 2018 को रिलीज़ किया गया था और इसमें बग फिक्स, पुनर्गठित कोड सम्मिलित हैं। यह आयरनपायथन 3 से पहले अंतिम रिलीज होने का आशय है।<ref name=latestRelease>{{cite web
| url=https://github.com/IronLanguages/ironpython2/tree/ipy-2.7.9
| url=https://github.com/IronLanguages/ironpython2/tree/ipy-2.7.9
| title=2.7.9
| title=2.7.9
| publisher=github.com
| publisher=github.com
| access-date=2018-10-09}}</ref>
| access-date=2018-10-09}}</ref>
* रिलीज़ 2.7.10 को 27 अप्रैल, 2020 को रिलीज़ किया गया था और इसमें .नेट Core 3.1 सपोर्ट जोड़ा गया है।<ref>{{Cite web|title=IronLanguages/ironpython2|url=https://github.com/IronLanguages/ironpython2|access-date=2020-06-26|website=GitHub|language=en}}</ref>
* रिलीज़ 2.7.10 को 27 अप्रैल, 2020 को रिलीज़ किया गया था और इसमें .नेट कोर 3.1 समर्थन में जोड़ा गया है।<ref>{{Cite web|title=IronLanguages/ironpython2|url=https://github.com/IronLanguages/ironpython2|access-date=2020-06-26|website=GitHub|language=en}}</ref>
* रिलीज़ 2.7.11 को 17 नवंबर, 2020 को रिलीज़ किया गया था और .नेट 5 पर चलते समय आने वाली समस्याओं का समाधान करता है।
* रिलीज़ 2.7.11 को 17 नवंबर, 2020 को रिलीज़ किया गया था और .नेट 5 पर चलते समय आने वाली समस्याओं का समाधान करता है।
* रिलीज़ 2.7.12 को 21 जनवरी, 2022 को रिलीज़ किया गया था और यह .नेट 6 की समस्याओं को हल करती है और .नेट कोर 2.1 के लिए समर्थन हटाती है<ref>{{Cite web |title=Releases · IronLanguages/ironpython2 |url=https://github.com/IronLanguages/ironpython2/releases |access-date=2022-08-08 |website=GitHub |language=en}}</ref>
* रिलीज़ 2.7.12 को 21 जनवरी, 2022 को रिलीज़ किया गया था और यह .नेट 6 की समस्याओं को हल करती है और .नेट कोर 2.1 के लिए समर्थन हटाती है<ref>{{Cite web |title=Releases · IronLanguages/ironpython2 |url=https://github.com/IronLanguages/ironpython2/releases |access-date=2022-08-08 |website=GitHub |language=en}}</ref>
 
=== C पायथन के साथ अंतर ===
 
पायथन संदर्भ कार्यान्वयन C पायथन और आयरनपायथन के बीच कुछ अंतर हैं।<ref name="compcpython">{{cite web
=== CPython === के साथ अंतर
{{expand section|date=July 2012}}
पायथन संदर्भ कार्यान्वयन 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> आयरनपाइथन के शीर्ष पर बनी कुछ परियोजनाओं को CPython के तहत काम नहीं करने के लिए जाना जाता है।<ref>{{cite web
| access-date=2008-02-09}}</ref> आयरनपायथन के शीर्ष पर बनी कुछ परियोजनाओं को C पायथन के अंतर्गत काम नहीं करने के लिए जाना जाता है।<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 149: Line 125:
| archive-date=2008-08-30
| archive-date=2008-08-30
| url-status=dead
| url-status=dead
}}</ref> इसके विपरीत, CPython एप्लिकेशन जो C में प्रयुक्त की गई भाषा के एक्सटेंशन पर निर्भर करते हैं, वे आयरनपाइथन के साथ संगत नहीं हैं
}}</ref> इसके विपरीत, C पायथन अनुप्रयोग जो 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
| title=Children of a Lesser Python
| title=Children of a Lesser Python
| last=Eby |first=Phillip
| last=Eby |first=Phillip
| date=15 October 2005
| date=15 October 2005
| access-date=2008-07-09}}</ref> जब तक कि उन्हें .नेट इंटरॉप में प्रयुक्त नहीं किया जाता। उदाहरण के लिए, [[NumPy]] को माइक्रोसॉफ्ट द्वारा 2011 में लपेटा गया था, जिससे उस पर निर्भर कोड और लाइब्रेरी को सीधे .नेट रूपरेखा से चलाया जा सके।<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> जब तक कि उन्हें .नेट इंटरॉप में प्रयुक्त नहीं किया जाता। उदाहरण के लिए, [[NumPy|नमपैय]] को माइक्रोसॉफ्ट द्वारा 2011 में लपेटा गया था, जिससे उस पर निर्भर कोड और पुस्तकालय को सीधे .नेट रूपरेखा से चलाया जा सके।<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>
== सिल्वरलाइट ==
आयरनपायथन सिल्वरलाइट पर समर्थित है (जिसे माइक्रोसॉफ्ट द्वारा बहिष्कृत किया गया है और पहले से ही अधिकांश वेब ब्राउज़रों में समर्थन खो चुका है<ref>{{Cite web|url=https://www.microsoft.com/getsilverlight/locale/en-us/html/installation-win-SL5.html|title=Silverlight 5 System Requirements|website=www.microsoft.com|access-date=2019-11-16}}</ref>)। इसे [[जावास्क्रिप्ट]] इंजन की तरह ही ब्राउजर में स्क्रिप्टिंग इंजन के रूप में प्रयोग किया जा सकता है।<ref>{{cite web|url=http://ironpython.net/browser/|title=Write browser applications in Python |work=IronPython.net |archive-url=https://web.archive.org/web/20130317012431/http://ironpython.net/browser/ |archive-date=2013-03-17}}</ref> आयरनपायथन <code><script></code>-टैग को साधारण क्लाइंट-साइड जावास्क्रिप्ट स्क्रिप्ट्स की तरह पास किया जाता है। तब एम्बेडेड [[XAML|एक्स एएमएल]] मार्कअप को संशोधित करना भी संभव है।


इसके पीछे की तकनीक को गेस्टाल्ट कहा जाता है।<syntaxhighlight>
// 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">
आयरनपायथन सिल्वरलाइट पर समर्थित है (जिसे माइक्रोसॉफ्ट द्वारा बहिष्कृत किया गया है और पहले से ही अधिकांश वेब ब्राउज़रों में समर्थन खो चुका है<ref>{{Cite web|url=https://www.microsoft.com/getsilverlight/locale/en-us/html/installation-win-SL5.html|title=Silverlight 5 System Requirements|website=www.microsoft.com|access-date=2019-11-16}}</ref>). इसे [[जावास्क्रिप्ट]] इंजन की तरह ही ब्राउजर में स्क्रिप्टिंग इंजन के रूप में इस्तेमाल किया जा सकता है।<ref>{{cite web|url=http://ironpython.net/browser/|title=Write browser applications in Python |work=IronPython.net |archive-url=https://web.archive.org/web/20130317012431/http://ironpython.net/browser/ |archive-date=2013-03-17}}</ref> आयरनपायथन स्क्रिप्ट्स को साधारण क्लाइंट-साइड जावास्क्रिप्ट स्क्रिप्ट्स की तरह पास किया जाता है <code><script></code>-टैग। तब एम्बेडेड [[XAML]] मार्कअप को संशोधित करना भी संभव है।
     window.Alert("Hello from Python")
 
</script>
इसके पीछे की तकनीक को गेस्टाल्ट कहा जाता है।{{Citation needed|date=August 2009}}
</syntaxhighlight>आयरनरूबी के लिए भी यही काम करता है।
 
<वाक्यविन्यास लैंग = html4सख्त>
 
// डीएलआर आरंभीकरण स्क्रिप्ट।
 
<स्क्रिप्ट src= http://gestalt.ironpython.net/dlr-latest.js type= text/javascript ></script>
 
// क्लाइंट-साइड स्क्रिप्ट आयरनपीथन और सिल्वरलाइट को पास की गई।
 
<स्क्रिप्ट प्रकार = पाठ / अजगर>
     विंडो। अलर्ट (पायथन से हैलो)
</स्क्रिप्ट>
 
</वाक्यविन्यास हाइलाइट>
 
आयरनरूबी के लिए भी यही काम करता है।


== लाइसेंस ==
== लाइसेंस ==
संस्करण 0.6 तक, आयरनपीथन को आम सार्वजनिक लाइसेंस की शर्तों के तहत जारी किया गया था।<ref name=license-orig>{{cite web
संस्करण 0.6 तक, आयरनपायथन को सामान्य सार्वजनिक लाइसेंस की नियमों के अनुसार प्रचलित किया गया था।<ref name=license-orig>{{cite web
  |url=http://www.ironpython.com/old.html  
  |url=http://www.ironpython.com/old.html  
  |title=Original IronPython homepage  
  |title=Original IronPython homepage  
Line 190: Line 155:
  |archive-url=https://web.archive.org/web/20100223101738/http://www.ironpython.com/old.html  
  |archive-url=https://web.archive.org/web/20100223101738/http://www.ironpython.com/old.html  
  |archive-date=February 23, 2010  
  |archive-date=February 23, 2010  
}}</ref> अगस्त 2004 में प्रोजेक्ट लीड की भर्ती के बाद, आयरनपीथन को माइक्रोसॉफ्ट की [[साझा स्रोत]] पहल के हिस्से के रूप में उपलब्ध कराया गया था। यह लाइसेंस [[ओपन सोर्स पहल]]-अनुमोदित नहीं है, लेकिन लेखकों का दावा है कि यह ओपन-सोर्स की परिभाषा को पूरा करता है।<ref name=license>{{cite web
}}</ref> अगस्त 2004 में प्रोजेक्ट लीड की भर्ती के बाद, आयरनपायथन को माइक्रोसॉफ्ट की [[साझा स्रोत]] पहल के भाग के रूप में उपलब्ध कराया गया था। यह लाइसेंस [[ओपन सोर्स पहल]]-अनुमोदित नहीं है, लेकिन लेखकों का प्रमाण है कि यह ओपन-सोर्स की परिभाषा को पूरा करता है।<ref name=license>{{cite web
  | url = http://www.codeplex.com/IronPython/Project/License.aspx?LicenseHistoryId=129
  | url = http://www.codeplex.com/IronPython/Project/License.aspx?LicenseHistoryId=129
  | title = Shared Source License for IronPython
  | title = Shared Source License for IronPython
Line 200: Line 165:
  | date = 2007-04-28
  | date = 2007-04-28
  | access-date = 2007-05-13
  | access-date = 2007-05-13
}}</ref> जिसे ओएसआई ने मंजूरी दे दी है। नवीनतम संस्करण Apache लाइसेंस 2.0 की शर्तों के तहत जारी किए गए हैं।
}}</ref> जिसे ओएसआई ने स्वीकृति दे दी है। नवीनतम संस्करण अपाचे लाइसेंस 2.0 की नियमों के अनुसार प्रचलित किए गए हैं।


== इंटरफ़ेस एक्स्टेंसिबिलिटी ==
== इंटरफ़ेस एक्स्टेंसिबिलिटी ==
आयरनपाइथन के प्रमुख लाभों में से एक .नेट भाषा में लिखे गए एप्लिकेशन रूपरेखा के लिए एक एक्स्टेंसिबिलिटी परत के रूप में इसका कार्य है। आयरनपाइथन दुभाषिया को मौजूदा .नेट एप्लिकेशन रूपरेखा में एकीकृत करना अपेक्षाकृत सरल है। एक बार स्थापित हो जाने के बाद, डाउनस्ट्रीम डेवलपर आयरनपाइथन में लिखी गई स्क्रिप्ट का उपयोग कर सकते हैं जो रूपरेखा में .नेट ऑब्जेक्ट्स के साथ इंटरैक्ट करती हैं, जिससे रूपरेखा के किसी भी कोड बेस को बदले बिना रूपरेखा के इंटरफेस में कार्यक्षमता का विस्तार होता है।<ref name=dot-net-example>{{cite web
आयरनपायथन के प्रमुख लाभों में से एक .नेट भाषा में लिखे गए अनुप्रयोग रूपरेखा के लिए एक्स्टेंसिबिलिटी परत के रूप में इसका कार्य है। आयरनपायथन दुभाषिया को उपस्थित .नेट अनुप्रयोग रूपरेखा में एकीकृत करना अपेक्षाकृत सरल है। एक बार स्थापित हो जाने के बाद, डाउनस्ट्रीम डेवलपर आयरनपायथन में लिखी गई स्क्रिप्ट का उपयोग कर सकते हैं जो रूपरेखा में .नेट ऑब्जेक्ट्स के साथ इंटरैक्ट करती हैं, जिससे रूपरेखा के किसी भी कोड बेस को बदले बिना रूपरेखा के इंटरफेस में कार्यक्षमता का विस्तार होता है।<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 212: Line 177:
  }}</ref>
  }}</ref>


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


== उदाहरण ==
== उदाहरण ==
निम्नलिखित आयरनपाइथन स्क्रिप्ट .नेट रूपरेखा ऑब्जेक्ट्स में हेरफेर करती है। यह स्क्रिप्ट एक तृतीय-पक्ष क्लाइंट-साइड एप्लिकेशन डेवलपर द्वारा आपूर्ति की जा सकती है और एक इंटरफ़ेस के माध्यम से सर्वर-साइड रूपरेखा में पास की जा सकती है। ध्यान दें कि क्लाइंट एप्लिकेशन द्वारा आवश्यक विश्लेषणों का समर्थन करने के लिए न तो इंटरफ़ेस और न ही सर्वर-साइड कोड को संशोधित किया गया है।
निम्नलिखित आयरनपायथन स्क्रिप्ट .नेट रूपरेखा ऑब्जेक्ट्स में हेरफेर करती है। यह स्क्रिप्ट तृतीय-पक्ष क्लाइंट-साइड अनुप्रयोग डेवलपर द्वारा आपूर्ति की जा सकती है और इंटरफ़ेस के माध्यम से सर्वर-साइड रूपरेखा में पास की जा सकती है। ध्यान दें कि क्लाइंट अनुप्रयोग द्वारा आवश्यक विश्लेषणों का समर्थन करने के लिए न तो इंटरफ़ेस और न ही सर्वर-साइड कोड को संशोधित किया गया है।<syntaxhighlight>
 
from BookService import BookDictionary
<वाक्यविन्यास लैंग = अजगर>
BookService आयात BookDictionary से
   
   
BooksWrittenByBookerPrizeWinners = [book.Title for book in BookDictionary.GetAllBooks()
booksWrittenByBookerPrizeWinners = [book.Title for book in BookDictionary.GetAllBooks()  
                                     यदि Book.Author.MajorAwards में बुकर पुरस्कार]
                                     if "Booker Prize" in book.Author.MajorAwards]
</वाक्यविन्यास हाइलाइट>
</syntaxhighlight>
इस स्थिति में, मान लें कि .नेट रूपरेखा BookService नामक मॉड्यूल में एक वर्ग, BookDictionary को प्रयुक्त करता है, और एक इंटरफ़ेस प्रकाशित करता है जिसमें आयरनपाइथन स्क्रिप्ट को भेजा और निष्पादित किया जा सकता है।
                             
इस स्थिति में, मान लें कि .नेट रूपरेखा बुक सेवा नामक मॉड्यूल में वर्ग, बुक डिक्शनरी को प्रयुक्त करता है, और इंटरफ़ेस प्रकाशित करता है जिसमें आयरनपायथन स्क्रिप्ट को भेजा और निष्पादित किया जा सकता है।


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


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


clr.AddReference (System.Windows.Forms)
निम्न स्क्रिप्ट सरल हैलो वर्ल्ड संदेश बनाने के लिए .नेट रूपरेखा का उपयोग करती है।<syntaxhighlight>
 
import clr
System.Windows.Forms से MessageBox आयात करें
clr.AddReference("System.Windows.Forms")
 
संदेशबॉक्स.शो (हैलो वर्ल्ड)
 
</वाक्यविन्यास हाइलाइट>


from System.Windows.Forms import MessageBox
MessageBox.Show("Hello World")
Performance
</syntaxhighlight>
== प्रदर्शन ==
== प्रदर्शन ==
CPython की तुलना में आयरनपाइथन की प्रदर्शन विशेषताएँ, Python का संदर्भ कार्यान्वयन, उपयोग किए गए सटीक बेंचमार्क पर निर्भर करता है। [[थ्रिस्टोन]] स्क्रिप्ट के साथ लिए गए अधिकांश बेंचमार्क पर आयरनपाइथन [[सीपीथॉन]] से खराब प्रदर्शन करता है लेकिन अन्य बेंचमार्क पर बेहतर है।<ref>{{cite web
C पायथन की तुलना में आयरनपायथन की प्रदर्शन विशेषताएँ, पायथन का संदर्भ कार्यान्वयन, उपयोग किए गए स्पष्ट बेंचमार्क पर निर्भर करता है। [[थ्रिस्टोन]] स्क्रिप्ट के साथ लिए गए अधिकांश बेंचमार्क पर आयरनपायथन [[सीपीथॉन|सीपायथन]] से खराब प्रदर्शन करता है लेकिन अन्य बेंचमार्क पर अच्छा है।<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
Line 250: Line 208:
}}{{Dead link|date=October 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref>
}}{{Dead link|date=October 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref>


आयरनपाइथन Python प्रोग्राम्स में बेहतर प्रदर्शन कर सकता है जो थ्रेड्स या मल्टीपल कोर का उपयोग करते हैं, क्योंकि इसमें [[समय-समय पर संकलन]] कंपाइलर है, और इसलिए भी कि इसमें [[ग्लोबल इंटरप्रेटर लॉक]] नहीं है।<ref>{{cite web
आयरनपायथन पायथन प्रोग्राम्स में अच्छा प्रदर्शन कर सकता है जो थ्रेड्स या मल्टीपल कोर का उपयोग करते हैं, क्योंकि इसमें [[समय-समय पर संकलन]] कंपाइलर है, और इसलिए भी कि इसमें [[ग्लोबल इंटरप्रेटर लॉक]] नहीं है।<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
Line 256: Line 214:
| quote=''IronPython has no GIL and multi-threaded code can use multi core processors.''
| quote=''IronPython has no GIL and multi-threaded code can use multi core processors.''
| access-date=2011-04-04}}</ref><ref>{{Cite web |url=http://jeffknupp.com/blog/2013/06/30/pythons-hardest-problem-revisited/ |title=Python's Hardest Problem, Revisited |access-date=2015-07-15 |archive-url=https://web.archive.org/web/20151031074238/http://www.jeffknupp.com/blog/2013/06/30/pythons-hardest-problem-revisited/ |archive-date=2015-10-31 |url-status=dead }}</ref>
| access-date=2011-04-04}}</ref><ref>{{Cite web |url=http://jeffknupp.com/blog/2013/06/30/pythons-hardest-problem-revisited/ |title=Python's Hardest Problem, Revisited |access-date=2015-07-15 |archive-url=https://web.archive.org/web/20151031074238/http://www.jeffknupp.com/blog/2013/06/30/pythons-hardest-problem-revisited/ |archive-date=2015-10-31 |url-status=dead }}</ref>
== यह भी देखें ==
== यह भी देखें ==
{{Portal|Free and open-source software|Computer programming}}
{{Portal|Free and open-source software|Computer programming}}
* [[बू (प्रोग्रामिंग भाषा)]] - .नेट रूपरेखा के लिए एक भाषा और पायथन-प्रेरित सिंटैक्स के साथ मोनो और सी शार्प (प्रोग्रामिंग भाषा) | सी # और [[रूबी (प्रोग्रामिंग भाषा)]] से उधार ली गई सुविधाएँ
* [[बू (प्रोग्रामिंग भाषा)]] - .नेट रूपरेखा के लिए भाषा और पायथन-प्रेरित वाक्य-विन्यास के साथ मोनो और C शार्प (प्रोग्रामिंग भाषा), C # और [[रूबी (प्रोग्रामिंग भाषा)]] से ऋण ली गई सुविधाएँ
* [[कोबरा (प्रोग्रामिंग भाषा)]]
* [[कोबरा (प्रोग्रामिंग भाषा)]]
*लोहा योजना
*आयरन योजना
* ज्योथन - [[जावा वर्चुअल मशीन]] के लिए पायथन (प्रोग्रामिंग भाषा) का कार्यान्वयन
* ज्योथन - [[जावा वर्चुअल मशीन]] के लिए पायथन (प्रोग्रामिंग भाषा) का कार्यान्वयन
* [[साइथन]]
* [[साइथन]]
* [[PyPy]] - पायथन प्रोग्रामिंग भाषा के लिए एक स्व-होस्टिंग दुभाषिया
* [[PyPy|प्य्प्य]] - पायथन प्रोग्रामिंग भाषा के लिए स्व-होस्टिंग दुभाषिया
* [[ताओ फ्रेमवर्क|ताओ रूपरेखा]]
* [[ताओ फ्रेमवर्क|ताओ रूपरेखा]]
* [[Unladen Swallow]] – CPython की एक (अब निष्क्रिय) शाखा जिसका उद्देश्य [[LLVM]]-आधारित जस्ट-इन-टाइम संकलन|जस्ट-इन-टाइम कंपाइलर का उपयोग करके बेहतर प्रदर्शन प्रदान करना है
* [[Unladen Swallow|अनलादेन निगलना]] – C पायथन की (अब निष्क्रिय) शाखा जिसका उद्देश्य [[LLVM|एलएलवीएम]]-आधारित जस्ट-इन-टाइम कंपाइलर का उपयोग करके उत्तम प्रदर्शन प्रदान करना है
{{Clear}}




== संदर्भ ==
== संदर्भ ==
{{Reflist}}
{{Reflist}}


== बाहरी संबंध ==
== बाहरी संबंध ==
* {{Official website}}
* [https://ironpython.net/ Official website]
 
{{Python (programming language)}}
{{Common Language Infrastructure}}
{{Microsoft FOSS}}
{{Microsoft development tools}}
[[Category: .NET प्रोग्रामिंग लैंग्वेज]] [[Category: सी शार्प में मुफ्त सॉफ्टवेयर प्रोग्राम किया गया]] [[Category: माइक्रोसॉफ्ट मुफ्त सॉफ्टवेयर]] [[Category: माइक्रोसॉफ्ट प्रोग्रामिंग लैंग्वेज]] [[Category: पायथन (प्रोग्रामिंग भाषा) कार्यान्वयन]] [[Category: पायथन (प्रोग्रामिंग भाषा) पुस्तकालय]] [[Category: सॉफ्टवेयर अपाचे लाइसेंस का उपयोग कर रहा है]] [[Category: 2006 सॉफ्टवेयर]]  
 
 


[[Category: Machine Translated Page]]
[[Category:.NET प्रोग्रामिंग लैंग्वेज]]
[[Category:2006 सॉफ्टवेयर]]
[[Category:All articles with dead external links]]
[[Category:Articles with dead external links from October 2022]]
[[Category:Articles with invalid date parameter in template]]
[[Category:Articles with permanently dead external links]]
[[Category:CS1 English-language sources (en)]]
[[Category:Collapse templates]]
[[Category:Created On 18/02/2023]]
[[Category:Created On 18/02/2023]]
[[Category:Machine Translated Page]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists]]
[[Category:Pages using Infobox software with unknown parameters|ऑपरेटिंग सिस्टमआयरनपायथन]]
[[Category:Pages with empty portal template]]
[[Category:Pages with script errors]]
[[Category:Pages with syntax highlighting errors]]
[[Category:Portal templates with redlinked portals]]
[[Category:Sidebars with styles needing conversion]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates generating microformats]]
[[Category:Templates that are not mobile friendly]]
[[Category:Templates using TemplateData]]
[[Category:Wikipedia metatemplates]]

Latest revision as of 16:40, 2 November 2023

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

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

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

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

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

C पायथन के साथ अंतर

पायथन संदर्भ कार्यान्वयन C पायथन और आयरनपायथन के बीच कुछ अंतर हैं।[21] आयरनपायथन के शीर्ष पर बनी कुछ परियोजनाओं को C पायथन के अंतर्गत काम नहीं करने के लिए जाना जाता है।[22] इसके विपरीत, C पायथन अनुप्रयोग जो C में प्रयुक्त की गई भाषा के विस्तार पर निर्भर करते हैं, वे आयरनपायथन के साथ संगत नहीं हैं ।

[23] जब तक कि उन्हें .नेट इंटरॉप में प्रयुक्त नहीं किया जाता। उदाहरण के लिए, नमपैय को माइक्रोसॉफ्ट द्वारा 2011 में लपेटा गया था, जिससे उस पर निर्भर कोड और पुस्तकालय को सीधे .नेट रूपरेखा से चलाया जा सके।[24]

सिल्वरलाइट

आयरनपायथन सिल्वरलाइट पर समर्थित है (जिसे माइक्रोसॉफ्ट द्वारा बहिष्कृत किया गया है और पहले से ही अधिकांश वेब ब्राउज़रों में समर्थन खो चुका है[25])। इसे जावास्क्रिप्ट इंजन की तरह ही ब्राउजर में स्क्रिप्टिंग इंजन के रूप में प्रयोग किया जा सकता है।[26] आयरनपायथन <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 तक, आयरनपायथन को सामान्य सार्वजनिक लाइसेंस की नियमों के अनुसार प्रचलित किया गया था।[27] अगस्त 2004 में प्रोजेक्ट लीड की भर्ती के बाद, आयरनपायथन को माइक्रोसॉफ्ट की साझा स्रोत पहल के भाग के रूप में उपलब्ध कराया गया था। यह लाइसेंस ओपन सोर्स पहल-अनुमोदित नहीं है, लेकिन लेखकों का प्रमाण है कि यह ओपन-सोर्स की परिभाषा को पूरा करता है।[28] 2.0 अल्फ़ा रिलीज़ के साथ, लाइसेंस को माइक्रोसॉफ्ट सार्वजनिक लाइसेंस में बदल दिया गया था,[29] जिसे ओएसआई ने स्वीकृति दे दी है। नवीनतम संस्करण अपाचे लाइसेंस 2.0 की नियमों के अनुसार प्रचलित किए गए हैं।

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

आयरनपायथन के प्रमुख लाभों में से एक .नेट भाषा में लिखे गए अनुप्रयोग रूपरेखा के लिए एक्स्टेंसिबिलिटी परत के रूप में इसका कार्य है। आयरनपायथन दुभाषिया को उपस्थित .नेट अनुप्रयोग रूपरेखा में एकीकृत करना अपेक्षाकृत सरल है। एक बार स्थापित हो जाने के बाद, डाउनस्ट्रीम डेवलपर आयरनपायथन में लिखी गई स्क्रिप्ट का उपयोग कर सकते हैं जो रूपरेखा में .नेट ऑब्जेक्ट्स के साथ इंटरैक्ट करती हैं, जिससे रूपरेखा के किसी भी कोड बेस को बदले बिना रूपरेखा के इंटरफेस में कार्यक्षमता का विस्तार होता है।[30]

आयरनपायथन प्रतिबिंब का व्यापक उपयोग करता है। जब किसी .नेट ऑब्जेक्ट के संदर्भ में पास किया जाता है, तो यह स्वचालित रूप से उस ऑब्जेक्ट के लिए उपलब्ध प्रकारों और विधियों को आयात करेगा। यह आयरनपायथन स्क्रिप्ट के अन्दर .नेट ऑब्जेक्ट्स के साथ काम करते समय अत्यधिक सहज अनुभव का परिणाम देता है।

उदाहरण

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

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

प्रदर्शन

C पायथन की तुलना में आयरनपायथन की प्रदर्शन विशेषताएँ, पायथन का संदर्भ कार्यान्वयन, उपयोग किए गए स्पष्ट बेंचमार्क पर निर्भर करता है। थ्रिस्टोन स्क्रिप्ट के साथ लिए गए अधिकांश बेंचमार्क पर आयरनपायथन सीपायथन से खराब प्रदर्शन करता है लेकिन अन्य बेंचमार्क पर अच्छा है।[31]

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

यह भी देखें


संदर्भ

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

बाहरी संबंध