पायथन और पूर्ववर्ती के अलावा कौन सी अन्य प्रोग्रामिंग भाषाएं कोड ब्लॉक को परिभाषित करने के लिए इंडेंटेशन का उपयोग कर रही हैं? [बन्द है]


12

पायथन काफी प्रसिद्ध कोड के ब्लॉक को सिंटैक्टली परिभाषित करने के लिए इंडेंटेशन का उपयोग करता है । ( पायथन भाषा संदर्भ में यौगिक बयान देखें )। पायथन का उपयोग करने के वर्षों के बाद भी मैं इस वाक्य रचना की विशेषता से बहुत प्रभावित हूं।

लेकिन मुझे आश्चर्य है: पायथन और इसके "पूर्ववर्ती" (*) भाषा एबीसी के अलावा अन्य प्रोग्रामिंग भाषाएं जो कोड ब्लॉक की परिभाषा के लिए इंडेंटेशन का उपयोग कर रही हैं ? कोड ब्लॉक का अर्थ है यहां "कई कथन जो किसी तरह से एक घटक के रूप में व्यवहार किए जाते हैं"।

मैं विशेष रूप से व्यावहारिक प्रोग्रामिंग भाषाओं में दिलचस्पी रखता हूं , लेकिन गूढ़ भाषाओं में भी ध्यान देने योग्य हो सकता है।


(*): " पूर्ववर्ती " यहाँ बेहतर जानने के डिफ़ॉल्ट रूप में शब्द का मेरी पसंद है। पायथन के निर्माता गुइडो वैन रोसुम ने इस तरह के एक साक्षात्कार में इंडेंटेशन के बारे में अजगर और एबीसी के बीच संबंधों का वर्णन किया : " समूहन के लिए इंडेंटेशन का विकल्प पायथन में एक उपन्यास अवधारणा नहीं था; मुझे एबीसी से विरासत में मिला था। "


15
मुझे नहीं लगता कि "कृपया मुझे X के साथ प्रोग्रामिंग भाषाओं की सूची दें" एक कंप्यूटर विज्ञान का प्रश्न है।
डेविड रिचेर्बी

2
क्यों, वहाँ व्हॉट्सएप भाषा ही है कि यह अभिव्यक्ति की मुख्य विधि के लिए उचित इंडेंटेशन की आवश्यकता है।
पेंग्विन 359

1
लॉन्ग-फॉर्म यार्मल शायद ध्यान देने योग्य है, भले ही यह सबसे कठिन अर्थों में एक प्रोग्रामिंग भाषा नहीं है, क्योंकि यह शायद पायथन के बाद किसी के साथ मुठभेड़ करने के लिए इस सुविधा के साथ अगली सबसे अधिक संभावना वाली भाषाओं में से एक है।
ऑस्टिन हेमेलर्गरन

1
@ पेंगुइन 359 मैंने व्हॉट्सएप के बारे में भी सोचा। यह सवाल का जवाब नहीं है क्योंकि इंडेंटेशन, एफेक्ट है, जिसका इस्तेमाल ब्लॉक को परिभाषित करने के लिए नहीं किया जाता है; लेकिन यह निश्चित रूप से भाषा है जिसमें सफेद स्थान सबसे महत्वपूर्ण है।
पीटर - मोनिका

1
@DavidRicherby को विशेषता के आधार पर समूहीकृत करना (अर्थात वर्गीकरण) निश्चित रूप से विज्ञान का एक हिस्सा है: जैसे जीवविज्ञान StackExchange के लिए एक दिलचस्प सवाल यह हो सकता है: " क्या अन्य जानवर दो पैरों पर चलते हैं? " इसलिए मैं उपरोक्त कंप्यूटर विज्ञान StackExchange के लिए बहुत उपयुक्त मानता हूं ?
हललू

जवाबों:


23

विकिपीडिया में उन भाषाओं की एक व्यापक सूची है जो ऑफ-साइड नियम का उपयोग करती हैं 1 :

  • एबीसी
  • बू
  • BuddyScript
  • कोबरा
  • CoffeeScript
  • एकाग्र
  • करी
  • अमृत ​​( , do:ब्लॉक)
  • एल्म
  • एफ # (यदि #light "off"निर्दिष्ट नहीं है)
  • जिन्न
  • हास्केल (केवल where, let, do, या case ... ofखंड जब ब्रेसिज़ छोड़े गए हैं)
  • सूचित करें 7
  • ISWIM, सार भाषा जिसने नियम पेश किया
  • LiveScript
  • मिरांडा
  • Nemerle
  • निम
  • occam
  • PROMAL
  • अजगर
  • योजना, उदाहरण के लिए SRFI 119 का उपयोग करते समय
  • स्पिन
  • एक्स्ट्रा लार्ज

1: मैंने यह शब्द अपने आप से पहले कभी नहीं सुना है।


2
ऑफ-साइड नियम एक रोमांचक खोज है!
४२ बजे हलुवेलो

3
नहीं पता है कि यह एक भाषा है जैसा कि आप या विकिपीडिया इसे समझते हैं, लेकिन मेकफाइल्स इंडेंटेशन का भी उपयोग करते हैं।
TheWildHealer

@ TheWildHealer विकिपीडिया लेख में गैर-प्रोग्रामिंग भाषाओं के साथ एक अनुभाग भी है (जिसमें मेक, मिचेल, आरएसटी जैसे सामान शामिल हैं)। मैंने ऐसा नहीं किया क्योंकि ओपी ने प्रोग्रामिंग भाषाओं के बारे में पूछा।
बरगी

आप सही हैं, अगली बार मैं अपनी आँखें खोलूँगा, धन्यवाद।
विल्हेलर

10

के होते हैं: एल्म , हास्केल , अपने पूर्ववर्ती मिरांडा और उसके पूर्ववर्ती ISWIM , YAML जहां रिक्त स्थान वाक्य रचना और टैब के लिए महत्वपूर्ण हैं वर्जित किया गया है, OCCAM , कॉफी स्क्रिप्ट और Cokescript दोनों लक्ष्य और गूढ़ के रूप में जावास्क्रिप्ट के साथ भाषा संकलनकर्ता को भाषा हैं व्हाइटस्पेस

वहाँ भी है AGDA - इंटरैक्टिव प्रमेय prover, जो शायद नहीं है कि तुम क्या मन में था, लेकिन इसके lexer सफेद-अंतरिक्ष के लिए बहुत संवेदनशील है।
मेकफाइल , जो टैब-आधारित उद्देश्यों के साथ लक्ष्य एकत्र करता है।


1
साथ ही मिरांडा, हास्केल भाषा पर आधारित थी।
KNE

1
अगाडा में एक बहुत हस्केल जैसा सिंटैक्स है, और इंडेंटेशन और रिक्त स्थान दोनों के लिए संवेदनशील है: (x-y)ऐसा नहीं है (x - y)) भले ही यह ओपी के लिए पर्याप्त "व्यावहारिक" न हो।
चि

1
इसके अलावा, CoffeeScript और शायद ही ज्ञात कोकस्क्रिप्ट
Bergi

5
अगर YAML मायने रखता है, तो मुझे लगता है Makefiles के रूप में अच्छी तरह से होना चाहिए
Izkata

1
PureScript भी है ।
डुप्लोड

4

मेक अपने विवरण फिट बैठता है, भले ही यह शायद काफी नहीं क्या आपके मन में है अपने सीमित वाक्य रचना और शक्ति के साथ है।

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

किनारे पर मँडराता हुआ एक और उदाहरण है, ऐन्सिबल प्लेबुक । उन्हें YAML में निर्दिष्ट किया गया है , जो कि अत्यधिक इंडेंटेशन डिपेंडेंट है। YAML एक प्रोग्रामिंग भाषा नहीं है, लेकिन Ansible playbooks को डोमेन-विशिष्ट कार्यक्रमों के रूप में माना जा सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.