কম্পিউটার প্রোগ্রামের ভাষা সমূহ - Nishibd.com | Know For Sharing

কম্পিউটার প্রোগ্রামের ভাষা সমূহ

কম্পিউটারের ভাষাঃ
আমরা সবাই জানি কম্পিউটার একটি ইলেক্ট্রনিক যন্ত্র। কম্পিউটার নিজে থেকে কোন কাজই করতে পারেনা। ব্যবহারকারীর দেয়া তথ্য উপাত্ত ও নির্দেশাবলীর মাধ্যমে কম্পিউটার কাজ করে থাকে। এই পৃথিবীতে আমরা সংখ্য মানুষ বাস করি এবং আমাদের মনের ভাব প্রকাশ করার ভাষাটাও একেক ধরনের ভিন্ন ভিন্ন। কম্পিউটার আমাদের কোন ভাষা বোঝেনা।কম্পিউটারকে কেবল তার বোধগম্য প্রোগ্রামের ভাষায় বুঝিয়ে দিলেই সে বুঝতে পারে এবং সে অনুযায়ী কাজ করে দিতে পারে। কম্পিউটার একটি যন্ত্র তাই সে যান্ত্রিক ভাষা (বাইনারি '০' এবং '১') বোঝে শব্দ,বর্ণ,অংক,সংকেত ইত্যাদি মাধ্যমে কম্পিউটারকে নির্দেশ প্রদান করা হয়। তাই কম্পিউটারকে নির্দেশ প্রদান করার জন্য ব্যবহৃত ভাষাসমূহকে প্রোগ্রামের ভাষা বা কম্পিউটারের ভাষা বলে।
কম্পিউটারকে প্রোগ্রামিং এর ভাষায় নির্দেশ প্রদানের মাধ্যমেই নানা ধরনের জটিল ও কঠিন কাজগুলো খুব সহজেই করা হয়। 


কম্পিউটারের প্রোগ্রামের ভাষাসমুহকে মোট পাঁচটি স্তরে ভাগ করা হয়েছে।নিচে তা আলোচনা করা হলঃ

ক. যান্ত্রিক বা মেশিন ভাষাঃ
কম্পিউটারের মূল বা নিজেস্ব ভাষা হল যান্ত্রিক ভাষা। কম্পিউটারে অনেকগুলো ভাষায় প্রোগ্রাম রচনা করা যায়। তবে যেই  ভাষাতেই প্রোগ্রাম রচনা করা হোক না কেন শেষ পর্যন্ত যান্ত্রিক ভাষায় প্রোগ্রামকে রুপান্তর করে কম্পিউটাকে বুঝিয়ে দিতে হয়। যান্ত্রিক ভাষা বাইনারি সংখ্যা '০' এবং '১' এই দুটি গাণিতিক সংখ্যা দ্বারা তৈরি। যান্ত্রিক ভাষায় রচনা করা প্রোগ্রাম  খুব সংক্ষিপ্ত হয়ে থাকে। যান্ত্রিক ভাষায় রচনা করা প্রোগ্রাম সমূহ কম্পিউটার খুব সহজে বুঝতে পারে এবং পড়তে খুব কম সময় নেয়। যান্ত্রিক ভাষার যাবতীয় নির্দেশ সমূহ বাইনারীতে লিখে কম্পিউটারকে নির্দেশ প্রদান করা হয়। তাই এ যান্ত্রিক ভাষায় প্রোগ্রাম তৈরি করা খুবই জটিল বিষয়। একেক কম্পিউটারে যান্ত্রিক ভাষার ব্যবহার একেক রকম তাই এক কম্পিউটারের জন্য যান্ত্রিক ভাষায় প্রোগ্রাম রচনা করা হলে সেটি আর অন্য কম্পিটারে ব্যবহার করা যায়না।


যান্ত্রিক বা মেশিন ভাষার সুবিধা সমূহঃ
১. যান্ত্রিক ভাষায় যেকোন প্রোগ্রাম সংক্ষিপ্ত আকারে লেখা যায়।
২. যান্ত্রিক ভাষায় লিখত প্রোগ্রাম সমূহ কম্পিউটার খুব কম সময়ে পড়তে পারে।
৩. যান্ত্রিক ভাষায় লিখিত যেকোন প্রোগ্রাম অন্যান্য ভাষা অপেক্ষা খুব দ্রুতগতির হয়ে থাকে।


যান্ত্রিক বা মেশিন ভাষার অসুবিধা সমূহঃ
১. এ ভাষায় যেকোন প্রোগ্রাম লিখতে গেলে অনেক সময়ের প্রয়োজন হয়।
২. এক কম্পিউটারের জন্য যান্ত্রিক ভাষায় প্রোগ্রাম রচনা করা হলে সেই প্রোগ্রাম অন্য কম্পিউটারে ব্যবহার করা যায়না।
৩. যান্ত্রিক ভাষায় লিখিত প্রোগ্রামের ভূল শনাক্ত করা অনেকটা কষ্টসাধ্য ব্যাপার।
৪. যান্ত্রিক ভাষায় প্রোগ্রাম রচনার ক্ষেত্রে দক্ষ প্রোগ্রামারের প্রয়োজন নতুবা এই ভাষায় প্রোগ্রাম লেখা অসম্ভ।


খ. অ্যাসেম্বলি ভাষাঃ
যান্ত্রিক ভাষায় প্রোগ্রাম রচনা করা অনেক কষ্টসাধ্য ব্যাপার ছিল। তাই এ সমস্যা সমাধানের জন্য ১৯৫০ সাল থেকে এ ভাষার ব্যবহার শুরু হয়। দ্বিতীয় প্রজন্মের কম্পিউটারে অ্যাসেম্বলি ভাষার ব্যবহার করা হত। অ্যাসেম্বলি ভাষার উন্নয়নের ফলে যান্ত্রিক ভাষার তুলনায় এই ভাষায় আরো সহজে প্রোগ্রাম রচনা করা যায়। ফলে প্রোগ্রাম রচনা আরো অনেক সহজ হয়ে যায়।


অ্যাসেম্বলি ভাষার সুবিধা সমূহঃ
১. অ্যাসেম্বলি ভাষায় যেকোন প্রোগ্রাম রচনা করতে খুব কম সময় লাগে।
২. অ্যাসেম্বলি ভাষায় রচনা করা প্রোগ্রামের খুব সহজেই যেকোন ভূল ধরা যায়।
৩. এ ভাষার যে কোন প্রোগ্রাম রচনা করা যান্ত্রিক ভাষার চেয়ে তুলনামূলক অনেক সহজ।
৪. অ্যাসেম্বলি ভাষায় রচনা করা প্রোগ্রামের যে কোন পরিবর্তন করা যায়।


অ্যাসেম্বলি ভাষার অসুবিধা সমূহঃ
১. অ্যাসেম্বলি ভাষায় প্রোগ্রাম রচনার প্রোগ্রামার উক্ত কম্পিউটার সংগঠন বা মেশিন সম্পর্কে ভালো ধারনা থাকতে হবে নতুনা এই ভাষায় প্রোগ্রাম রচনা করা সম্ভব নয়।
২. অ্যাসেম্বলি ভাষা দিয়ে কোন কম্পিউটাররের জন্য প্রোগ্রাম রচনা করা হলে সেই প্রোগ্রাম অন্যকোন কম্পিউটারে ব্যবহার করা যায়না।
৩. অ্যাসেম্বলি ভাষায় লিখিত প্রোগ্রাম সমূহ মেশিন নির্ভর হয়ে থাকে।


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



হাই লেভেল বা উচ্চ স্তরের ভাষার সুবিধা সমূহঃ
১. হাই লেভেল বা উচ্চ স্তরের ভাষা কম্পিউটার সংগঠন বা মেশিন নির্ভর নয়।
২. যান্ত্রিক ভাষা ও অ্যাসেম্বলি ভাষার চেয়ে এ ভাষায় প্রোগ্রাম রচনা করা খুব সহজ।
৩. হাই লেভেল বা উচ্চ স্তরের ভাষায় যে কোন প্রোগ্রাম খুব দ্রুত লেখা যায়।
৪. হাই লেভেল বা উচ্চ স্তরের ভাষা রচনা করা হয় ইংরেজি ভাষা দিয়ে। তাই সাধারণ ইংরেজি জানা ব্যক্তিও এই ভাষায় খুব সহজে প্রোগ্রাম রচনা করতে পারে।
৫. হাই লেভেল বা উচ্চ স্তরের ভাষায় প্রোগ্রাম রচনার ক্ষেত্রে কম্পিউটার সংগঠন বা মেশিন সম্পর্কে ধারনা রাখার প্রয়োজন হয় না।
৫. লো লেভেলের ভাষা অর্থাৎ যান্ত্রিক ও অ্যাসেম্বলি ভাষার চেয়ে হাই লেভেল বা উচ্চ স্তরের ভাষায় প্রোগ্রাম শেখা অনেক সহজ।
৭. লো লেভেলের ভাষা অর্থাৎ যান্ত্রিক ও অ্যাসেম্বলি ভাষায় যেখানে ৮-১০ নির্দেশ দিতে হয় সেখানে হাই লেভেল বা উচ্চ স্তরের ভাষায় ১-২ টি বাক্য লিখলেই চলে।
৮. হাই লেভেল বা উচ্চ স্তরের ভাষায় কোন প্রোগ্রাম রচনা করা হলে তা সব কম্পিউটার বা মেশিনে ব্যবহার করা যায়।
৯. হাই লেভেল বা উচ্চ স্তরের ভাষায় সংখ্য লাইব্রেরি প্রোগ্রামের সুবিধা পাওয়া যায়।


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


ঘ. অতি উচ্চস্তরের ভাষাঃ
অতি উচ্চস্তরের ভাষা উচ্চস্তরের ভাষা অপেক্ষা আরো উন্নত ভাষা।অতি উচ্চস্তরের ভাষায় লিখিত প্রোগ্রাম সমূহ সকল কম্পিউটারে ব্যবহার করা যায়। এধনের ভাষা দিয়ে ডেটাবেস প্রোগ্রাম সমূহ তৈরি করা হয়। অতি উচ্চস্তরের ভাষা এটি একটি জটিল ভাষা। তাই দক্ষ প্রোগ্রামার ছাড়া এই ভাষায় প্রোগ্রাম রচনা করা সম্ভব নয়।


ঙ. স্বাভাবিক বা ন্যাচারাল ভাষাঃ
মানুষ তার দৈনন্দিন জীবনে স্বাভাবিক ভাষার সাহায্যে মনের ভাব প্রকাশ প যোগাযোগ স্থাপন করে থাকে। স্বাভাবিক ভাষা দুই ধরণের একটি মুখের ভাষা যা মানুষ যোগাযোগ স্থাপন করতে ব্যবহার করে অপরটি কম্পিউটার প্রোগ্রামিং এর ভাষা। মানুষের ভাষার সাহায্যে কম্পিউটারের সাথে সম্পর্ক স্থাপনের জন্য স্বাভাবিক বা ন্যাচারাল ভাষার উন্নয় সাধন করা হচ্ছে। স্বাভাবিক বা ন্যাচারাল ভাষা সমূহ অন্যান্য প্রোগ্রামিং ভাষার জটিলতা সমূহ দূর করে মানুষের স্বাভাবিক ভাষার সাহায্যে কম্পিউটার দ্বারা প্রোগ্রাম রচনা করে থাকে। এধনের ভাষা তৈরির জন্য নানা দেশে গবেষণা চলছে। কম্পিউটার বাইনারি ভাষা অর্থাৎ মেশিনের ভাষা ছাড়া কিছুই বোঝেনা। তাই এধরনের ভাষাকে কম্পিউটারে বোধগম্য করার জন্য কম্পাইলার ও ইন্টারপ্রেটার নামে অনুবাদক প্রোগ্রাম ব্যবহার করা হয়।


অনুবাদক প্রোগ্রাম কিঃ
কম্পিউটার একটি যন্ত্র। কম্পিউটার মানুষের কোন ভাষা বোঝে না। কম্পিউটারকে কেবল তার দেয়া প্রোগ্রামের ভাষায় নির্দেশ প্রদান করলেই বুঝতে পারে। আমরা জানি কম্পিউটারের আদি ভাষা বাইনারী '০' এবং '১'। অন্য কোন ভাষায় প্রোগ্রাম রচনা করা হলে তা অনুবাদক প্রোগ্রাম দিয়ে কম্পিউটারকে বোধগম্য করার জন্য কম্পিউটারের বাইনারী ভাষা '০' এবং '১' বা যান্ত্রিক ভাষায় রুপান্তর করতে হয়। আর যে প্রোগ্রামের সাহায্যে উৎস প্রোগ্রাম অর্থাৎ উচ্চস্তর বা অ্যাসেম্বলি ভাষায় রচিত প্রোগ্রামকে মেশিন বা যান্ত্রিক ভাষায় অনুবাদ করে বস্তু প্রোগ্রামে রুপান্ত করে তাকে অনুবাদক প্রোগ্রাম বলে।


অনুবাদক প্রোগ্রাম তিন প্রকারঃ 
১. কম্পাইলার।
২. ইন্টারপ্রেটার।
৩. অ্যাসেম্বলার

১. কম্পাইলারঃ
কম্পাইলার উচ্চস্তরের ভাষায় লিখিত উৎস প্রোগ্রামকে বস্তু প্রোগ্রামে রুপান্তর করে থাকে। কম্পাইলার দিয়ে প্রোগ্রামকে লিংক করা হয়। কম্পাইলার দিয়ে অনুবাদ করার সময় কম্পাইলার পুরো প্রোগ্রামটিকে এক সাথে পড়ে এবং এক সাথেই অনুবাদ করে থাকে। কম্পাইলার প্রোগ্রামটি কম্পিউটারের সেকেন্ডার সহায়ক মেমোরিতে থাকে। একেক ধরনের উচ্চস্তরের ভাষাকে অনুবাদ করার জন্য একেক ধরনের কম্পাইলারের প্রয়োজন হয়। কম্পাইলার প্রোগ্রামে কোন ভূল ত্রুটি থাকলে তা জানিয়ে দেয়। কম্পাইলার প্রোগ্রামের সব ভূল এক সাথে শনাক্ত করে এক সাথে প্রদর্শন করতে পারে। কম্পাইলারের জন্য বেশি মেমোরির প্রয়োজন হয়।কম্পাইলার ডিবাগিং ও টেস্টিং এর ক্ষেত্রে সাধারণত ধীর গতিসম্পন্ন হয়ে থাকে। কম্পাইলার দিয়ে প্রোগ্রাম নির্বাহের জন্য সাধারণত কম সময়ের প্রয়োজন হয়।


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


৩. অ্যাসেম্বলারঃ
অ্যাসেম্বলার সাধারণত লিখিত প্রোগ্রামকে মেশিন ভাষায় রুপান্তর করে থাকে। অ্যাসেম্বলার নোমেনিক কোডকে মেশিন বা যান্ত্রিক ভাষায় রুপান্তর করে। অ্যাসেম্বলার প্রোগ্রামের প্রতিটি নির্দেশ ঠিক আছে কিনা তা পরীক্ষা করে দেখে এবং এবং যদি ঠিক না থাকে তবে তা জানিয়ে দেয়। অ্যাসেম্বলার প্রতিটি নির্দেশ ও ডেটা স্মৃতিতে সংরক্ষণ করে রাখে।


এরকম শিক্ষণীয় নিত্য নতুন টিপস এবং ট্রিকস জানতে আমাদের ওয়েবসাইটের সাথেই থাকুন।আর কারো কোন বুঝতে সমস্যা হলে কমেন্ট করুন।আমি যথাসাধ্য বোঝানোর চেষ্টা করবো।
ধন্যবাদ সবাইকে।

Post a comment

0 Comments