सदस्य:Ashwin.V Kumar

मुक्त ज्ञानकोश विकिपीडिया से

फाल्कन (प्रोग्रामिंग भाषा)

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

इतिहास[संपादित करें]

एक छोटी सी परियोजना, हास्टई, 2002 में विकसित की, एक छोटे से तेजी से आभासी मशीन बनाने की कोशिश में, जल्द ही फाल्कन प्रोग्रामिंग भाषा में विकसित हुआ। 2008 की शुरुआत में, पैकेज को उबंटू में एक पैकेज के रूप में ओपन सोर्स लायसेंसिंग के रूप में पहले भेज दिया गया था, और इसे केडीई 4 स्क्रिप्टिंग फ्रेमवर्क में शामिल किया गया था।


दर्शन[संपादित करें]

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


जानकारी का प्रकार[संपादित करें]

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


उदाहरण[संपादित करें]

फाल्कन छह प्रमुख प्रोग्रामिंग मानदंडों में विलीन हो जाता है: प्रक्रियात्मक कार्यात्मक वस्तु उन्मुख (ओओपी) कक्षा ओओपी प्रोटोटाइप OOP संदेश उन्मुख तालुल प्रोग्रामिंग कार्यात्मक फाल्कन में सिग्मा-रेडिक्टर नामक एक मूल्यांकन इंजन है, जो प्रोग्रामर्स को किसी भी प्रक्रियात्मक निर्माण का उपयोग करने की आवश्यकता के बिना पूरी तरह से कार्यात्मक कार्यक्रम लिखने की अनुमति देता है, [10] लिस्प में जो दिख रहा है उससे अलग नहीं है। इंटरमेस्ड प्रोग्रामिंग शैली, कार्यात्मक अनुक्रमों में अलग-अलग मानदंडों (जैसे ओओपी या प्रक्रियात्मक दृष्टिकोण) का उपयोग करने या अन्यथा प्रक्रियात्मक कार्यक्रमों के दौरान कार्यात्मक मूल्यांकन का उपयोग करने की अनुमति देता है। कार्यात्मक दृश्यों को मानक भाषा arrays द्वारा दर्शाया जाता है; इसका मतलब यह है कि दृश्यों को बनाया जा सकता है, उनका निरीक्षण किया जा सकता है और प्रोग्राम द्वारा गतिशील रूप से बदल सकता है, अलग-अलग मूल्यांकनों में या सिग्मा-कमी मूल्यांकन के दौरान। निम्न उदाहरण ऐसा करता है कि एक विशेष चर संदर्भ को बदलकर, जिसे सूची लूप में देर से बंधन कहा जाता है। एक-स्तर के कार्यात्मक अनुक्रम (उपर्युक्त उदाहरण के अनुसार) को कैश किए गए कॉल्स के रूप में अनुमान लगाया जा सकता है, और एक बार वेरिएबल को असाइन किया जाता है, वे एक प्रकार्य प्रतीक के समान रूप से समरूप होते हैं। कार्यात्मक प्रतिमान में आउट-ऑफ-बैंड आइटम मार्कर शामिल है। आइटम एक ओब फ़्लैग मार्कर प्राप्त कर सकते हैं, जो कि भाषा ऑपरेटरों और कार्यों के माध्यम से परीक्षण किया जा सकता है और कार्यात्मक अनुक्रमों में यात्रा करने वाले मूल्यों के लिए एक विशेष अर्थ दर्शाता है। उदाहरण के लिए, कई फंक्शनल लूप, जैसे फ्लॉप और टाइम्स, लूप पुनरारंभ कर सकते हैं या किसी भी कार्य से बाहर के बैंड 1 या 0 को वापस लौटने के द्वारा बाधित किया जा सकता है। मैपिंग फ़ंक्शन के माध्यम से एक सरणी में सभी मानों को बदलते हुए मानचित्र फ़ंक्शन, लौटे गए मूल्य को अनदेखा कर देगा (यह डिस्कार्ड करेगा) यदि यह आउट-ऑफ-बैंड शून्य है; इस तरह, मानचित्र-और- फ़िल्टर परिचालनों को जगह में करना संभव है।


कक्षा-आधारित वस्तु-अभिविन्यास[संपादित करें]

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

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


संदर्भ[संपादित करें]

[1] [2]

  1. https://en.wikipedia.org/wiki/Falcon_(programming_language)
  2. http://www.falconpl.org/index.ftd?page_id=about