Thursday, August 3, 2017

প্রোগ্রামিং টার্ম নিয়ে কিছু কনফিউশানঃ ০১

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

আমরা যে কোড লিখি সেটাকে মেশিন ল্যাঙ্গুয়েজে পরিনত করার জন্য আমাদের একটা প্রোগ্রাম লাগে, যাকে আমরা বলি কম্পাইলার। কম্পাইলার আমাদের লেখা কোড গুলোকে byte code/বাইনারি কোড/মেশিন কোডে পরিনত করে দেয়এরপর মেশিন সহজেই ঐ কোড গুলো এক্সিকিউট করতে পারে। উদারহণঃ Turbo C, Gcc অতএব বলা যায় যে কম্পাইলার হলো একটি ইন্টারপ্রেটর
তবে ইন্টারপ্রেটরও এক ধরনের অনুবাদক। এটি সম্পুর্ন কোডকে অর্থাৎ সোর্স প্রোগ্রামকে মেশিন ল্যাঙ্গুয়েজে পরিবর্তন করে তারপর এক্সিকিউট করার পরিবর্তে একটি একটি করে ইন্সট্রাকশন প্রসেস করে। ইন্টারপ্রেটর দিয়ে অনুবাদ করা মেশিন ল্যাঙ্গুয়েজ প্রোগ্রাম কোথাও সেভ হয় না, বরং সঙ্গে সঙ্গে এক্সিকিউট হয়। তাই ইন্টারপ্রেটরের ধাপসংখা তুলনামুলকভাবে কম।
বর্তমানে অনেক জায়গায় কম্পাইলার ও ইন্টারপ্রেটর একসঙ্গে ব্যাবহার করা হয়।
এক কথায় কম্পাইলার সোর্স প্রোগ্রামকে low level language high level language এর মাঝামাঝি একটি ল্যাঙ্গুয়েজে অনুবাদ করে যা পরবর্তীতে ইন্টারপ্রেটর দ্বারা এক্সিকিউট করানো হয়।

    Low Level Language High Level Language কী?


কম্পিউটার শুধুমাত্র একটি মাত্র ভাষা নিয়ে থাকে আর তা হল বাইনারী। অর্থাৎ কম্পিউটার শূন্য আর এক ছাড়া কিছুই বোঝে না। তাকে কিছু বোঝতে গেলে অবশ্যই ০ বা ১ দিয়ে বোঝাতে হবে। কম্পিউটারের এই ভাষাকে আমরা মেশিন ল্যাঙ্গুয়েজ বলি। আমাদের জন্য মেশিন ল্যাঙ্গুয়েজে কোড করা খুব কঠিন, কারন মেশিন ল্যাঙ্গুয়েজ কোড শুধুমাত্র ০ আর ১ দিয়ে তৈরী। এদেরকে low level language বলা হয়। Low level language কম্পিউটার হার্ডওয়্যার এর জন্য উপযোগী, মানুষের জন্য নয়। মানুষের জন্য উপযোগী হল Higher level language, যাকে Source language ও বলা হয়ে থাকে। c++, java ইত্যাদি Higher level language এর উদাহরন

No comments:

Post a Comment