लिम्बो (प्रोग्रामिंग लैंग्वेज): Difference between revisions
No edit summary |
No edit summary |
||
(7 intermediate revisions by 6 users not shown) | |||
Line 20: | Line 20: | ||
|website = {{URL|http://www.vitanuova.com/inferno/limbo.html}} | |website = {{URL|http://www.vitanuova.com/inferno/limbo.html}} | ||
}} | }} | ||
लिम्बो वितरित प्रणालियाँ लिखने के लिए एक [[प्रोग्रामिंग भाषा]] है और इनफर्नो (संचालन प्रणाली) के लिए [[अनुप्रयोग प्रक्रिया सामग्री]] लिखने के लिए | लिम्बो वितरित प्रणालियाँ लिखने के लिए एक [[प्रोग्रामिंग भाषा]] है और इनफर्नो (संचालन प्रणाली) के लिए [[अनुप्रयोग प्रक्रिया सामग्री]] लिखने के लिए प्रयोग की जाने वाली भाषा है। इसे [[सीन डोरवर्ड]], [[फिल विंटरबॉटम]] और [[रोब पाइक]] द्वारा [[बेल लैब्स]] में अभिकल्पित किया गया था। <ref>{{cite web |url=http://www.vitanuova.com/inferno/limbo.html |title=Inferno Application Programming |website= vitanuova |publisher= vitanuova |access-date=January 26, 2021}}</ref> | ||
लिम्बो [[संकलक]] [[कंप्यूटर आर्किटेक्चर|कंप्यूटर शिल्प विद्या]]-स्वतंत्र [[वस्तु कोड|वस्तु कूट]] उत्पन्न करता है जिसकी बाद में [[डिस वर्चुअल मशीन|डिस आभासी यंत्र]] द्वारा व्याख्या की जाती है या प्रदर्शन को बेहतर बनाने के लिए कार्यावधि से ठीक पहले संकलित किया जाता है। इसलिए सभी लिम्बो एप्लिकेशन सभी इन्फर्नो मंच पर पूरी तरह से सुवाह्य हैं। | लिम्बो [[संकलक]] [[कंप्यूटर आर्किटेक्चर|कंप्यूटर शिल्प विद्या]]-स्वतंत्र [[वस्तु कोड|वस्तु कूट]] उत्पन्न करता है जिसकी बाद में [[डिस वर्चुअल मशीन|डिस आभासी यंत्र]] द्वारा व्याख्या की जाती है या प्रदर्शन को बेहतर बनाने के लिए कार्यावधि से ठीक पहले संकलित किया जाता है। इसलिए सभी लिम्बो एप्लिकेशन सभी इन्फर्नो मंच पर पूरी तरह से सुवाह्य हैं। | ||
Line 36: | Line 36: | ||
== आभासी यंत्र == | == आभासी यंत्र == | ||
डिस आभासी यंत्र जो लिम्बो कूट को निष्पादित करती है, एक CISC-जैसी VM है, जिसमें अंकगणित, नियंत्रण प्रवाह, [[डेटा गति]], [[प्रक्रिया (कंप्यूटिंग)]] निर्माण, प्रक्रियाओं के बीच तुल्यकालन करना और संचार करना, कूट के अनुखंड | डिस आभासी यंत्र जो लिम्बो कूट को निष्पादित करती है, एक CISC-जैसी VM है, जिसमें अंकगणित, नियंत्रण प्रवाह, [[डेटा गति]], [[प्रक्रिया (कंप्यूटिंग)]] निर्माण, प्रक्रियाओं के बीच तुल्यकालन करना और संचार करना, कूट के अनुखंड भारण (कम्प्यूटर) करना और उच्च-स्तरीय डेटा-प्रकार: तार, सरणियाँ, सूचियाँ और संचार सरणि के लिए समर्थन सम्मिलित है।<ref>{{Cite web |date=2000 |url=http://www.vitanuova.com/inferno/papers/dis.html |title=Dis Virtual Machine Specification |access-date=2 February 2015 |publisher=Vita Nuova}}</ref> यह चक्रीय आँकड़े के लिए एक संकर [[संदर्भ गिनती]] और एक [[रीयल-टाइम कंप्यूटिंग|समयोचित कचरा-संग्रहकर्ता]] का उपयोग करता है। <ref name="gc">{{cite journal | url = http://doc.cat-v.org/inferno/concurrent_gc/concurrent_gc.pdf | title = Very Concurrent Mark and Sweep Garbage Collection without Fine-Grain Synchronization | author = Lorenz Huelsbergen and Phil Winterbottom}}</ref> | ||
डिस की अभिकल्पना के पहलू AT&T हॉबिट सूक्ष्मप्रक्रमक से प्रेरित थे, जैसा कि मूल [[बीबॉक्स|Beबॉक्स]] में | डिस की अभिकल्पना के पहलू AT&T हॉबिट सूक्ष्मप्रक्रमक से प्रेरित थे, जैसा कि मूल [[बीबॉक्स|Beबॉक्स]] में प्रयोग किया गया था। | ||
== उदाहरण == | == उदाहरण == | ||
लिम्बो Ada (प्रोग्रामिंग भाषा)-शैली की परिभाषाओं का उपयोग इस प्रकार करता है: | लिम्बो Ada (प्रोग्रामिंग भाषा)-शैली की परिभाषाओं का उपयोग इस प्रकार करता है: | ||
< | <syntaxhighlight lang="limbo"> | ||
name := type value; | |||
name0,name1 : type = value; | |||
name2,name3 : type; | |||
name2 = value; | |||
</ | </syntaxhighlight> | ||
=== हैलो वर्ल्ड === | === हैलो वर्ल्ड === | ||
< | <syntaxhighlight lang="limbo"> | ||
implement Command; | |||
sys.m | include "sys.m"; | ||
sys: | sys: Sys; | ||
include "draw.m"; | |||
include "sh.m"; | |||
init ( | init(nil: ref Draw->Context, nil: list of string) | ||
{ | { | ||
sys = | sys = load Sys Sys->PATH; | ||
sys-> | sys->print("Hello World!\n"); | ||
} | } | ||
</ | </syntaxhighlight> | ||
== किताबें == | == किताबें == | ||
Line 95: | Line 106: | ||
{{Authority control}} | {{Authority control}} | ||
{{DEFAULTSORT:Limbo (Programming Language)}} | {{DEFAULTSORT:Limbo (Programming Language)}} | ||
[[Category: | [[Category:CS1 errors|Limbo (Programming Language)]] | ||
[[Category:Created On 17/02/2023]] | [[Category:Created On 17/02/2023|Limbo (Programming Language)]] | ||
[[Category:Lua-based templates|Limbo (Programming Language)]] | |||
[[Category:Machine Translated Page|Limbo (Programming Language)]] | |||
[[Category:Pages with empty portal template|Limbo (Programming Language)]] | |||
[[Category:Pages with script errors|Limbo (Programming Language)]] | |||
[[Category:Portal templates with redlinked portals|Limbo (Programming Language)]] | |||
[[Category:Short description with empty Wikidata description|Limbo (Programming Language)]] | |||
[[Category:Template documentation pages|Short description/doc]] | |||
[[Category:Templates Vigyan Ready|Limbo (Programming Language)]] | |||
[[Category:Templates that add a tracking category|Limbo (Programming Language)]] | |||
[[Category:Templates that generate short descriptions|Limbo (Programming Language)]] | |||
[[Category:Templates using TemplateData|Limbo (Programming Language)]] | |||
[[Category:आभाषी दुनिया|Limbo (Programming Language)]] | |||
[[Category:इन्फर्नो (ऑपरेटिंग सिस्टम)|Limbo (Programming Language)]] | |||
[[Category:निःशुल्क संकलक और दुभाषिए|Limbo (Programming Language)]] | |||
[[Category:समवर्ती प्रोग्रामिंग भाषाएँ|Limbo (Programming Language)]] | |||
[[Category:सी प्रोग्रामिंग भाषा परिवार|Limbo (Programming Language)]] |
Latest revision as of 11:37, 8 November 2023
Paradigm | Concurrent |
---|---|
द्वारा डिज़ाइन किया गया | Sean Dorward, Phil Winterbottom, Rob Pike |
Developer | Bell Labs / Vita Nuova Holdings |
पहली प्रस्तुति | 1995 |
टाइपिंग अनुशासन | Strong |
ओएस | Inferno |
लाइसेंस | GNU GPL v2, see NOTICE in limbo subfolder of the tarball |
वेबसाइट | www |
Major implementations | |
Dis virtual machine | |
Influenced by | |
C, Pascal, CSP, Alef, Newsqueak | |
Influenced | |
Stackless Python, Go, Rust |
लिम्बो वितरित प्रणालियाँ लिखने के लिए एक प्रोग्रामिंग भाषा है और इनफर्नो (संचालन प्रणाली) के लिए अनुप्रयोग प्रक्रिया सामग्री लिखने के लिए प्रयोग की जाने वाली भाषा है। इसे सीन डोरवर्ड, फिल विंटरबॉटम और रोब पाइक द्वारा बेल लैब्स में अभिकल्पित किया गया था। [1]
लिम्बो संकलक कंप्यूटर शिल्प विद्या-स्वतंत्र वस्तु कूट उत्पन्न करता है जिसकी बाद में डिस आभासी यंत्र द्वारा व्याख्या की जाती है या प्रदर्शन को बेहतर बनाने के लिए कार्यावधि से ठीक पहले संकलित किया जाता है। इसलिए सभी लिम्बो एप्लिकेशन सभी इन्फर्नो मंच पर पूरी तरह से सुवाह्य हैं।
संगामिति के लिए लिम्बो का दृष्टिकोण C. A. R. होरे की संचार अनुक्रमिक प्रक्रियाओं (CSP) से प्रेरित था, जैसा कि पाइक की पिछली न्यूज़क्वीक भाषा और विंटरबॉटम की एलेफ़ (प्रोग्रामिंग भाषा) में कार्यान्वित और संशोधित किया गया था।
भाषा सुविधाएँ
लिम्बो निम्नलिखित सुविधाओं का समर्थन करता है:
- प्रतिरूपकता (प्रोग्रामिंग)
- समवर्ती प्रोग्रामिंग
- संकलन और कार्यावधि पर मजबूत प्रकार की जाँच
- टाइप किए गए चैनल (प्रोग्रामिंग) पर अंतःप्रक्रम संचार
- स्वचालित कचरा संग्रहण (कंप्यूटर विज्ञान)
- सरल सार डेटा प्रकार
आभासी यंत्र
डिस आभासी यंत्र जो लिम्बो कूट को निष्पादित करती है, एक CISC-जैसी VM है, जिसमें अंकगणित, नियंत्रण प्रवाह, डेटा गति, प्रक्रिया (कंप्यूटिंग) निर्माण, प्रक्रियाओं के बीच तुल्यकालन करना और संचार करना, कूट के अनुखंड भारण (कम्प्यूटर) करना और उच्च-स्तरीय डेटा-प्रकार: तार, सरणियाँ, सूचियाँ और संचार सरणि के लिए समर्थन सम्मिलित है।[2] यह चक्रीय आँकड़े के लिए एक संकर संदर्भ गिनती और एक समयोचित कचरा-संग्रहकर्ता का उपयोग करता है। [3]
डिस की अभिकल्पना के पहलू AT&T हॉबिट सूक्ष्मप्रक्रमक से प्रेरित थे, जैसा कि मूल Beबॉक्स में प्रयोग किया गया था।
उदाहरण
लिम्बो Ada (प्रोग्रामिंग भाषा)-शैली की परिभाषाओं का उपयोग इस प्रकार करता है:
name := type value;
name0,name1 : type = value;
name2,name3 : type;
name2 = value;
हैलो वर्ल्ड
implement Command;
include "sys.m";
sys: Sys;
include "draw.m";
include "sh.m";
init(nil: ref Draw->Context, nil: list of string)
{
sys = load Sys Sys->PATH;
sys->print("Hello World!\n");
}
किताबें
इन्फर्नो संचालन प्रणाली और लिम्बो प्रोग्रामिंग भाषा के तीसरे संस्करण का वर्णन फिलिप स्टेनली-मारबेल द्वारा पाठ्यपुस्तक इन्फर्नो प्रोग्रामिंग विद लिम्बो ISBN 0-470-84352-7 (चिचेस्टर: जॉन विली एंड संस, 2003) में किया गया है। एक अन्य पाठ्यपुस्तक द इन्फर्नो प्रोग्रामिंग बुक: एन इंट्रोडक्शन टू प्रोग्रामिंग फॉर द इन्फर्नो डिस्ट्रिब्यूटेड सिस्टम, मार्टिन एटकिंस, चार्ल्स फोर्सिथ, रॉब पाइक और हॉवर्ड ट्रिकी द्वारा प्रारम्भ की गई थी, लेकिन कभी जारी नहीं हुई।
यह भी देखें
- इन्फर्नो संचालन प्रणाली
- एलेफ (प्रोग्रामिंग लैंग्वेज), लिंबो का पूर्ववर्ती
- बेल लैब्स से योजना 9
- गो (प्रोग्रामिंग भाषा), गूगल से समान भाषा
- AT&T हॉबिट, एक संसाधक शिल्प विद्या जिसने डिस VM को प्रेरित किया
संदर्भ
- ↑ "Inferno Application Programming". vitanuova. vitanuova. Retrieved January 26, 2021.
- ↑ "Dis Virtual Machine Specification". Vita Nuova. 2000. Retrieved 2 February 2015.
- ↑ Lorenz Huelsbergen and Phil Winterbottom. "Very Concurrent Mark and Sweep Garbage Collection without Fine-Grain Synchronization" (PDF).
{{cite journal}}
: Cite journal requires|journal=
(help)
बाहरी संबंध
- Vita Nuova page on Limbo
- A Descent into Limbo by Brian Kernighan
- The Limbo Programming Language by Dennis M. Ritchie and Addendum by Vita Nuova.
- Inferno Programming with Limbo by Phillip Stanley-Marbell
- Threaded programming in the Bell Labs CSP style
- Dis source code
- The design of the Inferno virtual machine, Vita nuova.
- "Dis VM design", Inferno (4th ed.), Cat V.
- "Dis VM specification", Inferno (4th ed.), Cat V.