एक्सम (प्रोग्रामिंग भाषा): 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 |
||
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] | ||
}} | }} | ||
एक्सम (पहले कोडनेम मेस्ट्रो) | एक्सम (पहले कोडनेम मेस्ट्रो) [[डोमेन-विशिष्ट भाषा]] है | डोमेन-विशिष्ट समवर्ती [[प्रोग्रामिंग भाषा]], [[अभिनेता मॉडल]] पर आधारित है, जो [[माइक्रोसॉफ्ट]] द्वारा सक्रिय विकास के तहत थी<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> 2009 और 2011 के | }}</ref> सन्न 2009 और सन्न 2011 के मध्य।<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> यह .NET Framework|.NET [[ सामान्य भाषा रनटाइम ]] पर आधारित | }}</ref> यह .NET Framework|.NET [[ सामान्य भाषा रनटाइम |सामान्य भाषा रनटाइम]] पर आधारित [[ ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग |ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग]] |ऑब्जेक्ट-ओरिएंटेड लैंग्वेज है, जिसमें C (प्रोग्रामिंग लैंग्वेज)-जैसे सिंटैक्स का उपयोग किया जाता है, जो डोमेन-विशिष्ट भाषा होने के नाते, भागों के विकास के लिए अभिप्रेत है। सॉफ़्टवेयर एप्लिकेशन जो समवर्ती के लिए उपयुक्त है। लेकिन इसमें पर्याप्त सामान्य-उद्देश्य वाले निर्माण होते हैं जिन्हें समवर्ती घटकों के अनुक्रमिक भागों के लिए सामान्य-उद्देश्य प्रोग्रामिंग भाषा (जैसे सी शार्प (प्रोग्रामिंग भाषा) | सी #) पर स्विच करने की आवश्यकता नहीं होती है।<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> हुड के तहत, स्कीमा को [[क्रमबद्धता]] .NET [[ कक्षा (कम्प्यूटिंग) |कक्षा (कम्प्यूटिंग)]] में अनुवादित किया जाता है जिसमें केवल गुण और साइड इफेक्ट-मुक्त विधियां होती हैं।<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 | ||
Line 82: | Line 79: | ||
|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 में उपयोग किए जाते हैं। | |||
==संदर्भ== | ==संदर्भ== |
Revision as of 14:39, 3 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 |
एक्सम (पहले कोडनेम मेस्ट्रो) डोमेन-विशिष्ट भाषा है | डोमेन-विशिष्ट समवर्ती प्रोग्रामिंग भाषा, अभिनेता मॉडल पर आधारित है, जो माइक्रोसॉफ्ट द्वारा सक्रिय विकास के तहत थी[1] सन्न 2009 और सन्न 2011 के मध्य।[2] यह .NET Framework|.NET सामान्य भाषा रनटाइम पर आधारित ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग |ऑब्जेक्ट-ओरिएंटेड लैंग्वेज है, जिसमें C (प्रोग्रामिंग लैंग्वेज)-जैसे सिंटैक्स का उपयोग किया जाता है, जो डोमेन-विशिष्ट भाषा होने के नाते, भागों के विकास के लिए अभिप्रेत है। सॉफ़्टवेयर एप्लिकेशन जो समवर्ती के लिए उपयुक्त है। लेकिन इसमें पर्याप्त सामान्य-उद्देश्य वाले निर्माण होते हैं जिन्हें समवर्ती घटकों के अनुक्रमिक भागों के लिए सामान्य-उद्देश्य प्रोग्रामिंग भाषा (जैसे सी शार्प (प्रोग्रामिंग भाषा) | सी #) पर स्विच करने की आवश्यकता नहीं होती है।[1]
एक्सम में प्रोग्रामिंग का मुख्य मुहावरा एजेंट (या अभिनेता) है, जो भिन्न इकाई है जो अन्य एजेंटों के साथ समानांतर में निष्पादित होता है।[3] एक्सम की भाषा में, इसे भिन्न आइसोलेशन डोमेन में क्रियान्वित करने वाले एजेंटों के रूप में संदर्भित किया जाता है;[3] डोमेन के अंदर तत्काल वस्तुओं को दूसरे से सीधे एक्सेस नहीं किया जा सकता है।[4] एजेंट शिथिल रूप से युग्मित हैं (यानी, एजेंटों के मध्य निर्भरता की संख्या न्यूनतम है) और मेमोरी जैसे संसाधनों को साझा नहीं करते हैं (सी शार्प (प्रोग्रामिंग लैंग्वेज) के साझा मेमोरी (इंटरप्रोसेस कम्युनिकेशन) मॉडल के विपरीत। सी# और इसी तरह की भाषाएं); इसके बजाय संदेश देना मॉडल का उपयोग किया जाता है।[3] एजेंटों को समन्वयित करने या किसी एजेंट को दूसरे के संसाधनों का अनुरोध करने के लिए, एजेंट को स्पष्ट संदेश भेजा जाना चाहिए। एक्सम इसे सुविधाजनक बनाने के लिए चैनल प्रदान करता है।
एजेंट उदाहरणों के मध्य संवाद करने के लिए चैनल को दिशात्मक मार्ग के रूप में माना जा सकता है। चैनल ऑब्जेक्ट के सदस्य कार्य, एजेंट उदाहरण के लिए बाध्य होने के बाद, इसके साथ संवाद करने के लिए उपयोग किया जा सकता है। चैनल में इनपुट और आउटपुट पोर्ट होते हैं, जो कतार (डेटा संरचना) होते हैं जिनका उपयोग किसी एजेंट को डेटा भेजने या किसी से डेटा प्राप्त करने के लिए किया जाता है। एजेंटों के मध्य संचार को समन्वयित करने के लिए, एक्सम प्रत्येक चैनल को संचार के लिए उपयोगकर्ता परिभाषित प्रोटोकॉल रखने की अनुमति देता है। प्रोटोकॉल को राज्य मशीन के रूप में परिभाषित किया गया है।[5] चैनल पर भेजे गए डेटा को निश्चित पूर्व-निर्धारित स्कीमा के अनुरूप वैकल्पिक रूप से प्रतिबंधित किया जा सकता है। कंपाइलर और रनटाइम स्कीमा के अनुरूपता को प्रयुक्त करेंगे।[6] हुड के तहत, स्कीमा को क्रमबद्धता .NET कक्षा (कम्प्यूटिंग) में अनुवादित किया जाता है जिसमें केवल गुण और साइड इफेक्ट-मुक्त विधियां होती हैं।[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.