बीटा (प्रोग्रामिंग भाषा)

From alpha
Jump to navigation Jump to search
BETA
ParadigmObject-oriented
द्वारा डिज़ाइन किया गयाBent Bruun Kristensen, Ole Lehrmann Madsen, Birger Møller-Pedersen, Kristen Nygaard
वेबसाइटbeta.cs.au.dk
Influenced by
Simula

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

यह परियोजना अक्टूबर 2020 तक निष्क्रिय है।[2]


विशेषताएं

तकनीकी सिंहावलोकन

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

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

पैटर्न

भाषा की एक प्रमुख और विशिष्ट विशेषता पैटर्न की अवधारणा है। एक अन्य प्रोग्रामिंग भाषा में, जैसे कि C++, एक के पास कई वर्ग और प्रक्रियाएँ होंगी। बीटा इन दोनों अवधारणाओं को पैटर्न का उपयोग करके व्यक्त करता है।

उदाहरण के लिए, C++ में एक साधारण वर्ग का रूप होगा <वाक्यविन्यास लैंग = सीपीपी> वर्ग बिंदु {

   इंट एक्स, वाई;

}; </वाक्यविन्यास हाइलाइट> बीटा में, समान वर्ग को पैटर्न द्वारा दर्शाया जा सकता है <वाक्यविन्यास लैंग = पास्कल> बिंदु: (#

   एक्स, वाई: @integer
  1. )

</वाक्यविन्यास हाइलाइट> अर्थात्, बिंदु नामक एक वर्ग में पूर्णांक (कंप्यूटर विज्ञान) प्रकार के दो फ़ील्ड, x और y होंगे। प्रतीक (# और #) पैटर्न का परिचय देते हैं। कोलन का उपयोग पैटर्न और चर घोषित करने के लिए किया जाता है। फ़ील्ड परिभाषाओं में पूर्णांक प्रकार से पहले @ चिह्न निर्दिष्ट करता है कि ये पूर्णांक फ़ील्ड हैं, और इसके विपरीत, संदर्भ, सरणियाँ या अन्य पैटर्न नहीं हैं।

एक अन्य तुलना के रूप में, C++ में एक प्रक्रिया का रूप हो सकता है <वाक्यविन्यास लैंग = सीपीपी> इंट मैक्स (इंट एक्स, इंट वाई) {

   अगर (एक्स> = वाई)
   {
       वापसी एक्स;
   }
   अन्य
   {
       वापसी वाई;
   }

} </वाक्यविन्यास हाइलाइट> बीटा में, इस तरह के फ़ंक्शन को पैटर्न का उपयोग करके लिखा जा सकता है <वाक्यविन्यास लैंग = पास्कल> अधिकतम: (#

   एक्स, वाई, जेड: @integer

दर्ज करें (एक्स, वाई) करना

   (यदि x >= y // सच है तो
       एक्स -> जेड
   अन्य
       वाई -> जेड
   अगर)

बाहर निकलें जेड

  1. )

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

हैलो वर्ल्ड!

यह स्निपेट मानक लाइन हैलो वर्ल्ड प्रोग्राम को प्रिंट करता है हैलो वर्ल्ड! :
<पूर्व> (# 'Hello World!'->PutLine करें

  1. )

</पूर्व>

अग्रिम पठन

  • Ole Lehrmann Madsen, Birger Møller-Pedersen, Kristen Nygaard: Object-Oriented Programming in the BETA Programming Language, [2]
  • Bent Bruun Kristensen, Ole Lehrmann Madsen, Birger Møller-Pedersen: The When, Why and Why Not of the BETA Programming Language, ACM History of Programming Languages III, Conference, San Diego 2007, [3]


संदर्भ

  1. 1.0 1.1 Source: [1] Ole Lehrmann Madsen: An overview of BETA
  2. https://beta.cs.au.dk/


बाहरी संबंध