कंपाइलर बनाम दुभाषिया
संकलक और दुभाषिया, दोनों मूल रूप से एक ही उद्देश्य की पूर्ति करते हैं। वे भाषा के एक स्तर को दूसरे स्तर पर परिवर्तित करते हैं। एक कंपाइलर उच्च स्तरीय निर्देशों को मशीनी भाषा में परिवर्तित करता है जबकि एक दुभाषिया उच्च स्तरीय निर्देश को कुछ मध्यवर्ती रूप में परिवर्तित करता है और उसके बाद, निर्देश निष्पादित होता है।
कंपाइलर
एक कंपाइलर को एक कंप्यूटर प्रोग्राम के रूप में परिभाषित किया जाता है जिसका उपयोग उच्च स्तरीय निर्देशों या भाषा को एक ऐसे रूप में परिवर्तित करने के लिए किया जाता है जिसे कंप्यूटर द्वारा समझा जा सके। चूंकि कंप्यूटर केवल बाइनरी नंबरों में ही समझ सकता है इसलिए गैप को भरने के लिए एक कंपाइलर का उपयोग किया जाता है अन्यथा मानव के लिए 0 और 1 फॉर्म में जानकारी ढूंढना मुश्किल होता।
पहले कंपाइलर साधारण प्रोग्राम होते थे जिनका इस्तेमाल सिंबल को बिट्स में बदलने के लिए किया जाता था। कार्यक्रम भी बहुत सरल थे और उनमें डेटा में हाथ से अनुवादित चरणों की एक श्रृंखला शामिल थी। हालाँकि, यह बहुत समय लेने वाली प्रक्रिया थी। तो, कुछ भागों को प्रोग्राम या स्वचालित किया गया था। इसने पहला कंपाइलर बनाया।
सरल वाले का उपयोग करके अधिक परिष्कृत अनुपालनकर्ता बनाए जाते हैं। प्रत्येक नए संस्करण के साथ, इसमें और अधिक नियम जोड़े जाते हैं और मानव प्रोग्रामर के लिए एक अधिक प्राकृतिक भाषा वातावरण बनाया जाता है। अनुपालन कार्यक्रम इस तरह से विकसित हो रहे हैं जिससे उनके उपयोग में आसानी होती है।
कुछ विशिष्ट भाषाओं या कार्यों के लिए विशिष्ट अनुपालनकर्ता हैं। शिकायतकर्ता एकाधिक या बहुस्तरीय पास हो सकते हैं। पहला पास उच्च स्तरीय भाषा को ऐसी भाषा में बदल सकता है जो कंप्यूटर भाषा के करीब हो। फिर आगे के पास इसे निष्पादन के उद्देश्य से अंतिम चरण में परिवर्तित कर सकते हैं।
दुभाषिया
उच्च स्तरीय भाषाओं में बनाए गए कार्यक्रमों को दो अलग-अलग तरीकों का उपयोग करके निष्पादित किया जा सकता है।पहला कंपाइलर का उपयोग है और दूसरा तरीका दुभाषिया का उपयोग करना है। उच्च स्तरीय निर्देश या भाषा को दुभाषिया द्वारा इंटरमीडिएट में परिवर्तित किया जाता है। दुभाषिया का उपयोग करने का लाभ यह है कि उच्च स्तरीय निर्देश संकलन चरण से नहीं गुजरता है जो एक समय लेने वाली विधि हो सकती है। तो, एक दुभाषिया का उपयोग करके, उच्च स्तरीय कार्यक्रम को सीधे निष्पादित किया जाता है। यही कारण है कि कुछ प्रोग्रामर छोटे सेक्शन बनाते समय दुभाषियों का उपयोग करते हैं क्योंकि इससे समय की बचत होती है।
लगभग सभी उच्च स्तरीय प्रोग्रामिंग भाषाओं में कंपाइलर और दुभाषिए होते हैं। लेकिन कुछ भाषाओं जैसे LISP और BASIC को इस तरह से डिज़ाइन किया गया है कि इनका उपयोग करके बनाए गए प्रोग्राम एक दुभाषिया द्वारा निष्पादित किए जाते हैं।
कंपाइलर और दुभाषिया के बीच अंतर
• एक शिकायतकर्ता उच्च स्तरीय निर्देश को मशीनी भाषा में परिवर्तित करता है जबकि एक दुभाषिया उच्च स्तरीय निर्देश को एक मध्यवर्ती रूप में परिवर्तित करता है।
• निष्पादन से पहले, पूरे कार्यक्रम को संकलक द्वारा निष्पादित किया जाता है जबकि पहली पंक्ति का अनुवाद करने के बाद, एक दुभाषिया इसे निष्पादित करता है।
• संकलन प्रक्रिया के बाद संकलक द्वारा त्रुटियों की सूची बनाई जाती है जबकि एक दुभाषिया पहली त्रुटि के बाद अनुवाद करना बंद कर देता है।
• एक स्वतंत्र निष्पादन योग्य फ़ाइल संकलक द्वारा बनाई जाती है जबकि हर बार व्याख्या किए गए प्रोग्राम द्वारा दुभाषिया की आवश्यकता होती है।