जब हम संकलित भाषा पर व्याख्या की गई भाषा का उपयोग करेंगे, उसके उदाहरण?


11

मैं व्याख्या की गई और संकलित भाषाओं के बीच के अंतर को समझता हूं, लेकिन अगर कोई ऐसी परिस्थितियों के कुछ उदाहरण प्रदान कर सकता है जब किसी को संकलित भाषाओं पर व्याख्या की गई भाषाओं का उपयोग करने की संभावना है, साथ ही ऐसी परिस्थितियां जब किसी की व्याख्या की गई भाषाओं पर संकलित भाषाओं का उपयोग करने की संभावना है, तो यह होगा वास्तव में मददगार हो।

जवाबों:


11

वहाँ (मेरी जानकारी के लिए) व्याख्यात्मक "भाषा" या संकलित "भाषा" जैसी कोई चीज नहीं है।

भाषाएं कोड के कीवर्ड्स के सिंटैक्स और अर्थ को निर्दिष्ट करती हैं, निर्माण और विभिन्न अन्य चीजों को प्रवाहित करती हैं, लेकिन मैं ऐसी किसी भाषा से अवगत नहीं हूं जो यह निर्दिष्ट करती है कि भाषा के नमूने में इसे संकलित किया जाना चाहिए या नहीं।

अब अगर आप सवाल करते हैं कि आप भाषा संकलक बनाम भाषा दुभाषिया का उपयोग करते हैं, तो यह वास्तव में समर्थक बनाम संकलक बनाम व्याख्याकार और परियोजना के उद्देश्य के लिए आता है।

उदाहरण के लिए, आप MRI रूबी दुभाषिया के बजाय जावा पुस्तकालयों के साथ आसान एकीकरण के लिए JRuby संकलक का उपयोग कर सकते हैं। JRuby पर MRI रूबी दुभाषिया का उपयोग करने के संभावित कारण भी हैं, मैं इस भाषा से अपरिचित हूं, हालांकि इस पर बात नहीं कर सकता।

दुभाषियों के टुटे हुए लाभ:

  • कोई संकलन का मतलब एडिटिंग कोड से ऐप के परीक्षण तक का समय कम नहीं हो सकता
  • एकाधिक आर्किटेक्चर के लिए बायनेरिज़ बनाने की आवश्यकता नहीं है क्योंकि दुभाषिया आर्किटेक्चर एब्स्ट्रैक्शन का प्रबंधन करेगा (हालांकि आपको पूर्णांक आकार को सही ढंग से संभालने वाली स्क्रिप्ट के बारे में चिंता करने की आवश्यकता हो सकती है, बस बाइनरी वितरण नहीं)

संकलक के टाउटेड लाभ:

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

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

इसलिए टीएल; डीआर मूल रूप से, आपके विशेष उपयोग के मामले के लिए दुभाषियों बनाम संकलक के मामले के आधार पर मामला है।

इसके अलावा, एफएफआई: विदेशी फ़ंक्शन इंटरफ़ेस, अन्य भाषाओं के साथ अंतर करने के लिए दूसरे शब्दों के इंटरफ़ेस में। विकिपीडिया पर अधिक पढ़ना


2
मेरी जानकारी के लिए, OS के लिए कुछ स्क्रिप्टिंग भाषाओं जैसे UNIX के लिए ksh को संकलित नहीं किया जा सकता है।
NoChance

@delnan, मेरी बात एक वाणिज्यिक या एक मुफ्त सॉफ़्टवेयर के माध्यम से संकलित नहीं की जा सकती है जो मुझे पता है, ऐसा नहीं है कि इसे तकनीकी कारणों से संकलित नहीं किया जा सकता है।
NoChance

3
@EmmadKareem "संकलित नहीं किया जा सकता है" जैसी कोई चीज नहीं है। आप एक प्रोग्राम लिखते हैं जो भाषा ली में एक प्रोग्राम पढ़ता है और भाषा ला में एक समान प्रोग्राम आउटपुट करता है। यह एक कंपाइलर है। मैं ट्यूरिंग पूर्णता तर्क को लागू करने में संकोच करता हूं क्योंकि यह अभ्यास में एक लाल हेरिंग है, लेकिन प्रत्येक कार्यक्रम अंततः मशीन कोड निर्देशों के अनुक्रम में बदल जाता है। यदि अन्य सभी विफल रहता है, तो दुभाषिया लूप को अनियंत्रित करें (और उन भागों को हटाने के लिए परिणामी कोड को सरल करें जिन्हें आपको और अधिक की आवश्यकता नहीं है)। यदि दुभाषिया बिना व्याख्याकार के भाषा में लिखा गया है, तब तक दोहराएं जब तक आप एक संकलक के साथ कुछ नहीं मारते हैं।

1
(मैंने अपनी टिप्पणी को वाक्यांश को बेहतर ढंग से लिखा, लेकिन जाहिर तौर पर मैंने बहुत देर से अभिनय किया।) @EmmadKareem हां, जाहिर है कि कुछ भाषाओं को एक संकलक के माध्यम से कभी लागू नहीं किया गया था। लेकिन मैं यह देखने में विफल हूं कि यह कैसे प्रासंगिक है। ऐसा करना हमेशा संभव और संभव है, और किसी भी समय कुछ प्रयास के साथ किया जा सकता है। यह मुख्य बिंदु का परिणाम है, जो यह है कि एक भाषा न तो स्वाभाविक रूप से संकलित होती है और न ही व्याख्या की जाती है, और इसे दोनों तरीकों से लागू किया जा सकता है। और एक अन्य तरीके से (ठीक है, यकीनन मामूली रूपांतर और रीमिक्स), वैसे।

2
@EmmadKareem यदि आप चाहते हैं कि आप ksh भाषा युक्ति ले सकते हैं और एक संकलक लिख सकते हैं जो इसे पढ़ता है और एक देशी बाइनरी उत्पन्न करता है। जिस भाषा को संकलित या व्याख्यायित किया जा रहा है वह भाषा की परिभाषा में नहीं है।
जिमी हॉफ़ा

8

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

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

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


2

सबसे पहले, एक प्रोग्रामिंग भाषा को व्याख्या और संकलित दोनों किया जा सकता है। व्याख्या और संकलन स्रोत कोड से निष्पादन योग्य कोड उत्पन्न करने के सिर्फ तरीके हैं। एक दुभाषिया के साथ स्रोत कोड को एक दुभाषिया द्वारा पढ़ा और व्याख्या किया जा रहा है जो तब कोड को निष्पादित करता है क्योंकि यह व्याख्या करता है। दूसरी ओर एक संकलक स्रोत कोड पढ़ता है और स्रोत कोड से एक निष्पादन योग्य बाइनरी फ़ाइल बनाता है - ताकि कार्यक्रम को स्वतंत्र रूप से एक अलग प्रक्रिया के रूप में चलाया जा सके।

अब इससे पहले कि कोई आश्चर्यचकित हो ... हां, C / C ++ / C # / Java की व्याख्या की जा सकती है, और हां, जावास्क्रिप्ट और बैश लिपियों को संकलित किया जा सकता है। इन भाषाओं के लिए काम करने वाले दुभाषिए या संकलक हैं या नहीं, हालांकि यह एक और सवाल है।

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

अंत में, जब एक के बाद एक पसंद करने के लिए किसी भी निश्चित उपयोग के मामलों का उल्लेख करना असंभव है , लेकिन उदाहरण के लिए एक (मेरी बहुत अवास्तविकता के लिए) मामला तब होगा जब प्रोग्राम स्रोत कोड प्रोग्राम इनवोकेशन और संकलन के ओवरहेड के बीच गतिशील रूप से बदलता है। उच्च यह व्यवहार्य विकल्प होने के लिए। उस मामले में संकलन के बजाय स्रोत कोड की व्याख्या करना संभवतः वांछनीय होगा।

हालांकि, कुछ ऐसा है जिसे वास्तविक दुनिया उदाहरण माना जा सकता है: तैनाती पर स्रोत कोड। मूल निवासी के साथसंकलित कोड डेवलपर प्रोग्राम और डेटा के निष्पादन योग्य macine कोड को दर्शाता है। व्याख्या किए गए कोड के साथ स्रोत कोड को स्वयं तैनात करना पड़ता है जो तब निरीक्षण किया जा सकता है और रिवर्स-इंजीनियर की गई बुद्धि को रिवर्स-इंजीनियर देशी मशीन कोड की तुलना में बहुत कम प्रयास होता है। इसका एक अपवाद सी # और जावा जैसी भाषाएं हैं जो तत्काल भाषा / बाइटकोड (एमएस # के लिए एमएसआईएल और जावा के लिए बाइटकोड) के लिए संकलित करती हैं जो तब तैनात होती हैं और "बस समय में" संकलित होती हैं, एक दुभाषिया की तरह। हालाँकि, MSIL और Java Bytecode के लिए तथाकथित डिकंपाइलर मौजूद हैं जो मूल स्रोत कोड को अपेक्षाकृत अच्छी सटीकता के साथ फिर से संगठित कर सकते हैं और जैसे कि रिवर्स-इंजीनियरिंग ऐसे उत्पाद रिवर्स-इंजीनियरिंग उत्पादों की तुलना में कहीं अधिक तुच्छ हैं जो देशी मशीन कोड में तैनात हैं।


1
आप अच्छे अंक बनाते हैं, लेकिन मैं जो पेडेंट हूं, मैं कुछ वाक्यांश (दोनों तीसरे पैराग्राफ का जिक्र करता हूं) के साथ मुद्दा लेता हूं: 1. एक दुभाषिया संकलन नहीं करता है। 2. यह एक खराब गैर-अनुकूलन संकलक के लिए एक उच्च अनुकूलित (एस्प-बाइटकोड-आधारित) दुभाषिया द्वारा पीटा जाने के लिए थकाऊ है (हालांकि ये स्थितियां दुर्लभ हैं)। यह दोगुना हो जाता है यदि आप व्याख्याताओं के तहत जेआईटी संकलक की गणना करते हैं (जो मैं करना पसंद नहीं करता, लेकिन कुछ लोग ऐसा करते हैं)।

@delnan शायद यह बुरी तरह से कहा जाता है, मैं एक देशी अंग्रेजी वक्ता नहीं हूं। हालाँकि, जहां तक ​​मैं बता सकता हूं तीसरा पैराग्राफ का अर्थ यह नहीं है कि एक दुभाषिया संकलन करेगा। दूसरे बिंदु के लिए, मैंने खराब संकलक बनाम उच्च-प्रदर्शन दुभाषिया के मामलों को बाहर करने के लिए संकलित और व्याख्या किए गए कोड की समानता के बराबर शब्द पर जोर दिया, शायद मैं इसके साथ स्पष्ट नहीं हो रहा था, हालांकि मैं इसे नहीं देखता हूं इस तरह के चरम मामलों की व्याख्या करने पर ध्यान देना उचित है क्योंकि यह संकलित करके या इसे पुनरावृत्त करके स्रोत कोड को निष्पादित करने के अंतर के बीच कुछ भी योगदान नहीं देता है
zxcdw

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

1

जब आप एक व्याख्या की गई भाषा का उपयोग करेंगे तो मैं निम्नलिखित परिदृश्यों के बारे में सोच सकता हूं :

  • जहां कोई संकलक मौजूद नहीं है, जैसे लिनक्स / यूनिक्स शैल स्क्रिप्ट
  • त्वरित और गंदी स्क्रिप्ट जो थोड़ी समस्या हल करती है
  • ऐसी भाषाएँ जो डायनेमिक HTML पेज लिखना आसान बनाती हैं और सामान्य रूप से व्याख्या की जाती हैं जैसे कि JSP (टॉमकैट इसे चलाने के लिए एक सर्वर प्रीविओ में संकलित करता है), PHP, ASP आदि।

जब आप अपना कोड संकलित करना चाहते हैं तो मैं निम्नलिखित परिदृश्यों के बारे में सोच सकता हूं :

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

3
एक भाषा दुभाषिया भाषा को कम दृढ़ता से टाइप नहीं करता है। हास्केल बहुत दृढ़ता से टाइप किया गया है और आप इसे प्रभावी ढंग से व्याख्या करने के लिए जीएचसीआई का उपयोग कर सकते हैं। मजबूत / कमजोर टाइपिंग एक भाषा के पहलू हैं, न कि संकलक या दुभाषिया के पहलू।
जिमी होफा

1
-1 संकलन के मुकदमों पर: (1) संकलन कोड रिवर्स इंजीनियरिंग के खिलाफ सुरक्षा नहीं करता है, यह सिर्फ इसे थोड़ा कठिन बनाता है। (2) संकलन (दुभाषिया ओवरहेड को हटाना, एप्लिकेशन कोड का स्वचालित अनुकूलन) प्रदर्शन का केवल एक स्रोत है, और एक मानव विशेषज्ञ द्वारा हाथ से किए गए बड़े पैमाने पर अनुकूलन से आगे निकल जाता है। (3) टाइप जाँच, जबकि आमतौर पर संकलन के साथ युग्मित होता है, यह स्वतंत्र है। एक प्रकार का चेकर एक स्थिर विश्लेषण पास है; यह कोड को छोड़ने के बिना और कोड की व्याख्या करने से पहले हो सकता है। (४) काफी सहज लगता है। आप "कल्पना नहीं कर सकते"? क्यों? यह कैसे आवश्यक है?

1
जब भी किसी अन्य कार्यक्रम में दुभाषिया होता है तो अन्य व्याख्या की गई भाषा मौजूद होती है। जब भी कोई दुभाषिया पैटर्न का उपयोग कर रहा है , तो कुछ जटिलता की व्याख्या की गई भाषा है।

3
"लिपियों" की व्याख्या आवश्यक नहीं है। कई "स्क्रिप्टिंग" भाषाओं को तब वर्चुअल मशीन के लिए बायटेकोड पर संकलित किया जाता है जिसे तब निष्पादित किया जाता है (देखें लुआ, पर्ल, पायथन, रूबी)। जब संकलन होता है, तो इसके अलावा और जावा के बीच कोई वास्तविक अंतर नहीं होता है।

3
+1, मुझे लगता है कि इस तरह का उत्तर ओपी के बाद वास्तव में था, और यद्यपि अंक 100% सच नहीं होंगे, लेकिन व्यावहारिक विचारों के लिए कम से कम 95% सच हैं।
डॉक्टर ब्राउन

1

अंत में, बड़ा व्यापार-बंद उत्पादकता (कोड की कितनी पंक्तियाँ आपको लिखनी है) और प्रदर्शन (आपके कार्यक्रम को कितनी तेजी से निष्पादित करेगा) के बीच है।

क्योंकि सीपीयू जानकारी में तब्दील होने पर व्याख्या की गई भाषाओं में अधिक जानकारी होती है, वे प्रतिबिंब और गतिशील टाइपिंग पर भरोसा कर सकते हैं जो उत्पादकता को बढ़ाते हैं । व्याख्या की गई भाषाओं का एक और लाभ यह है कि वे प्लेटफ़ॉर्म स्वतंत्र हैं इसलिए प्लेटफ़ॉर्म के लिए एक दुभाषिया है।

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

यह जानने के बाद, व्याख्या की गई भाषाएँ इसके लिए उपयुक्त हैं:

  1. उत्पादक विकास: तेजी से वेब विकास (PHP, जावास्क्रिप्ट) या प्रोटोटाइप के लिए।
  2. पार मंच; उदाहरण के लिए जावास्क्रिप्ट हर ब्राउज़र (मोबाइल ब्राउज़र सहित) में समर्थित है।

और संकलित भाषाएं उपयुक्त हैं जब:

  1. प्रदर्शन महत्वपूर्ण है (ऑपरेटिंग सिस्टम) या संसाधन दुर्लभ (माइक्रोकंट्रोलर) हैं।
  2. बनाए जाने वाले सिस्टम जटिल हैं; जब बड़े सिस्टम (एंटरप्राइज़ सिस्टम) का निर्माण किया जाता है तो संकलित भाषाएं कई संभावित बगों को संभालती हैं जो व्याख्या की गई भाषाओं में दिखाई दे सकती हैं; जटिल कार्यक्रमों में भी कई संसाधनों की आवश्यकता होती है और शेष संकलित भाषाओं को भी संतुलित करता है।

-1 क्योंकि आप का अर्थ है कि सभी व्याख्या की गई भाषाओं को गतिशील रूप से टाइप किया गया है और सभी संकलित भाषाओं को सांख्यिकीय रूप से टाइप किया गया है, जो पूरी तरह से असत्य है।
डैनियल प्रीडेन

@DanielPryden यह शुद्ध संयोग होना चाहिए, तथ्य यह है कि लगभग सभी व्याख्या की गई भाषाओं को गतिशील रूप से टाइप किया जाता है और संकलित लोगों को सांख्यिकीय रूप से टाइप किया जाता है? क्या यह संयोग है कि डायनामिक टाइप मॉडल व्याख्यायित भाषाओं के लिए उपयुक्त है?
m3th0dman

विभिन्न कारणों से, एक संबंध है, लेकिन यह एक आवश्यकता नहीं है। यह वास्तव में स्टैकऑवरफ्लो
डैनियल प्राइडेन

1
Erlang संकलित और गतिशील रूप से टाइप किया गया है। हस्केल को सांख्यिकीय रूप से टाइप किया गया है और इसे संकलित या व्याख्या किया जा सकता है
ज़ाचरी के

1
@ZacharyK Erlang में रन-टाइम सिस्टम है; हास्केल को अधिकांश मामलों (लिखित कार्यक्रमों) में संकलित किया गया है।
m3th0dman 12

1

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

यदि प्रोग्रामिंग भाषा का उपयोग संचार प्रोटोकॉल के रूप में किया जाता है , और जब प्रतिक्रिया विलंबता महत्वपूर्ण होती है, तो यह संकलन और किसी भी संभावित प्रीप्रोसेसिंग पर समय बर्बाद करने से बचने के लिए अधिक समझ में आता है।

यह एजेंट भाषाओं पर लागू होता है, उदाहरण के लिए, या कैसे, कहो, Tcl / Tk आमतौर पर उपयोग किया जाता है।

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

लगभग किसी भी अन्य संभावित उपयोग के मामले में, संकलन (या एक संकर दृष्टिकोण) एक बेहतर फिट है।

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