Red (programming language)
लाल एक प्रोग्रामिंग भाषा है जिसे प्रोग्रामिंग भाषा रिबोल की सीमाओं को दूर करने के लिए डिज़ाइन किया गया है। रेड को 2011 में नेनाद राकोसेविक द्वारा पेश किया गया था, और यह एक अनिवार्य और कार्यात्मक प्रोग्रामिंग भाषा दोनों है। इसका वाक्यविन्यास और सामान्य उपयोग व्याख्या की गई रिबोल भाषा से मेल खाता है। रेड के कार्यान्वयन विकल्पों का उद्देश्य एक पूर्ण स्टैक प्रोग्रामिंग भाषा बनाना हैः रेड का उपयोग अत्यधिक उच्च-स्तरीय प्रोग्रामिंग (डीएसएल और जीयूआई) के साथ-साथ निम्न-स्तरीय प्रोग्रामिंग (ऑपरेटिंग सिस्टम और डिवाइस ड्राइवर) के लिए किया जा सकता है। दृष्टिकोण की कुंजी यह है कि भाषा के दो भाग हैंः लाल/प्रणाली और लाल। लाल/प्रणाली सी के समान है, लेकिन उदाहरण के लिए एक रिबोल शाब्दिक संरचना में पैक किया गया है, इसके बजाय कोई लिख सकता है। लाल एक समरूपी भाषा है जो रीबोल जैसी शब्दार्थ के साथ मेटा-प्रोग्रामिंग में सक्षम है। रेड की रनटाइम लाइब्रेरी रेड/सिस्टम में लिखी गई है, और एक संकर दृष्टिकोण का उपयोग करती हैः यह संकलित करती है कि यह स्थिर रूप से क्या अनुमान लगा सकती है और अन्यथा एक अंतर्निहित दुभाषिया का उपयोग करती है। परियोजना के रोडमैप में बीच के मामलों के लिए एक समयबद्ध संकलक शामिल है, लेकिन इसे अभी तक लागू नहीं किया गया है। रेड किसी भी अन्य टूलचेन से स्वतंत्र रहना चाहता है; यह अपना कोड जनरेशन करता है। इसलिए कमांड-लाइन स्विच के माध्यम से किसी भी अन्य प्लेटफॉर्म से लाल कार्यक्रमों को क्रॉस-संकलित करना संभव है। लाल और लाल/सिस्टम दोनों को संशोधित बीएसडी लाइसेंस के तहत ओपन-सोर्स सॉफ्टवेयर के रूप में वितरित किया जाता है। रनटाइम लाइब्रेरी को अधिक अनुमत बूस्ट सॉफ्टवेयर लाइसेंस के तहत वितरित किया जाता है। संस्करण 0.6.4 के अनुसार लाल रंग में एक कचरा संग्राहक "सरल जीसी" शामिल है। परिचय रेड को नीदरलैंड में फरवरी 2011 में रिबोल एंड बोरोन सम्मेलन में इसके लेखक नेनाद राकोसेविक द्वारा पेश किया गया था। सितंबर 2011 में, सॉफ्टवेयर स्वतंत्रता दिवस 2011 के दौरान लाल प्रोग्रामिंग भाषा को बड़े दर्शकों के सामने प्रस्तुत किया गया था। राकोसेविक एक लंबे समय से रिबोल डेवलपर हैं जिन्हें शेयेन एचटीटीपी सर्वर के निर्माता के रूप में जाना जाता है। विशेषताएँ रेड का वाक्यविन्यास और शब्दार्थ रिबोल के बहुत करीब हैं। रिबोल की तरह, यह मेटाप्रोग्रामिंग और डोमेन-विशिष्ट भाषाओं (डीएसएल) का दृढ़ता से समर्थन करता है और इसलिए बोली लगाने (एम्बेडेड डीएसएल बनाने) के लिए एक अत्यधिक कुशल उपकरण है। लाल में लाल/प्रणाली नामक एक बोली शामिल है, जो एक सी-स्तरीय भाषा है जो प्रणाली प्रोग्रामिंग सुविधाएं प्रदान करती है। लाल रंग को डी. एल. एल. (लिबरेड) के रूप में अन्य उपकरणों और भाषाओं के साथ एकीकृत करना आसान है और बहुत हल्का (लगभग 1 एमबी) है। यह विभिन्न प्लेटफार्मों पर क्रॉस-कम्पाइल करने में भी सक्षम है (नीचे क्रॉस संकलन अनुभाग देखें) और उन प्लेटफार्मों के लिए पैकेज बनाने में सक्षम है जिनकी उन्हें आवश्यकता है (जैसे, एंड्रॉइड पर. ए. पी. के)। लाल रंग में एक अंतर्निहित प्रतिक्रियाशील डेटाफ़्लो इंजन पर आधारित एक पूरी तरह से प्रतिक्रियाशील क्रॉस-प्लेटफ़ॉर्म जीयूआई प्रणाली, एसवीजी की तुलना में एक 2डी ड्राइंग बोली, संकलन-समय और रनटाइम मैक्रो समर्थन और 40 से अधिक मानक डेटा प्रकार भी शामिल हैं। सॉफ्टवेयर स्वतंत्रता दिवस 2011 पर प्रस्तुत रेड के लक्ष्यों की सूची निम्नलिखित हैः सरलता ("कोड लिखने के लिए एक आई. डी. ई. की आवश्यकता नहीं होनी चाहिए।") कॉम्पैक्टनेस ("अत्यधिक अभिव्यंजक होने से उत्पादकता बढ़ जाती है।") गति ("यदि बहुत धीमी है, तो यह सामान्य उद्देश्य के लिए पर्याप्त नहीं हो सकती है।") "हरा" बनें, एक छोटा पदचिह्न रखें ("क्योंकि संसाधन असीमित नहीं हैं।") सर्वव्यापीता ("हर जगह फैलाएँ।") पोर्टेबिलिटी, हर जगह एक बार लिखें ("यह एक प्रोग्रामिंग भाषा से सबसे कम अपेक्षित है।") लचीलापन ("सबसे अच्छा नहीं लेकिन किसी भी कार्य के लिए उपयुक्त!") विकास रेड का विकास दो चरणों में करने की योजना हैः प्रारंभिक चरणः रिबोल 2 बूटस्ट्रैप चरण में लिखे गए लाल और लाल/सिस्टम संकलकः लाल और लाल/सिस्टम संकलक जो एक लाल जेआईटी-संकलक द्वारा पूरक हैं, जो सभी रेड क्रॉस संकलन में लिखे गए हैं, वर्तमान में निम्नलिखित क्रॉस-संकलन लक्ष्यों का समर्थन करते हैंः एमएस-डॉसः विंडोज, x86, कंसोल (और जीयूआई) अनुप्रयोग विंडोजः विंडोज, x86, जीयूआई अनुप्रयोग लिनक्सः लिनक्स, x86 लिनक्स-एआरएमः लिनक्स, एआरएमवी5, आर्मेल (सॉफ्ट-फ्लोट) रास्पबेरी पाईः लिनक्स, एआरएमवी5, आर्मएफ (हार्ड-फ्लोट) फ्रीबीएसडीः x86 डार्विनः ओएस हैलो वर्ल्ड! लाल [शीर्षकः "सिंपल हैलो वर्ल्ड स्क्रिप्ट"] प्रिंट करें "हैलो वर्ल्ड!" कारक उदाहरण महत्वपूर्णः ये वाक्यविन्यास उदाहरणों के रूप में अभिप्रेत हैं। जब तक लाल में 64-बिट समर्थन नहीं है, तब तक पूर्णांक उदाहरण 32-बिट पूर्णांक को बहुत जल्दी ओवरफ्लो कर देगा। इसे 'फ्लोट!' में बदलने से और आगे बढ़ जाएगा, लेकिन ये केवल भाषा के वाक्यविन्यास को दिखाने के लिए हैं। निम्नलिखित लाल में एक फैक्टोरियल उदाहरण हैः लाल [शीर्षकः "एक फैक्टोरियल स्क्रिप्ट"]; नोटः शीर्षक वैकल्पिक है। फैक्टोरियलः फ़ंक [x [पूर्णांक!] ; लाल रंग में तर्क के प्रकार को देना वैकल्पिक है] [या तो x = 0 [1] [x * फैक्टोरियल x-1] निम्नलिखित लाल/सिस्टम में एक ही फैक्टोरियल उदाहरण है (इस बहुत ही सरल मामले में, स्रोत कोड लाल के संस्करण के समान है): लाल/सिस्टम [शीर्षकः "एक फैक्टोरियल स्क्रिप्ट"] फैक्टोरियलः फंक [x [पूर्णांक! ; यह लाल/सिस्टम रिटर्न में अनिवार्य हैः [पूर्णांक!] ; यह लाल/प्रणाली में अनिवार्य है] [या तो x = 0 [1] [x * फैक्टोरियल x-1]] रिबोल संदर्भ भी देखें बाहरी लिंक गिटहब पर लाल प्रोग्रामिंग भाषाएँ Redprogramming.com प्रोग्रामिंग भाषाएँ सिस्टम प्रोग्रामिंग भाषाएँ विस्तार योग्य वाक्यविन्यास प्रोग्रामिंग भाषाएँ डोमेन-विशिष्ट प्रोग्रामिंग भाषाएँ उच्च-स्तरीय प्रोग्रामिंग भाषाएँ होमोइकॉनिक प्रोग्रामिंग भाषाएँ प्रक्रियात्मक प्रोग्रामिंग भाषाएँ कार्यात्मक भाषाएँ क्रॉस-प्लेटफ़ॉर्म मुक्त सॉफ़्टवेयर क्रॉस-प्लेटफ़ॉर्म सॉफ़्टवेयर 2011 सॉफ्टवेयर में बनाए गए बूस्ट लाइसेंस प्रोग्रामिंग भाषाओं का उपयोग करके बीएसडी लाइसेंस सॉफ़्टवेयर का उपयोग करके मुक्त संकलक और दुभाषिया सॉफ़्टवेयर