মেশিন ভাষার সুবিধা ও অসুবিধাসমূহ অ্যাসেম্বলি ভাষা বর্ণনা কর মধ্যম স্তরের ভাষা বর্ণনা কর

বিভিন্ন প্রোগ্রামের ভাষা
প্রোগ্রাম রচনার সুবিধা ও বৈশিষ্ট্য এসকল বিষয়ের উপর ভিত্তি করে প্রোগ্রামিং ভাষা মূলত দুই ভাগে ভাগ করা
যায়। যথা:
১. লো-লেভেল ভাষা বা নি¤œ স্তরের ভাষা ও
২. হাই-লেভেল বা উচ্চ স্তরের ভাষা
নি¤œ স্তরের ভাষাকে আবার দুই ভাগে ভাগ করা যায় । যথা:
 মেশিন ভাষা ও
 অ্যাসেম্বলি ভাষা
৮.২.২ মেশিন ভাষা
কম্পিউটারে সবচেয়ে নিচের স্তরের ভাষা হলো মেশিন ভাষা । কম্পিউটারের নিজস্ব ভাষাকে মেশিন ভাষা বা নি¤œস্তরের
ভাষা বলা হয়। কম্পিউটারের মৌলিক ভাষা হলো এই নি¤œস্তরের ভাষা। এ ভাষায় বাইনারি সংখ্যা (১ এবং ০) অথবা
হেক্সাডেসিম্যাল পদ্ধতি ব্যবহার করে সবকিছু লেখা হয়। কম্পিউটার শুধুমাত্র মেশিন ভাষাই বুঝতে পারে। অন্য কোনো
ভাষায় প্রোগ্রাম রচনা করা হলে কম্পিউটার কার্যনির্বাহের আগে উপযুক্ত অনুবাদকের সাহায্যে তাকে মেশিনের ভাষায়
পরিণত করে নেয়। কম্পিউটারের অভ্যন্তরীণ কার্যনির্বাহের জন্য বিদ্যুৎ তরঙ্গের পারস্পরিক ক্রিয়া-প্রতিক্রিয়ার সাথে
মেশিনের ভাষার সরাসরি মিল রয়েছে। শুধুমাত্র ০ এবং ১ দিয়ে এ ভাষায় প্রোগ্রাম লিখা হয় যা অত্যন্ত জটিল ও শ্রমসাধ্য ব্যাপার। এ সকল কারণে মেশিন ভাষাকে লো-লেভেল ল্যাঙ্গুয়েজ বা নি¤œস্তরের ভাষা বলা হয়। মেশিন ভাষার সুবিধা
১। এই ভাষা দিয়ে সরাসরি মেমোরি অ্যাড্রেসের সাথে সংযোগ সাধন সম্ভব।
২। সবচেয়ে কম পরিমাণ লজিক ও কম মেমোরিতে এই ভাষায় লিখিত প্রোগ্রাম নির্বাহ করা যায়।
৩। এ ভাষায় লিখিত প্রোগ্রাম নির্বাহের জন্য অনুবাদক প্রোগ্রাম দরকার হয় না।
৪। মেশিন ভাষা অন্যান্য ভাষা থেকে দ্রæত কাজ করে।
মেশিন ভাষার অসুবিধা
১। এই ভাষায় প্রোগ্রাম লেখা অত্যন্ত ক্লান্তিকর ও সময়সাপেক্ষ।
২। এক ধরনের মেশিনের জন্য লিখিত প্রোগ্রাম অন্য ধরনের মেশিনে ব্যবহার করা যায় না।
৩। মেশিন ভাষায় প্রোগ্রাম লিখতে দক্ষ প্রোগ্রামার প্রয়োজন।
৪। প্রোগ্রামের ভুল-ত্রæটি সনাক্ত ও সংশোধন কষ্টসাধ্য।
৮.২.৩ অ্যাসেম্বলি ভাষা
অ্যাসেম্বলি ভাষা হচ্ছে মেশিন ভাষার পরবর্তী প্রোগ্রামের ভাষা। মেশিন ভাষার সীমাবদ্ধতা দূর করার জন্য পঞ্চাশের
দশকে অ্যাসেম্বলি ভাষার প্রচলন শুরু হয়। এই ভাষা দ্বিতীয় প্রজন্মের কম্পিউটারে ব্যবহার করা হতো যা মেশিনের ভাষা
থেকে উন্নত, সংক্ষিপ্ত এবং ব্যবহারকারীর জন্য সহজবোধ্য। অ্যাসেম্বলি ভাষাকে মেশিনের ভাষায় রূপান্তরিত করার জন্য
অ্যাসেম্বলার নামক এক ধরনের ট্রান্সলেটর বা অনুবাদক প্রোগ্রাম ব্যবহার করা হয়। অ্যাসেম্বলি ভাষা বিভিন্ন সংকেতের
সমন্বয়ে লেখা হয়ে থাকে। এজন্য অ্যাসেম্বলি ভাষাকে সাংকেতিক ভাষাও ( বলা হয়। কারণ অ্যাসেম্বলি ভাষার ক্ষেত্রে নির্দেশ ও ডাটার অ্যাড্রেস বাইনারি বা হেক্সাডেসিম্যাল সংখ্যার সাহায্যে না দিয়ে বিভিন্ন
সংকেতের সাহায্যে দেয়া হয়। যথা- অউউ, ঝটই, গটখ, উওঠ, ঔগচ, ওঘচ, ঙটঞ ইত্যাদি। এগুলোকে অপকোড বা
অপারেশন কোড বলে। নিচে কিছু অপকোডের কাজ দেয়া হল: নির্দেশ অর্থ
অউউ প্রধান মেমোরির নির্দিষ্ট অবস্থানের সংখ্যা অ্যাকুমুলেটরের সংখ্যার সঙ্গে যোগ করে যোগফল অ্যাকুমুলেটরে রাখার কমান্ড।
ঝটই প্রধান মেমোরি নির্দিষ্ট অবস্থানের সংখ্যা অ্যাকুমুলেটরের সংখ্যা থেকে বিয়োগ করে বিয়োগফল অ্যাকুমুলেটরে
রাখার কমান্ড। গটখ গুণ করার নির্দেশ।
উওঠ প্রধান মেমোরি নির্দিষ্ট অবস্থানের সংখ্যা অ্যাকুমুলেটরের সংখ্যাকে ভাগ করে ভাগফল অ্যাকুমুলেটরে রাখার কমান্ড।
অ্যাসেম্বলি ভাষার সুবিধা
১। মেশিনের ভাষার মতো দক্ষ ও সংক্ষিপ্ত প্রোগ্রাম রচনা সম্ভব।
২। মেশিনের ভাষার তুলনায় এ ভাষায় প্রোগ্রাম রচনা তুলনামূলক সহজ।
৩। মেশিনের ভাষার তুলনায় ডিবাগিং সহজতর।
অ্যাসেম্বলি ভাষার অসুবিধা
১। মেশিনের অভ্যন্তরীণ গঠন সম্পর্কে ধারণা থাকতে হবে।
২। এই ভাষার প্রোগ্রাম মেশিনের সংগঠনের উপর নির্ভরশীল।
৩। এই ভাষায় প্রোগ্রাম লেখা যথেষ্ট ক্লান্তিকর ও সময় সাপেক্ষ।
৪। এ ভাষায় লিখিত প্রোগ্রাম নির্বাহের জন্য অনুবাদক প্রোগ্রামের প্রয়োজন হয়।
৮.২.৪ মধ্যম স্তরের ভাষা
যে প্রোগ্রামিং ভাষার মধ্যে লো-লেভেল ও হাই-লেভেল উভয় ভাষার বৈশিষ্ট্য বিদ্যমান তাকে মধ্যম স্তরের ভাষা বলে।
কম্পিউটারের হার্ডওয়্যার নিয়ন্ত্রণ ও সিস্টেম প্রোগ্রাম রচনার জন্য বিট পর্যায়ের প্রোগ্রামিং ভাষা হচ্ছে মধ্যম স্তরের ভাষা।
এ ভাষায় উচ্চতর ভাষার সুবিধা পাওয়া যায়। আবার নি¤œস্তরের ভাষায়ও প্রোগ্রাম রচনা করা যায়।
মধ্যমস্তরের ভাষার সুবিধা
১. এই ভাষায় লিখিত প্রোগ্রাম বোঝা প্রোগ্রামারদের কাছে সহজসাধ্য।
২. একবার লিখিত প্রোগ্রাম পরবর্তীতে পরিবর্তিত করা সহজ।
৩. ভুল হওয়ার সম্ভাবনা কম থাকে।
মধ্যমস্তরের ভাষার অসুবিধা
১. অনুবাদক প্রোগ্রামের প্রয়োজন হয়।
২. প্রোগ্রাম নির্বাহ করতে মেশিন ভাষার তুলনায় বেশি সময় লাগে।
৩. উচ্চতর ভাষার তুলনায় এই ভাষা কঠিন।
মেশিন ভাষা ও অ্যাসেম্বলি ভাষার মধ্যে পার্থক্য লিখুন।
সারসংক্ষেপ
কম্পিউটারে সবচেয়ে নি¤œ স্তরের ভাষা হল মেশিন ভাষা। মেশিন ভাষায় প্রোগ্রাম লিখতে দক্ষ প্রোগ্রামার প্রয়োজন। আর
অ্যাসেম্বলি ভাষা হচ্ছে মেশিন ভাষার পরবর্তী প্রোগ্রামের ভাষা। এই ভাষা দ্বিতীয় প্রজন্মের কম্পিউটারে ব্যবহার করা
হতো যা মেশিনের ভাষা থেকে উন্নত, সংক্ষিপ্ত এবং ব্যবহারকারীর জন্য সহজবোধ্য। অন্যদিকে যে প্রোগ্রামিং ভাষার
মধ্যে লো-লেভেল ও হাই-লেভেল উভয় ভাষার বৈশিষ্ট্য বিদ্যমান তাকে মধ্যম স্তরের ভাষা বলে।
পাঠোত্তর মূল্যায়ন-৮.২
সঠিক উত্তরের পাশে টিক () চিহ্ন দিন
১। কম্পিউটারের নিজস্ব ভাষা কোনটি?
ক) মেশিন ভাষা খ) অ্যাসেম্বলি
গ) উচ্চ স্তরের ভাষা ঘ) সবগুলো
২। অপকোড বা অপারেশন কোড কোনটি ?
ক) অউউ খ) ঝটই
গ) উওঠ ঘ) সবগুলো