एक्सम (प्रोग्रामिंग भाषा): Difference between revisions
(Created page with "{{Multiple issues| {{notability|Products|date=February 2014}} {{primary sources|date=February 2014}} }} {{short description|Domain specific concurrent programming language ori...") |
No edit summary |
||
(6 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{short description|Domain specific concurrent programming language originally developed by Microsoft}} | {{short description|Domain specific concurrent programming language originally developed by Microsoft}} | ||
{{Infobox programming language | {{Infobox programming language | ||
Line 20: | Line 16: | ||
| website = [http://msdn.microsoft.com/en-us/devlabs/dd795202.aspx Axum at DevLabs] | | website = [http://msdn.microsoft.com/en-us/devlabs/dd795202.aspx Axum at DevLabs] | ||
}} | }} | ||
एक्सम ( | सामान्यतः '''एक्सम''' (प्रथम कोडनेम '''मेस्ट्रो''') [[डोमेन-विशिष्ट भाषा|डोमेन-विशिष्ट भाषा समवर्ती]] [[प्रोग्रामिंग भाषा]] है, जो [[अभिनेता मॉडल]] पर आधारित होती है, जो सन्न 2009 और सन्न 2011 के मध्य [[माइक्रोसॉफ्ट]] द्वारा सक्रिय विकास के तहत थी।<ref name="c9">{{cite web | ||
|url=http://channel9.msdn.com/shows/Going+Deep/Maestro-A-Managed-Domain-Specific-Language-For-Concurrent-Programming/ | |url=http://channel9.msdn.com/shows/Going+Deep/Maestro-A-Managed-Domain-Specific-Language-For-Concurrent-Programming/ | ||
|title=Maestro: A Managed Domain Specific Language For Concurrent Programming | |title=Maestro: A Managed Domain Specific Language For Concurrent Programming | ||
Line 28: | Line 24: | ||
|archivedate=7 April 2009 | |archivedate=7 April 2009 | ||
|url-status=live | |url-status=live | ||
}}</ref> | }}</ref> <ref name="shutdown">{{cite web | ||
|url=http://blogs.msdn.com/b/maestroteam/archive/2011/02/28/the-state-of-axum.aspx | |url=http://blogs.msdn.com/b/maestroteam/archive/2011/02/28/the-state-of-axum.aspx | ||
|title=The State of Axum | |title=The State of Axum | ||
|publisher=Niklas Gustafsson | |publisher=Niklas Gustafsson | ||
|accessdate=2011-02-28 | |accessdate=2011-02-28 | ||
}}</ref> यह . | }}</ref> यह सी (प्रोग्रामिंग भाषा)-जैसे सिंटैक्स का उपयोग करते हुए .नेट [[ सामान्य भाषा रनटाइम |सामान्य भाषा रनटाइम]] पर आधारित [[ ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग |ऑब्जेक्ट ओरिएंटेड भाषा]] होती है, जो डोमेन-विशिष्ट भाषा होने के नाते, सॉफ़्टवेयर एप्लिकेशन के भागों के विकास के लिए अभिप्रेत होता है। जो कि समवर्ती के लिए उपयुक्त है। किंतु इसमें पर्याप्त सामान्य-उद्देश्य वाले निर्माण होते हैं जिन्हें समवर्ती घटकों के अनुक्रमिक भागों के लिए सामान्य-उद्देश्य प्रोग्रामिंग भाषा जैसे सी शार्प (प्रोग्रामिंग भाषा) पर स्विच करने की आवश्यकता नहीं होती है।<ref name="c9"/> | ||
एक्सम में प्रोग्रामिंग का मुख्य मुहावरा | एक्सम में प्रोग्रामिंग का मुख्य मुहावरा एजेंट (या अभिनेता) होता है, जो भिन्न इकाई होती है जो अन्य एजेंटों के साथ समानांतर में निष्पादित होता है।<ref name="isolation">{{cite web | ||
|url=http://blogs.msdn.com/maestroteam/archive/2009/02/27/we-haven-t-forgotten-about-other-models-honest.aspx | |url=http://blogs.msdn.com/maestroteam/archive/2009/02/27/we-haven-t-forgotten-about-other-models-honest.aspx | ||
|title=We haven't forgotten about other models – honest! | |title=We haven't forgotten about other models – honest! | ||
Line 41: | Line 37: | ||
|author=Philips Joshua | |author=Philips Joshua | ||
|accessdate=2009-04-16 | |accessdate=2009-04-16 | ||
| archiveurl= https://web.archive.org/web/20090508055636/http://blogs.msdn.com/maestroteam/archive/2009/02/27/we-haven-t-forgotten-about-other-models-honest.aspx| archivedate= 8 May 2009 | url-status= live}}</ref> एक्सम की भाषा में, इसे | | archiveurl= https://web.archive.org/web/20090508055636/http://blogs.msdn.com/maestroteam/archive/2009/02/27/we-haven-t-forgotten-about-other-models-honest.aspx| archivedate= 8 May 2009 | url-status= live}}</ref> चूँकि एक्सम की भाषा में, इसे भिन्न आइसोलेशन डोमेन में क्रियान्वित करने वाले एजेंटों के रूप में संदर्भित किया जाता है।<ref name="isolation"/> अतः डोमेन के अंदर तत्काल वस्तुओं को दूसरे से सीधे एक्सेस नहीं किया जा सकता है।<ref>{{cite web | ||
|url=http://blogs.msdn.com/maestroteam/archive/2009/02/27/isolation-in-maestro.aspx | |url=http://blogs.msdn.com/maestroteam/archive/2009/02/27/isolation-in-maestro.aspx | ||
|title=Isolation in Maestro | |title=Isolation in Maestro | ||
Line 47: | Line 43: | ||
|author=Niklas Gustafsson | |author=Niklas Gustafsson | ||
|accessdate=2009-04-16 | |accessdate=2009-04-16 | ||
| archiveurl= https://web.archive.org/web/20090508000455/http://blogs.msdn.com/maestroteam/archive/2009/02/27/isolation-in-maestro.aspx| archivedate= 8 May 2009 | url-status= live}}</ref> एजेंट शिथिल रूप से युग्मित हैं ( | | archiveurl= https://web.archive.org/web/20090508000455/http://blogs.msdn.com/maestroteam/archive/2009/02/27/isolation-in-maestro.aspx| archivedate= 8 May 2009 | url-status= live}}</ref> इस प्रकार एजेंट शिथिल रूप से युग्मित होता हैं (अर्थात्, एजेंटों के मध्य निर्भरता की संख्या न्यूनतम होती है) और मेमोरी जैसे संसाधनों को साझा नहीं करते हैं (सी शार्प (प्रोग्रामिंग लैंग्वेज) और समान भाषाओं के साझा मेमोरी (इंटरप्रोसेस कम्युनिकेशन) मॉडल के विपरीत होती है। इसके अतिरिक्त [[संदेश देना|संदेश पासिंग]] मॉडल का उपयोग किया जाता है।<ref name="isolation"/> एजेंटों को समन्वयित करने या किसी एजेंट को दूसरे के संसाधनों का अनुरोध करने के लिए, एजेंट को स्पष्ट संदेश भेजा जा सकता है। इस प्रकार एक्सम इसे सुविधाजनक बनाने के लिए चैनल प्रदान करता है। | ||
एजेंट उदाहरणों के | सामान्यतः एजेंट उदाहरणों के मध्य संवाद करने के लिए चैनल को दिशात्मक मार्ग के रूप में माना जा सकता है। अतः चैनल ऑब्जेक्ट के सदस्य कार्य, एजेंट उदाहरण के लिए बाध्य होने के पश्चात्, इसके साथ संवाद करने के लिए उपयोग किया जा सकता है। इस प्रकार चैनल में इनपुट और आउटपुट भाग होते हैं, जो [[कतार (डेटा संरचना)]] होते हैं, जिनका उपयोग किसी एजेंट को डेटा भेजने या किसी से डेटा प्राप्त करने के लिए किया जाता है। अधिकांशतः एजेंटों के मध्य संचार को समन्वयित करने के लिए, एक्सम प्रत्येक चैनल को संचार के लिए उपयोगकर्ता परिभाषित प्रोटोकॉल रखने की अनुमति देता है। इस प्रकार प्रोटोकॉल को [[राज्य मशीन]] के रूप में परिभाषित किया गया है।<ref>{{cite web | ||
|url=http://blogs.msdn.com/maestroteam/archive/2009/03/02/channels.aspx | |url=http://blogs.msdn.com/maestroteam/archive/2009/03/02/channels.aspx | ||
|title=Channels | |title=Channels | ||
Line 55: | Line 51: | ||
|author=Niklas Gustafsson | |author=Niklas Gustafsson | ||
|accessdate=2009-04-16 | |accessdate=2009-04-16 | ||
| archiveurl= https://web.archive.org/web/20090426212830/http://blogs.msdn.com/maestroteam/archive/2009/03/02/channels.aspx| archivedate= 26 April 2009 | url-status= live}}</ref> | | archiveurl= https://web.archive.org/web/20090426212830/http://blogs.msdn.com/maestroteam/archive/2009/03/02/channels.aspx| archivedate= 26 April 2009 | url-status= live}}</ref> चैनल पर भेजे गए डेटा को निश्चित पूर्व-निर्धारित स्कीम के अनुरूप वैकल्पिक रूप से प्रतिबंधित किया जा सकता है। कंपाइलर और रनटाइम स्कीम की अनुरूपता को प्रयुक्त करते है।<ref>{{cite web | ||
|url=http://www.langnetsymposium.com/2009/talks/32-JoshuaPhillips-Axum.html | |url=http://www.langnetsymposium.com/2009/talks/32-JoshuaPhillips-Axum.html | ||
|title=Axum | |title=Axum | ||
Line 64: | Line 60: | ||
|archivedate=21 April 2009 | |archivedate=21 April 2009 | ||
|url-status=usurped | |url-status=usurped | ||
}}</ref> हुड के | }}</ref> हुड के अनुसार, स्कीम को [[क्रमबद्धता]] .नेट [[ कक्षा (कम्प्यूटिंग) |कक्षा (कम्प्यूटिंग)]] में अनुवादित किया जाता है जिसमें केवल गुण और दुष्प्रभाव-मुक्त विधियां होती हैं।<ref name="objects">{{cite web | ||
|url=http://blogs.msdn.com/maestroteam/archive/2009/04/20/objects-in-axum.aspx | |url=http://blogs.msdn.com/maestroteam/archive/2009/04/20/objects-in-axum.aspx | ||
|title=Objects in Axum | |title=Objects in Axum | ||
Line 71: | Line 67: | ||
|author=Niklas Gustafsson | |author=Niklas Gustafsson | ||
| archiveurl= https://web.archive.org/web/20090426214328/http://blogs.msdn.com/maestroteam/archive/2009/04/20/objects-in-axum.aspx| archivedate= 26 April 2009 | url-status= live}}</ref> | | archiveurl= https://web.archive.org/web/20090426214328/http://blogs.msdn.com/maestroteam/archive/2009/04/20/objects-in-axum.aspx| archivedate= 26 April 2009 | url-status= live}}</ref> | ||
एक्सम परियोजना | |||
एक्सम परियोजना कार्य कर रहे [[माइक्रोसॉफ्ट विजुअल स्टूडियो]] एकीकरण के साथ प्रोटोटाइप की स्थिति तक पहुंच गई है।<ref>{{cite web | |||
|url=http://blogs.zdnet.com/microsoft/?p=2522 | |url=http://blogs.zdnet.com/microsoft/?p=2522 | ||
|title=Axum: Another piece of Microsoft's parallel programming puzzle | |title=Axum: Another piece of Microsoft's parallel programming puzzle | ||
|publisher=[[CNet]] blogs | |publisher=[[CNet]] blogs | ||
|accessdate=2009-04-16 | |accessdate=2009-04-16 | ||
| archiveurl= https://web.archive.org/web/20090417203031/http://blogs.zdnet.com/microsoft/?p=2522| archivedate= 17 April 2009 | url-status= live}}</ref> | | archiveurl= https://web.archive.org/web/20090417203031/http://blogs.zdnet.com/microsoft/?p=2522| archivedate= 17 April 2009 | url-status= live}}</ref> इस प्रकार माइक्रोसॉफ्ट ने जनता के लिए एक्सम का [[सामुदायिक प्रौद्योगिकी पूर्वावलोकन]] उपलब्ध कराया था,<ref name="dnld">{{cite web | ||
|url=http://msdn.microsoft.com/en-us/devlabs/dd795202.aspx | |url=http://msdn.microsoft.com/en-us/devlabs/dd795202.aspx | ||
|title=Axum | |title=Axum | ||
|publisher = MSDN DevLabs | |publisher = MSDN DevLabs | ||
|accessdate=2009-05-09 | |accessdate=2009-05-09 | ||
| archiveurl= https://web.archive.org/web/20090511155406/http://msdn.microsoft.com/en-us/devlabs/dd795202.aspx| archivedate= 11 May 2009 | url-status= dead}}</ref> लेकिन इसे तब से हटा दिया गया है। | | archiveurl= https://web.archive.org/web/20090511155406/http://msdn.microsoft.com/en-us/devlabs/dd795202.aspx| archivedate= 11 May 2009 | url-status= dead}}</ref> लेकिन इसे तब से हटा दिया गया है। चूँकि माइक्रोसॉफ्ट ने एक्सम को परियोजना में परिवर्तन नही करने का निर्णय लिया है,<ref name="shutdown" /> अतः एक्सम के पीछे के कुछ विचार [[टीपीएल डेटाफ्लो]] में .नेट 4.5 में उपयोग किए जाते हैं। | ||
==संदर्भ== | ==संदर्भ== | ||
Line 92: | Line 88: | ||
{{Common Language Infrastructure}} | {{Common Language Infrastructure}} | ||
[[Category: | [[Category:.NET प्रोग्रामिंग लैंग्वेज]] | ||
[[Category:CS1 maint]] | |||
[[Category:Collapse templates]] | |||
[[Category:Created On 26/05/2023]] | [[Category:Created On 26/05/2023]] | ||
[[Category:Lua-based templates]] | |||
[[Category:Machine Translated Page]] | |||
[[Category:Navigational boxes| ]] | |||
[[Category:Navigational boxes without horizontal lists]] | |||
[[Category:Pages with broken file links]] | |||
[[Category:Pages with script errors]] | |||
[[Category:Sidebars with styles needing conversion]] | |||
[[Category:Template documentation pages|Documentation/doc]] | |||
[[Category:Templates Vigyan Ready]] | |||
[[Category:Templates generating microformats]] | |||
[[Category:Templates that add a tracking category]] | |||
[[Category:Templates that are not mobile friendly]] | |||
[[Category:Templates that generate short descriptions]] | |||
[[Category:Templates using TemplateData]] | |||
[[Category:Wikipedia metatemplates]] | |||
[[Category:वस्तु-उन्मुख प्रोग्रामिंग भाषाएँ]] | |||
[[Category:समवर्ती प्रोग्रामिंग भाषाएँ]] |
Latest revision as of 09:08, 13 June 2023
File:Axum Banner.png | |
Developer | Microsoft |
---|---|
पहली प्रस्तुति | May 8, 2009 |
Stable release | Community Technology Preview
/ May 8, 2009 |
प्लेटफॉर्म | x86, x86-64 and Itanium |
ओएस | Windows XP Windows Server 2003 Windows Vista Windows Server 2008 Windows 7 |
लाइसेंस | Closed source |
वेबसाइट | Axum at DevLabs |
सामान्यतः एक्सम (प्रथम कोडनेम मेस्ट्रो) डोमेन-विशिष्ट भाषा समवर्ती प्रोग्रामिंग भाषा है, जो अभिनेता मॉडल पर आधारित होती है, जो सन्न 2009 और सन्न 2011 के मध्य माइक्रोसॉफ्ट द्वारा सक्रिय विकास के तहत थी।[1] [2] यह सी (प्रोग्रामिंग भाषा)-जैसे सिंटैक्स का उपयोग करते हुए .नेट सामान्य भाषा रनटाइम पर आधारित ऑब्जेक्ट ओरिएंटेड भाषा होती है, जो डोमेन-विशिष्ट भाषा होने के नाते, सॉफ़्टवेयर एप्लिकेशन के भागों के विकास के लिए अभिप्रेत होता है। जो कि समवर्ती के लिए उपयुक्त है। किंतु इसमें पर्याप्त सामान्य-उद्देश्य वाले निर्माण होते हैं जिन्हें समवर्ती घटकों के अनुक्रमिक भागों के लिए सामान्य-उद्देश्य प्रोग्रामिंग भाषा जैसे सी शार्प (प्रोग्रामिंग भाषा) पर स्विच करने की आवश्यकता नहीं होती है।[1]
एक्सम में प्रोग्रामिंग का मुख्य मुहावरा एजेंट (या अभिनेता) होता है, जो भिन्न इकाई होती है जो अन्य एजेंटों के साथ समानांतर में निष्पादित होता है।[3] चूँकि एक्सम की भाषा में, इसे भिन्न आइसोलेशन डोमेन में क्रियान्वित करने वाले एजेंटों के रूप में संदर्भित किया जाता है।[3] अतः डोमेन के अंदर तत्काल वस्तुओं को दूसरे से सीधे एक्सेस नहीं किया जा सकता है।[4] इस प्रकार एजेंट शिथिल रूप से युग्मित होता हैं (अर्थात्, एजेंटों के मध्य निर्भरता की संख्या न्यूनतम होती है) और मेमोरी जैसे संसाधनों को साझा नहीं करते हैं (सी शार्प (प्रोग्रामिंग लैंग्वेज) और समान भाषाओं के साझा मेमोरी (इंटरप्रोसेस कम्युनिकेशन) मॉडल के विपरीत होती है। इसके अतिरिक्त संदेश पासिंग मॉडल का उपयोग किया जाता है।[3] एजेंटों को समन्वयित करने या किसी एजेंट को दूसरे के संसाधनों का अनुरोध करने के लिए, एजेंट को स्पष्ट संदेश भेजा जा सकता है। इस प्रकार एक्सम इसे सुविधाजनक बनाने के लिए चैनल प्रदान करता है।
सामान्यतः एजेंट उदाहरणों के मध्य संवाद करने के लिए चैनल को दिशात्मक मार्ग के रूप में माना जा सकता है। अतः चैनल ऑब्जेक्ट के सदस्य कार्य, एजेंट उदाहरण के लिए बाध्य होने के पश्चात्, इसके साथ संवाद करने के लिए उपयोग किया जा सकता है। इस प्रकार चैनल में इनपुट और आउटपुट भाग होते हैं, जो कतार (डेटा संरचना) होते हैं, जिनका उपयोग किसी एजेंट को डेटा भेजने या किसी से डेटा प्राप्त करने के लिए किया जाता है। अधिकांशतः एजेंटों के मध्य संचार को समन्वयित करने के लिए, एक्सम प्रत्येक चैनल को संचार के लिए उपयोगकर्ता परिभाषित प्रोटोकॉल रखने की अनुमति देता है। इस प्रकार प्रोटोकॉल को राज्य मशीन के रूप में परिभाषित किया गया है।[5] चैनल पर भेजे गए डेटा को निश्चित पूर्व-निर्धारित स्कीम के अनुरूप वैकल्पिक रूप से प्रतिबंधित किया जा सकता है। कंपाइलर और रनटाइम स्कीम की अनुरूपता को प्रयुक्त करते है।[6] हुड के अनुसार, स्कीम को क्रमबद्धता .नेट कक्षा (कम्प्यूटिंग) में अनुवादित किया जाता है जिसमें केवल गुण और दुष्प्रभाव-मुक्त विधियां होती हैं।[7]
एक्सम परियोजना कार्य कर रहे माइक्रोसॉफ्ट विजुअल स्टूडियो एकीकरण के साथ प्रोटोटाइप की स्थिति तक पहुंच गई है।[8] इस प्रकार माइक्रोसॉफ्ट ने जनता के लिए एक्सम का सामुदायिक प्रौद्योगिकी पूर्वावलोकन उपलब्ध कराया था,[9] लेकिन इसे तब से हटा दिया गया है। चूँकि माइक्रोसॉफ्ट ने एक्सम को परियोजना में परिवर्तन नही करने का निर्णय लिया है,[2] अतः एक्सम के पीछे के कुछ विचार टीपीएल डेटाफ्लो में .नेट 4.5 में उपयोग किए जाते हैं।
संदर्भ
- ↑ 1.0 1.1 "Maestro: A Managed Domain Specific Language For Concurrent Programming". Channel 9. Archived from the original on 7 April 2009. Retrieved 2009-04-16.
- ↑ 2.0 2.1 "The State of Axum". Niklas Gustafsson. Retrieved 2011-02-28.
- ↑ 3.0 3.1 3.2 Philips Joshua. "We haven't forgotten about other models – honest!". MSDN blogs. Archived from the original on 8 May 2009. Retrieved 2009-04-16.
- ↑ Niklas Gustafsson. "Isolation in Maestro". MSDN blogs. Archived from the original on 8 May 2009. Retrieved 2009-04-16.
- ↑ Niklas Gustafsson. "Channels". MSDN blogs. Archived from the original on 26 April 2009. Retrieved 2009-04-16.
- ↑ Joshua Philips. "Axum". Lang.NET Presentation. Archived from the original on 21 April 2009. Retrieved 2009-04-20.
{{cite web}}
: CS1 maint: unfit URL (link) - ↑ Niklas Gustafsson. "Objects in Axum". MSDN Blogs. Archived from the original on 26 April 2009. Retrieved 2009-04-20.
- ↑ "Axum: Another piece of Microsoft's parallel programming puzzle". CNet blogs. Archived from the original on 17 April 2009. Retrieved 2009-04-16.
- ↑ "Axum". MSDN DevLabs. Archived from the original on 11 May 2009. Retrieved 2009-05-09.