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