सियाओ (प्रोग्रामिंग भाषा)

From Vigyanwiki
Ciao
File:Logo for Ciao programming language.png
ParadigmLogic, functional, modular, object-oriented
पहली प्रस्तुति1984; 40 years ago (1984)
ओएसCross-platform (Unix, Mac OS X, Windows)
लाइसेंसGPL, LGPL
वेबसाइटwww.ciao-lang.org
Influenced by
Prolog

Ciao एक सामान्य-उद्देश्य वाली प्रोग्रामिंग भाषा है जो तर्क, विवशता (कन्सट्रैन्ट), कार्यात्मक, उच्च-क्रम और ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग शैलियों का समर्थन करती है। इसके मुख्य डिजाइन उद्देश्य उच्च अभिव्यंजक शक्ति, विस्तारशीलता, सुरक्षा, विश्वसनीयता और कुशल निष्पादन हैं।[1]

भाषा विशेषताएँ

सीआओ एक पूर्ण प्रोलॉग सिस्टम (आईएसओ-प्रोलॉग का समर्थन), प्रोलॉग के घोषणात्मक उपसमुच्चय और एक्सटेंशन, कार्यात्मक प्रोग्रामिंग (सुस्त मूल्यांकन (लेजी इवैल्यूएशन) सहित), उच्च-क्रम (विधेय सार के साथ), बाधा प्रोग्रामिंग, और ऑब्जेक्ट्स, साथ ही फीचर शर्तों (रिकॉर्ड) प्रदान करता है। ), दृढ़ता, कई नियंत्रण नियम (चौड़ाई-पहली खोज, पुनरावृत्त गहराई, ...), समवर्ती (धागे/इंजन), वितरित निष्पादन (एजेंट), और समानांतर निष्पादन। पुस्तकालय डब्ल्यूडब्ल्यूडब्ल्यू प्रोग्रामिंग, सॉकेट्स, बाहरी इंटरफेस ((सी, जावा, टीसीएलटीके, रिलेशनल डेटाबेस, आदि), आदि का समर्थन करते हैं।

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

सुरक्षित और भरोसेमंद प्रोग्राम विकसित करना

सियाओ में बड़े पैमाने पर प्रोग्रामिंग इसके द्वारा समर्थित है:

  • एक मजबूत मॉड्यूल/ऑब्जेक्ट सिस्टम। यह मॉड्यूल-आधारित अलग/वृद्धिशील संकलन प्रदान करता है (जो बिना मेकफ़ाइल की आवश्यकता के स्वचालित है)।
  • घोषित करने के लिए एक एकीकृत अभिकथन भाषा (वैकल्पिक) प्रोग्राम गुण (विनिर्देश)। इनमें प्रकार, मोड, निर्धारणा, गैर-विफलता, लागत (समय, मेमोरी) आदि शामिल हैं।
  • इस तरह के अनुरोध (यूनिट परीक्षण सहित) की स्वत: अनुमान और स्थिर/गतिशील जांच।

सीआओ के पास छोटे में प्रोग्रामिंग के लिए भी समर्थन है: संकलक छोटे निष्पादन योग्य बनाने में सक्षम है (केवल प्रोग्राम द्वारा उपयोग किए जाने वाले बिलिन सहित) और दुभाषिया स्क्रिप्टिंग का समर्थन करता है।

एनवायरनमेंट में एक एम्बेड करने योग्य स्रोत-स्तर डीबगर और कई निष्पादन विज़ुअलाइज़ेशन टूल के साथ एक चिरसम्मत शीर्ष-स्तर और एक विकसित एमएसीएस इंटरफ़ेस शामिल है।

Ciao प्रीप्रोसेसर सोर्स-टू-सोर्स प्रोग्राम ट्रांसफॉर्मेशन के माध्यम से स्टैटिक डिबगिंग और वेरिफिकेशन, एसेसमेंट चेकिंग और ऑप्टिमाइज़ेशन को सपोर्ट करता है। ये कार्य सियाओप द्वारा किए जाते हैं, और अलग से वितरित किए जाते हैं)।

ऑटो-दस्तावेज़ीकरण

Ciao में lpdoc, एक स्वचालित प्रलेखन जनरेटर शामिल है। यह (Ciao) अभिकथन और मशीन-पठनीय के साथ सजे हुए प्रोग्राम को प्रोसेस करता है एचटीएमएल, पीडीएफ सहित कई प्रारूपों में टिप्पणियां और मैनुअल उत्पन्न करता है। texinfo, info, man, आदि, साथ ही ऑन-लाइन सहायता, ascii README फ़ाइलें, मैनुअल के सूचकांकों के लिए प्रविष्टियाँ (सूचना, WWW, ...), और रखरखाव डब्ल्यूडब्ल्यूडब्ल्यू वितरण साइटें।

पोर्टेबिलिटी और दक्षता

सीआओ कंपाइलर (जिसे शीर्ष स्तर के खोल के बाहर चलाया जा सकता है) आर्किटेक्चर-स्वतंत्र और स्टैंड-अलोन के कई रूप उत्पन्न करता है निष्पादन योग्य, जो गति, दक्षता और निष्पादन योग्य आकार के साथ चलते हैं जो सामान्य रूप से अन्य उच्च स्तरीय भाषाओं के साथ बहुत प्रतिस्पर्धात्मक हैं और विशेष रूप से वाणिज्यिक और अकादमिक प्रोलॉग/सीएलपी के साथ सिस्टम। मॉड्यूल को कॉम्पैक्ट बाइटकोड या सी स्रोत में संकलित किया जा सकता है फ़ाइलें, और स्थिर रूप से, गतिशील रूप से, या ऑटोलोडेड से जुड़ी हुई हैं।

अग्रिम पठन

  • Manuel V. Hermenegildo; et al. (2011). "An Overview of Ciao and its Design Philosophy". arXiv:1102.5497 [cs.PL].
  • The Ciao Development Team. "The Ciao System Home".
  • Enrico Pontelli (ed.). "The CIAO Multiparadigm Language and Program Development Environment".
  • Kei Davis, Jörg Striegnitz. "Multiparadigm programming in object-oriented languages: current research report on the workshop MPOOL'07". ECOOP'07 Proceedings of the 2007 conference on Object-oriented technology.


संदर्भ

  1. "सियाओ सिस्टम". ciao-lang.org. Retrieved 2017-08-12.