Difference between compiler and interpreter

कम्पाइलर और इंटरप्रेटर के बीच अंतर जानने के पहले हम यह जान लेते हैं की ये दोनों का क्या अर्थ है
Compiler
Compiler executable file बनाने के लिए Source Code को Machine code में translate करता है| ये code executable file के object code कहलाते है| Programmer इस executable object file को किसी दूसरे computer पर copy करने के पश्चात् execute कर सकते हैं| दूसरे शब्दों में Program एक बार Compile हो जाने के बाद स्वतंत्र रूप से executable file बन जाता है जिसको execute होने के लिए compiler की आवश्यकता नहीं होती है| प्रत्येक Programming language को Compiler की आवश्यकता होती हैं|
Interpreter

Interpreter एक प्रोग्राम होता हैं जो High level language में लिखे Program को Machine Language में बदलने का कार्य करता है Interpreter एक–एक Instruction को बारी-बारी से machine language को Translate करता है |यह High level language के Program के सभी instruction को एक साथ machine language में translate नहीं करता है|

Assembler

Assembler एक प्रोग्राम है जो Assembly language को machine language में translate करता है| इसके अलावा यह high level language को Machine language में translate करता है यह निमोनिक कोड (mnemonic code) जैसे- ADD, NOV, SUB आदि को Binary code में बदलता है|

Difference between compiler and interpreter

SNकम्पाइलर (Compiler) इंटरप्रेटर (Interpreter)
1किसी एक प्रोग्राम में लिखे पुरे source कोड को एक साथ हाई लेवल से मशीन लेवल में बदल देता है|प्रोग्राम में लिखी सभी लाइन्स का अनुवाद एक एक करके होता है|
2
प्रोग्राम की सभी सिंटेक्स एरर (Syntax error) को एक साथ बाद में बताता है|प्रोग्राम की सभी एरर को पंक्ति दर पंक्ति बताता है, अर्थात जब तक एरर किसी कमांड की एरर सही नहीं कर देते जब तक हमें अगली लाइन की एरर पता नहीं चलेगी|
3
सोर्स कोड को अनुवाद करने में समय और प्रोसेसिंग कम लगती है|सोर्स कोड को अनुवाद करने में समय ज्यादा लगता है |
4
इंटरमीडिएट ऑब्जेक्ट कोड उत्पन्न होता है, इसलिए इसमें मेमोरी का प्रयोग होता है|कोई इंटरमीडिएट ऑब्जेक्ट कोड उत्पन्न नहीं होता है, इसलिए यह मेमोरी का सही प्रयोग करता है|
5इसमे debugging करना आसान नहीं होता है|इसमे debugging करना आसान होता है|