लिम्बो (प्रोग्रामिंग लैंग्वेज)

From Vigyanwiki
Revision as of 11:37, 8 November 2023 by Arti (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Limbo
ParadigmConcurrent
द्वारा डिज़ाइन किया गयाSean Dorward, Phil Winterbottom, Rob Pike
DeveloperBell Labs / Vita Nuova Holdings
पहली प्रस्तुति1995; 29 years ago (1995)
टाइपिंग अनुशासनStrong
ओएसInferno
लाइसेंसGNU GPL v2, see NOTICE in limbo subfolder of the tarball
वेबसाइटwww.vitanuova.com/inferno/limbo.html
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) में किया गया है। एक अन्य पाठ्यपुस्तक द इन्फर्नो प्रोग्रामिंग बुक: एन इंट्रोडक्शन टू प्रोग्रामिंग फॉर द इन्फर्नो डिस्ट्रिब्यूटेड सिस्टम, मार्टिन एटकिंस, चार्ल्स फोर्सिथ, रॉब पाइक और हॉवर्ड ट्रिकी द्वारा प्रारम्भ की गई थी, लेकिन कभी जारी नहीं हुई।

यह भी देखें

संदर्भ

  1. "Inferno Application Programming". vitanuova. vitanuova. Retrieved January 26, 2021.
  2. "Dis Virtual Machine Specification". Vita Nuova. 2000. Retrieved 2 February 2015.
  3. Lorenz Huelsbergen and Phil Winterbottom. "Very Concurrent Mark and Sweep Garbage Collection without Fine-Grain Synchronization" (PDF). {{cite journal}}: Cite journal requires |journal= (help)


बाहरी संबंध