पहले किसने किया था async / इंतजार?


21

पाइथन ने 2015 में 3.5 में एसिंक्स / प्रतीक्षित निर्माण को जोड़ा। जावास्क्रिप्ट समुदाय ने एक चकाचौंध भरे सालों तक इसके लिए कदम उठाए और आखिरकार 2017 में जारी ES8 में ड्राफ्ट के समान कार्यान्वयन को जोड़ा (मेरी समझ से)। टाइपस्क्रिप्ट ने 2015 में संस्करण 1.7 में async विधियों को भी जोड़ा है जो अप्रशिक्षित आंख के समान js async विधियों की तरह दिखाई देता है।

2012 में C # जोड़ा गया async विधियाँ जो async / प्रतीक्षा के अन्य सभी कार्यान्वयनों की तरह दिखती हैं और F # के समान व्यवहार पर आधारित थीं, लेकिन अलग दिखने वाली अतुल्यकालिक वर्कफ़्लोज़ हैं जिन्हें 2010 में F # 2.0 में पेश किया गया था। यह सबसे पुराना उदाहरण है जिसे मैं अतुल्यकालिक प्रोग्रामिंग में निर्मित भाषा का पता है। - Async / प्रतीक्षा जोड़ी के साथ C # और Async प्रवाह के साथ F #।

क्या इस संदर्भ में भाषा निर्माण (या पुस्तकालय) के रूप में उपयोग किए जा रहे खोजशब्दों के पहले के उदाहरण हैं? मेरी सीमित जानकारी से ऐसा लगता है कि सभी ने C # कार्यान्वयन के अच्छे हिस्सों की नकल की, लेकिन क्या C # ने इसे किसी और से कॉपी किया?


3
यदि आप async awaitकिसी प्रोग्रामिंग भाषा में शब्दों के उपयोग की तलाश कर रहे हैं, तो यह हाल ही का है। लेकिन इस तरह की अतुल्यकालिक प्रोग्रामिंग async awaitलंबे समय से आस-पास है।
रॉबर्ट हार्वे

जवाबों:


27

एक करने के लिए accoding अतुल्यकालिक प्रोग्रामिंग के बारे में चैनल 9 के लिए एंडर्स हेल्स्बर्ग साक्षात्कार async/await सी # में एफ # में async worflows पर प्रेरणा लेता है।

यदि आप नहीं जानते हैं, तो एंडर्स हेजलबर्ग सी # के मुख्य वास्तुकार हैं, और टाइपस्क्रिप्ट सहित अन्य भाषाओं में भी काम किया है।

डॉन सिम के अनुसार, उनके ब्लॉग पर , F # async वर्कफ़्लो, tokell के लिए अतुल्यकालिक मोनड के कार्यान्वयन से प्रेरणा लेते हैं। विशेष रूप से पेंग ली के पेपर और कोएन क्लासेन के "ए पुअर मैनज़ कॉन्सिक्वेंसी मोनाड" पेपर

यदि आप नहीं जानते हैं, तो डॉन सिम अन्य चीजों के अलावा F # का प्रमुख वास्तुकार है।

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

हास्केल में संगामिति के लिए पूर्व कार्य संचार के लिए गुजरने वाले चैनलों या संदेश के कुछ रूप का उपयोग करते हैं।


पूर्व के काम की बात करते हुए, मुझे समवर्ती हास्केल का उल्लेख करना है, जिसमें "ए गरीब मैनज़ कॉन्सिक्वेंसी मोनाड" एक वैकल्पिक ...

और मार्क पी। जोन्स और पॉल हुडक द्वारा पेपर "हास्पेल में स्पष्ट और स्पष्ट समानांतर प्रोग्रामिंग" । इस पेपर ने कोएन क्लासेन के पेपर के लिए आधार तैयार किया।

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


यह एक बहुत अच्छा जवाब है। मुझे खुशी है कि आपने हास्केल और एमएल (दोनों जिनमें से एफ # से प्रेरणा मिलती है) का उल्लेख किया। मुझे पता है कि आप हास्केल लोगों को "निरंतरता शैली" के बारे में बात करते हुए सुनेंगे। एसिंक्स / वेट उस अवधारणा के शीर्ष पर सिर्फ कंपाइलर मैजिक / सिंटेक्स शुगर है।
रबरडुक

1

मेरा मानना ​​है कि Microsoft पहले से मौजूद शब्दों को नहीं लेगा, इसलिए शब्दों को asyncऔर awaitउस समय के लिए जिम्मेदार ठहराया जा सकता है जिसे आप संदर्भित करते हैं। हालाँकि, कोरआउट और कोआपरेटिव मल्टीटास्किंग के विचार बहुत पुराने हैं।


2
मुझे नहीं लगता कि यह कोरटाइन और अतुल्यकालिक प्रोग्रामिंग की तुलना करने के लिए सही है - वे बहुत अलग प्रकार के अमूर्त प्रदान करते हैं।
wondra

3
"मेरा मानना ​​है कि Microsoft पहले से मौजूद शब्द नहीं लेगा" - क्या आपके पास उस विश्वास का कोई आधार है? सफल भाषाओं के डिजाइनर आमतौर पर इससे अधिक व्यावहारिक होते हैं।
सेबस्टियन रेडल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.