কম্পাইলার এবং ইন্টারপ্রেটার হলো প্রোগ্রামিং ভাষা থেকে মেশিন ভাষায় কোড অনুবাদ করার দুটি ভিন্ন পদ্ধতি। কম্পাইলার ও ইন্টারপ্রেটার প্রোগ্রামের কোডকে বুঝতে এবং তা চালানোর জন্য কম্পিউটারে উপযোগী মেশিন ভাষায় রূপান্তর করে।
কম্পাইলার (Compiler)
কম্পাইলার একটি সফটওয়্যার প্রোগ্রাম, যা প্রোগ্রামের সম্পূর্ণ সোর্স কোড (source code) একবারে মেশিন কোডে অনুবাদ করে। এর ফলে একটি এক্সিকিউটেবল ফাইল (যেমন: .exe) তৈরি হয়, যা সরাসরি কম্পিউটারে চালানো সম্ভব।
কম্পাইলারের বৈশিষ্ট্য:
- একবারে সম্পূর্ণ কোড অনুবাদ করে: পুরো কোড একবারে মেশিন ভাষায় রূপান্তরিত করে।
- গতি: একবার কম্পাইল করার পর কোড চালানো দ্রুত হয়।
- ত্রুটি শনাক্তকরণ: পুরো কোড কম্পাইল করার সময় একবারেই সমস্ত ত্রুটি চেক করে এবং রিপোর্ট করে।
- এক্সিকিউটেবল ফাইল তৈরি: কম্পাইল করার পর আলাদা একটি ফাইল তৈরি হয়, যা কম্পাইলার ছাড়াই চালানো যায়।
উদাহরণ:
C, C++, এবং Java এর মতো ভাষা সাধারণত কম্পাইলার ব্যবহার করে কোড অনুবাদ করে।
কাজের প্রক্রিয়া:
- সোর্স কোড ইনপুট হিসেবে নেয়।
- কোড কম্পাইল করে এবং ত্রুটি থাকলে রিপোর্ট করে।
- মেশিন কোডে অনুবাদ করা ফাইল তৈরি করে, যা সরাসরি রান করা যায়।
ইন্টারপ্রেটার (Interpreter)
ইন্টারপ্রেটার হলো একটি প্রোগ্রাম, যা সোর্স কোডের এক এক লাইন করে পড়ে এবং তা সঙ্গে সঙ্গে এক্সিকিউট করে। এটি একসাথে পুরো কোড অনুবাদ না করে, লাইন বাই লাইন অনুবাদ করে চলে, এবং কোনো ত্রুটি পেলে সেখানেই থেমে যায়।
ইন্টারপ্রেটারের বৈশিষ্ট্য:
- লাইন বাই লাইন এক্সিকিউট করে: কোডের প্রতিটি লাইন একবারে অনুবাদ ও এক্সিকিউট করে।
- ধীরগতি: পুরো কোড একবারে অনুবাদ না হওয়ায় রান টাইমে ধীরে কাজ করে।
- ত্রুটি শনাক্তকরণ: ত্রুটি পাওয়ার সঙ্গে সঙ্গে সেটি রিপোর্ট করে, তবে একবারে পুরো কোড চেক করে না।
- এক্সিকিউটেবল ফাইল তৈরি করে না: ইন্টারপ্রেটারের জন্য আলাদা ফাইল তৈরি হয় না; বরং প্রতিবার চালানোর সময় ইন্টারপ্রেটার ব্যবহার করতে হয়।
উদাহরণ:
Python, JavaScript, এবং Ruby এর মতো ভাষাগুলি সাধারণত ইন্টারপ্রেটার ব্যবহার করে।
কাজের প্রক্রিয়া:
- সোর্স কোড ইনপুট হিসেবে নেয়।
- এক এক লাইন করে অনুবাদ ও চালায়।
- ত্রুটি পেলে তৎক্ষণাৎ থেমে যায় এবং ত্রুটির রিপোর্ট করে।
কম্পাইলার এবং ইন্টারপ্রেটারের মধ্যে পার্থক্য
| বৈশিষ্ট্য | কম্পাইলার | ইন্টারপ্রেটার |
|---|---|---|
| অনুবাদের পদ্ধতি | একবারে পুরো কোড অনুবাদ করে | লাইন বাই লাইন অনুবাদ করে |
| গতি | দ্রুত, একবার কম্পাইল করার পর দ্রুত রান হয় | ধীর, প্রতিবার চালানোর সময় অনুবাদ করা হয় |
| ত্রুটি সনাক্তকরণ | পুরো কোড একবারে চেক করে এবং ত্রুটি রিপোর্ট করে | ত্রুটি পাওয়া মাত্র রিপোর্ট করে |
| এক্সিকিউটেবল ফাইল | তৈরি করে | তৈরি করে না |
| উদাহরণ ভাষা | C, C++, Java | Python, JavaScript, Ruby |
উপসংহার
কম্পাইলার এবং ইন্টারপ্রেটার উভয়ই প্রোগ্রামের সোর্স কোডকে মেশিন ভাষায় অনুবাদ করে, তবে তাদের কাজের পদ্ধতি ভিন্ন। কম্পাইলার পুরো কোড একবারে অনুবাদ করে এক্সিকিউটেবল ফাইল তৈরি করে, যা দ্রুত রান হয়। অন্যদিকে, ইন্টারপ্রেটার লাইন বাই লাইন অনুবাদ করে এবং প্রতিবার চালানোর সময় ইন্টারপ্রেটারের প্রয়োজন হয়।
Read more