Vivasoft-logo

কম্পাইলার বনাম ইন্টারপ্রেটার

সহজ ভাষায় বললে, কম্পাইলার এবং ইন্টারপ্রেটার উভয়ই এমন এক ধরণের Translator প্রোগ্রাম যা আমাদের লেখা High Level ল্যাঙ্গুয়েজ কে Low Level ল্যাঙ্গুয়েজ অথবা Binary কোড এ রূপান্তর করে যাহা কম্পিউটার দারা বোধগম্য।কিন্তু কম্পাইলার এবং ইন্টারপ্রেটার দুটি ভিন্ন ভাবে কাজ করে। তাই তাদেরকে আলাদা নাম দেয়া হয়েছে।

কম্পাইলার
একটি কম্পাইলার একটি হাই লেভেল ল্যাঙ্গয়েজ কে লো লেভেল ল্যাঙ্গুয়েজে যেমন Assemble Language, Object Code অথবা Binary Code (0 and 1) এ একবারে translate করে. তারপরে টার্গেট প্রোগ্রাম টা  runnable হয়। সুতারং প্রোগ্রাম রান করার আগেই প্রোগ্রাম কে compile করে রাখা হয়। যেমন C, C++, C#, Java, etc. কম্পাইলার এর আবার অনেক রকম ধরণ রয়েছে।

 

053018 0616 CompilervsI1 e1642141249413 কম্পাইলার বনাম ইন্টারপ্রেটার

ইন্টারপ্রিটার
একটি ইন্টারপ্রেটার হাই লেভেল ল্যাঙ্গুয়েজ কে line by line translate করে যা শুধু টার্গেট প্রোগ্রাম রান করার সময় সম্পন্ন হয়। যেমন PHP, Python, JavaScript(basically), Perl, Ruby, etc. ইন্টারপ্রেটার এর ও অনেক ধরণ রয়েছে।

053018 0616 CompilervsI1 1 e1642141310310 কম্পাইলার বনাম ইন্টারপ্রেটার

 

কম্পাইলার এবং ইন্টারপ্রেটারের মধ্যে পার্থক্য 

যেহেতু ইন্টারপ্রেটার এবং কম্পাইলার ভিন্ন ভাবে কাজ করে, তাদের মধ্যে অনেক পার্থক্য রয়েছে। চলেন প্রধান পার্থক্ষগুলা দেখে নেই।

Compiler  Interpreter 
কম্পাইলার সম্পূর্ণ সোর্স কোড নিয়ে সেটা পুরোটা analyze করে ফাইনাল মেশিন কোড তৈরী করে. ইন্টারপ্রেটার reads লাইন by লাইন, analyze and এক্সেকিউট লাইন by লাইন।
কম্পাইল্ড কোড দ্রুত রান হয়। ইন্টারপ্রেটেড কোড একটু স্লোওলী রান হয়।
কম্পাইলার compile হবার সময় errors দেখায়। কোড এ errors  থাকলে compile হয়না। ইন্টারপ্রেটার কোড রান হওয়ার সময় errors দেখায়, যেহেতু ইন্টারপ্রেটার কোড রান হওয়ার সময় ট্রান্সলেট করে।
কম্পাইলার প্রথমে ইন্টারমিডিয়েট machine/object  code তৈরী করে। ইন্টারপ্রেটার কখনোই ইন্টারমিডিয়েট machine code বানায়না।
বেশি মেমোরি এর দরকার হয় যেহেতু ইন্টারমিডিয়েট অবজেক্ট কোড তৈরী করে। কম মেমোরি এর দরকার হয়।
একবার compile হবার পর আর কম্পাইলার এর দরকার নেই। বারবার ইন্টারপ্রেটার এর দরকার হয়, রান করার জন্য।

 

স্প্রিং সিকিউরিটিঃ আপনার অ্যাপ্লিকেশনের সুরক্ষায়

স্প্রিং সিকিউরিটিঃ আপনার অ্যাপ্লিকেশনের সুরক্ষায় যেকোন ওয়েব অ্যাপ্লিকেশন এর ক্ষেত্রে সিকিউরিটি একটি অত্যন্ত গুরুত্বপুর্ণ ব্যাপার। আমরা জানি ইন্টারনেট প্রচুর দুষ্ট লোকজন দিয়ে ভর্তি  । অনেক অনেক...

স্ট্রিং এর আদ্যোপান্ত

কম্পিউটার প্রোগ্রামিং এ বহুল পরিচিত আর ব্যবহৃত একটা বিষয় হল স্ট্রিং। এক কথায় স্ট্রিং হচ্ছে কতগুলো ক্যারেক্টার এর সিকুয়েন্স বা অনুক্রম।সহজ ভাষায় যখন বেশ কিছু  ক্যারেক্টার একসাথে মিলেমিশে কিছু একটা...

লোকাল স্টোরেজ এবং সেশন স্টোরেজ

localStorageএবং sessionStorage হল ওয়েব স্টোরেজ অবজেক্ট যা ব্রাউজারে কী/মান জোড়া সংরক্ষণ করার অনুমতি দেয়। তাদের সম্পর্কে যা মজার তা হল যে ডেটা একটি পেইজ রিফ্রেশ (এর জন্য sessionStorage) এবং এমনকি...

Elasticsearch কি এবং কেন?

আমরা যারা সফটওয়্যার ইঞ্জিনিয়ার বা যারা টেকনোলোজি নিয়ে কাজ করি বা যে যাই নিয়ে আছি না কেন, সবাই আমরা একটা কথায় একমত হব যে, প্রতিটা

Read More

মাইক্রোসার্ভিসের সিকিউরিটি ও সিঙ্গেল সাইন-অন/সাইন-আউট(SSO): IdentityServer4(OAuth2,OpenID Connect), ASP.NET Identity

আজ আমরা দেখব IdentityServer4(OAuth2,OpenID), ASP.NET Identity -র মাধ্যমে কিভাবে মাইক্রোসার্ভিসের সিকিউরিটি ও সিঙ্গেল সাইন-অন/সাইন-আউট(SSO) সুবিধা ইমপ্লিমেন্ট করা যায়। প্রথমে আমরা কিছু বেসিক জেনে নেই- OAuth2:

Read More