Compiler এবং Interpreter এর মধ্যে পার্থক্য

কম্পাইলার (Compiler) :
কম্পাইলার এমন এক ধরনের কম্পিউটার প্রোগ্রাম বা প্রোগ্রাম-সমষ্টি যা কোন কম্পিউটার বিধিভাষা (উৎস ভাষা) থেকে অপর একটি কম্পিউটার বিধিভাষায় (লক্ষ্য ভাষা) টেক্সট অনুবাদ করে। সাধারণত কোন প্রোগ্রামের সোর্সকোড থেকে মেশিনকোডে রূপান্তরের কাজটি কম্পাইলার দিয়ে করা হয়ে থাকে। কোনো নির্দিষ্ট কম্পাইলার একটি মাত্র হাই লেভেল ভাষাকে মেশিন ভাষায় পরিণত করতে পারে।

যেমন- যে কম্পাইলার বেসিককে মেশিন ভাষায় অনুবাদ করতে পারে তা কিন্তু কোবলকে মেশিন ভাষায় অনুবাদ করতে পারে না।

ইন্টারপ্রেটার (Interpreter) :
Interpreter একটি প্রোগ্রাম যা প্রোগ্রামিং ভাষায় লেখা নির্দেশাবলী একজিকিউট করে। যা সোর্স কোড সরাসরি একজিকিউট করে। সোর্স কোডকে কার্যকরী অন্তর্বর্তী প্রতিনিধিত্বকারী কোন কোডে রূপান্তরিত করে এবং অবিলম্বে তা একজিকিউট করে। কম্পাইলার দিয়ে পূর্বের কম্পাইলকৃত কোড স্পষ্ট ভাবে একজিকিউট করে।

Compiler এবং Interpreter এর মধ্যে পার্থক্যঃ
Compiler এবং Interpreter এর মধ্যে অনেক ক্ষেত্রে মিল থাকলেও বেশির ভাগ ক্ষেত্রে তাদের মধ্যে অমিল রয়েছে। Compiler এবং Interpreter এর মধ্যে পার্থক্য নিম্নরূপ-

১। Compiler হলো দ্রুতগতি সম্পন্ন। অন্যদিকে Interpreter হলো ধীর গতি সম্পন্ন।

২। Compiler এক সাথে সকল নির্দেশকে যন্ত্র ভাষায় রূপান্তর করে থাকে। অন্যদিকে, Interpreter এক একটি নির্দেশকে যন্ত্র ভাষায় অনুবাদ করে থাকে।

৩। Compiler সম্মিলিত/সমবায় অনুবাদক প্রোগ্রাম। অন্যদিকে, Interpreter পর্যায়ক্রমিক অনুবাদক প্রোগ্রাম।

৪। Compiler করা কোন প্রোগ্রামের পরিবর্তন করতে হলে সম্পূর্ণ পদ্ধতিটির পুনরাবৃত্তি করতে হয়। অন্যদিকে, Interpreter করা কোন নির্দেশের পরিবর্তন করতে হয় না।

৫। Compiler এর ক্ষেত্রে প্রোগ্রাম কার্যকরী করার সময়ের মধ্যে অনুবাদের সময় ধরা হয় না। অন্যদিকে, Interpreter এর ক্ষেত্রে প্রোগ্রাম কার্যকারী করার সময়ের মধ্যে অনুবাদের সময় ধরা হয়।

৬। Compiler এর ক্ষেত্রে সমস্ত প্রোগ্রামকে স্থায়ীভাবে যন্ত্র ভাষায় রূপান্তর করে রাখা যায়। অন্যদিকে Interpreter এর ক্ষেত্রে সমস্ত প্রোগ্রামকে স্থায়ীভাবে যন্ত্র ভাষায় রূপান্তর করে রাখা যায় না।

৭। Compiler কোন একটি বেসিক প্রোগ্রামের কয়েকটি নির্দেশ যদি বার বার করার প্রয়োজন হয়, তাহলে কম্পাইলার দিয়ে নির্দেশগুলো একবার অনুবাদ করে কাজ শেষ হয়ে যায়।

অন্যদিকে, Interpreter কোন একটি বেসিক প্রোগ্রামের কয়েকটি নির্দেশ যদি বার বার করার প্রয়োজন হয়, তাহলে Interpreter দিয়ে নির্দেশগুলো একবার অনুবাদ করলে শেষ হয়ে যায় না, যে কয়বার করার কথা, সে কয়বারই ঐ প্রতিটি নির্দেশ অনুবাদ করতে হয়।

৮। একটি Compiler কেবলমাত্র একটি ভাষাকে অনুবাদ করতে পারে। অন্যদিকে একটি Interpreter একাধিক ভাষাকে অনুবাদ করতে পারে।

৯। Compiler সম্পূর্ণ প্রোগ্রামকে একবারে কম্পাইল করে। অন্যদিকে Interpreter প্রতিটি স্ট্যাটমেন্ট কে আলাদা আলাদাভাবে কম্পাইল করে।