81 বার দেখা হয়েছে
"তথ্য ও প্রযুক্তি" বিভাগে করেছেন

1 টি উত্তর

0 জনের পছন্দ 0 জনের অপছন্দ
করেছেন

কম্পাইলার (Compiler) এবং ইন্টারপ্রেটার (Interpreter) উভয়ই কম্পিউটার প্রোগ্রাম যা একটি উচ্চ-স্তরের প্রোগ্রামিং ভাষা (যেমন C++, Python) থেকে লেখা সোর্স কোডকে কম্পিউটার দ্বারা বোঝা যায় এমন নিম্ন-স্তরের ভাষায় (যেমন মেশিন কোড) অনুবাদ করে। তবে তাদের কাজ করার পদ্ধতিতে কিছু মৌলিক পার্থক্য রয়েছে:

এখানে কম্পাইলার ও ইন্টারপ্রেটারের মৌলিক পার্থক্যগুলো একটি সারণীর মাধ্যমে তুলে ধরা হলো:



বৈশিষ্ট্যের ভিত্তি

কম্পাইলার (Compiler)

ইন্টারপ্রেটার (Interpreter)

অনুবাদ প্রক্রিয়া

সম্পূর্ণ সোর্স কোডকে একবারে মেশিন কোডে অনুবাদ করে।

সোর্স কোডকে লাইন বাই লাইন বা স্টেটমেন্ট বাই স্টেটমেন্ট অনুবাদ ও এক্সিকিউট করে।

এক্সিকিউশন (Execution)

প্রথমে পুরো প্রোগ্রাম অনুবাদ করে একটি এক্সিকিউটেবল ফাইল (যেমন, .exe ফাইল) তৈরি করে, তারপর সেই ফাইলটি চালানো হয়। অনুবাদ এবং এক্সিকিউশন দুটি আলাদা ধাপ।

সরাসরি সোর্স কোডকে অনুবাদ করে এবং তাৎক্ষণিকভাবে এক্সিকিউট করে। কোনো এক্সিকিউটেবল ফাইল তৈরি হয় না। অনুবাদ এবং এক্সিকিউশন একসাথে হয়।

সময় সাপেক্ষতা

অনুবাদ (compilation) করতে বেশি সময় লাগে, কারণ এটি পুরো কোড বিশ্লেষণ করে। কিন্তু একবার অনুবাদ হয়ে গেলে, এক্সিকিউশন অনেক দ্রুত হয়।

অনুবাদ (interpretation) করতে কম সময় লাগে, কারণ এটি লাইন বাই লাইন করে। কিন্তু সামগ্রিকভাবে এক্সিকিউশন কম্পাইল করা কোডের চেয়ে ধীর হয়।

ত্রুটি সনাক্তকরণ

প্রোগ্রামের সমস্ত ত্রুটি (syntax errors) একবারে কম্পাইল করার সময় দেখায়। ত্রুটি সমাধান না হওয়া পর্যন্ত প্রোগ্রাম রান করা যায় না।

ত্রুটি প্রতিটি লাইনে দেখা মাত্রই তা প্রদর্শন করে। একটি লাইনে ত্রুটি থাকলে সেই লাইনেই এক্সিকিউশন বন্ধ হয়ে যায় এবং ত্রুটি সমাধান না হওয়া পর্যন্ত পরের লাইনে যায় না।

ইন্টারমিডিয়েট কোড

সাধারণত একটি ইন্টারমিডিয়েট অবজেক্ট কোড বা মেশিন কোড ফাইল তৈরি করে।

কোনো ইন্টারমিডিয়েট কোড ফাইল তৈরি করে না।

সোর্স কোডের প্রয়োজনীয়তা

একবার কম্পাইল হয়ে গেলে, প্রোগ্রাম চালানোর জন্য সোর্স কোডের আর প্রয়োজন হয় না। শুধু এক্সিকিউটেবল ফাইলটিই যথেষ্ট।

প্রতিবার প্রোগ্রাম চালানোর জন্য সোর্স কোডের প্রয়োজন হয়।

মেমরি ব্যবহার

কম্পাইল করার সময় বেশি মেমরি ব্যবহার করে (ইন্টারমিডিয়েট কোড তৈরি করতে)। কিন্তু প্রোগ্রাম রান করার সময় কম মেমরি ব্যবহার করে, কারণ কম্পাইলারের প্রয়োজন হয় না।

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

উদাহরণ

C, C++, Java (JVM এর মাধ্যমে), Swift, Rust

Python, JavaScript, Ruby, PHP, Perl


এরকম আরও কিছু প্রশ্ন

3 টি উত্তর
1 টি উত্তর
20 এপ্রিল "ইন্টারনেট" বিভাগে প্রশ্ন করেছেন অমর
1 টি উত্তর
2 ডিসেম্বর, 2022 "তথ্য ও প্রযুক্তি" বিভাগে প্রশ্ন করেছেন Hasan·Islam
0 টি উত্তর
2 ডিসেম্বর, 2022 "তথ্য ও প্রযুক্তি" বিভাগে প্রশ্ন করেছেন Hasan·Islam
0 টি উত্তর
2 টি উত্তর

36,285 টি প্রশ্ন

35,495 টি উত্তর

1,742 টি মন্তব্য

3,816 জন সদস্য

Ask Answers সাইটে আপনাকে সুস্বাগতম! এখানে আপনি প্রশ্ন করতে পারবেন এবং অন্যদের প্রশ্নে উত্তর প্রদান করতে পারবেন ৷ আর অনলাইনে বিভিন্ন সমস্যার সমাধানের জন্য উন্মুক্ত তথ্যভাণ্ডার গড়ে তোলার কাজে অবদান রাখতে পারবেন ৷
16 জন অনলাইনে আছেন
0 জন সদস্য, 16 জন অতিথি
আজকে ভিজিট : 29398
গতকাল ভিজিট : 11338
সর্বমোট ভিজিট : 53534207
এখানে প্রকাশিত সকল প্রশ্ন ও উত্তরের দায়ভার কেবল সংশ্লিষ্ট প্রশ্নকর্তা ও উত্তর দানকারীর৷ কোন প্রকার আইনি সমস্যা Ask Answers কর্তৃপক্ষ বহন করবে না৷
...