क्या ओबेरॉन वास्तव में "एक बेहतर पास्कल" है? [बन्द है]


12

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

  • मजबूर शब्दों को हमेशा ऊपर रखने के लिए मजबूर करना
  • भाषा को मामले के प्रति संवेदनशील बनाना
  • गणन प्रकार से छुटकारा

आप ओबेरॉन के बारे में क्या सोचते हैं, क्या यह आपके दृष्टिकोण से वास्तव में "बेहतर पास्कल" है?


3
ओबेरॉन प्रोग्रामिंग में एडा / पास्कल युग की एक दूर की गूँज की तरह लगता है। यह विर्थ की मूल पास्कल भाषा से थोड़ा बेहतर हो सकता है, लेकिन जाहिर है कि यह टर्बो पास्कल / डेल्फी से नीच है।
मोज़ुबा

2
@ मज्जुबा, जो मुझे एक जवाब की तरह दिखता है ...
ग्लेनट्रॉन

क्या यह एक बार पहले से ही बंद नहीं था? संपादन इतिहास का क्या हुआ?
रॉबर्ट हार्वे

मुझे अपने कॉलेज के वर्षों में ओबेरॉन के साथ एक संक्षिप्त आकर्षण था। काश, मैं इसके बारे में अधिक जानता कि एक राय हो।
बैरी ब्राउन

1
ऊपरी मामला आरक्षित शब्दों की आवश्यकता मेरे लिए एक सौदा तोड़ने वाला होगा। मुझे पढ़ने में बहुत आसान लगता है।
ग्रैंडमास्टरबी

जवाबों:


8

हां, मैं ओबेरॉन को बेहतर पास्कल कहूंगा। ओबेरॉन के साथ, प्रोफेसर विर्थ को ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग के मूल में टाइप एक्सटेंशन और प्रक्रिया चर के साथ मिला। मुझे यह सुरुचिपूर्ण लगता है कि ओबेरॉन पास्कल की तुलना में बहुत अधिक शक्ति वाली एक छोटी भाषा है।

ओबेरॉन 2 ने रिकॉर्ड के तरीकों को बांधकर भाषा को एक कदम आगे ले लिया।

मैं ऊपरी मामला आरक्षित शब्दों को नापसंद करता हूं। मुझे लगता है कि वाक्यविन्यास में सुधार कई शुरू और समाप्त होने के साथ होता है।

ओबेरॉन का इस्तेमाल प्रोजेक्ट ओबेरॉन: द डिज़ाइन ऑफ़ऑपरेटिंग सिस्टम एंड कंपाइलर में वर्णित एक बहुत ही दिलचस्प ऑपरेटिंग सिस्टम को लिखने के लिए किया गया था ।


सहमत, ओबेरॉन बेहतर है। ओबेरॉन के साथ समस्या यह है कि यह बहुत देर से आया। कई अन्य लोग फोरट्रान, बेसिक, पास्कल, सी में सुधार करते हैं, इसलिए ओबेरॉन के गंभीर प्रतियोगी हैं। फिर, भाषा समाधान का केवल एक हिस्सा है। 'सर्वश्रेष्ठ' भाषा में अच्छी लाइब्रेरियाँ, या एक बुनियादी ढाँचा होता है। जावास्क्रिप्ट वेब अनुप्रयोगों के लिए टाई की वजह से बहुत अच्छा है। फिर, प्रतिक्रिया भी अधिक है, जेएस पर निर्माण। भाषा की सरलता की किसे परवाह है? हम चाहते हैं कि वेब ऐप बनाने के लिए रिएक्शन कंपोनेंट जैसे सिंपल ऑब्जेक्ट्स हों।
रोलैंड

6

यह विभिन्न तरीकों से बेहतर और बदतर है:

कचरा संग्रह, और मॉड्यूलर और ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग के लिए सुविधाएं होना अच्छा है। यह अपेक्षाकृत छोटी भाषा है; पार्स करना आसान है, और कार्यान्वित करना।

गणना की कमी एक दर्द है (वास्तव में, विस्तारित ओबेरॉन बोली में हम उपयोग करते हैं, हमने उन्हें वापस जोड़ा)।

अधिक आधुनिक भाषाओं के सापेक्ष, इसकी अतिसूक्ष्मता थोड़ी क्रूर है, और किसी भी भाषा में वर्णों के सरणियों के रूप में तार का व्यवहार करना है।

बेशक, पास्कल काफी विकसित हो गया है, उदाहरण के लिए घटक पास्कल देखें।


आप अपनी विस्तारित ओबेरॉन बोली में प्रगणित प्रकारों पर विस्तार कैसे करते हैं? कारण मैं पूछता हूं: प्रोफेसर विर्थ ने कहा कि वह इसे करने का एक अच्छा तरीका नहीं देख सकते हैं, और इसीलिए उन्होंने भाषा से प्रगणित प्रकारों को हटा दिया है।
जॉन आर। स्ट्रॉहैम

2
दरअसल, मेरा मानना ​​है कि इसके नाम के बावजूद, कंपोनेंट पास्कल ओबेरॉन का उत्तराधिकारी है, पास्कल नहीं (परोक्ष रूप से छोड़कर)। यह अल्गोल-एक्स (कभी लागू नहीं) -> अल्गोल-डब्ल्यू -> पास्कल -> मोडुला (कभी लागू नहीं) -> मोडुला -2 -> ओबेरोन -> (ओबेरॉन के कुछ संशोधन) -> कंपास पास्कल की तरह कुछ हो जाता है।
Jörg W Mittag

2
विरथ एक शुद्धतावादी थे; उन्होंने निर्णय लिया कि बेहतर होने के लिए शत्रुता के प्रकार की सुरक्षा को खोना बेहतर था। हम बहुत सारे कोड लिखते हैं जो कि एनम के प्रकार की जाँच से लाभान्वित होते हैं, जहाँ सह-आकस्मिक मूल्य टकराव अन्यथा सूक्ष्म त्रुटियों का परिचय देते हैं। संक्षेप में, चूंकि हम पूरे ओबेरॉन कोड बेस, और कंपाइलर दोनों को नियंत्रित करते हैं, इसलिए हम अत्यधिक परेशान करने वाले प्रोग्राम त्रुटियों के एक वर्ग को रोकने के लिए, एनम पर प्रकार के विस्तार के बिना करते हैं।
ग्रॉससेल नोव
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.