ए. अनुवादक की आवश्यकता:
कंप्यूटर केवल बाइनरी मशीन भाषा (0s और 1s) समझते हैं। उच्च-स्तरीय मानव-पठनीय कोड (स्रोत कोड) को मशीन-निष्पादन योग्य बाइनरी (ऑब्जेक्ट कोड) में अनुवादित किया जाना चाहिए।
बी. कंपाइलर बनाम दुभाषिया:
| मानदंड | कंपाइलर (जैसे, जावा `javac`, सी++) | इंटरप्रेटर (जैसे, पायथन, जावास्क्रिप्ट) |
|---|---|---|
| अनुवाद इकाई | संपूर्ण स्रोत प्रोग्राम का एक साथ अनुवाद करता है | अनुवाद करता है और निष्पादित करता है पंक्ति-दर-पंक्ति क्रमिक रूप से |
| निष्पादन गति | संकलन के बाद बहुत तेज | धीमी; प्रत्येक रन पर अनुवाद |
| त्रुटि रिपोर्टिंग | स्कैन करने के बाद सभी सिंटैक्स त्रुटियों को एक साथ प्रदर्शित करता है | पहली त्रुटि पर तुरंत रुक जाता है |
| इंटरमीडिएट फ़ाइल | एक स्वतंत्र ऑब्जेक्ट/बाइटकोड फ़ाइल उत्पन्न करता है | ऑब्जेक्ट फ़ाइल उत्पन्न नहीं करता है |