
0 এবং 1 ব্যবহার করে লেখা সকল নির্দেশ মেনে কম্পিউটার কাজ করে। এই মেশিন ভাষা কম্পিটারের জন্য সহজে বোধগম্য হলেও আমাদের জন্য তা বেশ জটিল। তাই সময়ের সাথে সাথে প্রোগ্রামিংকে সহজ ও কার্যকরী করতে তৈরী করা হয়েছে নতুন নতুন প্রোগ্রামিং ভাষা।
কম্পিউটারকে কোনো নির্দেশ বা instruction দেওয়ার জন্য কিছু নিয়ম-কানুন এবং চিহ্নের সাহায্য নিতে হয়। মূলত এই নিয়ম-কানুন এবং চিহ্নের সমন্বয়ে তৈরি করা হয় এক একটি প্রোগ্রামিং ভাষা বা Programming Language.
“প্রোগ্রামিং ভাষা হল এক ধরনের লিখিত ভাষা যা কম্পিউটারকে কি করতে হবে তা বলে।”
ভাষার প্রকারভেদ
নিম্নস্তরের ভাষাঃ সাধারণত ১ম ও ২য় প্রজন্মের ভাষা নিম্নস্তর ভাষার অন্তর্গত।
১ম প্রজন্মের ভাষা (মেশিন ভাষা)
মেশিন ভাষা হল প্রোগ্রামিং ভাষার সর্বনিম্ন এবং সবচেয়ে প্রাথমিক স্তরের ভাষা। ১ম তৈরিকৃত প্রোগ্রামিং ভাষাও এটি। মেশিন ভাষাই মূলত একমাত্র ভাষা যা কম্পিউটার বুঝতে পারে। মেশিন ভাষায় শুধু দুইটি বর্ন আছে 0 ও 1। এবং হেক্স পদ্ধতিতে 0 ও 1 এর ব্যবহার করে এই ভাষায় প্রোগ্রাম লেখা হয়।
সুতরাং কম্পিউটার ব্যবহার করে আমরা কোনো কাজ করাতে চাইলে তাকে সবকিছু 0 ও 1 ব্যবহার করে বলতে হবে বা নির্দেশ(instruction) দিতে হবে। মেশিন ভাষায় লেখা প্রোগ্রামকে object program-ও বলা হয়।
কম্পিউটার শুধুমাত্র মেশিন ভাষাই বুঝতে পারে, তাই অন্য ভাষায় লেখা প্রোগ্রামকে কম্পিউটারে run করার জন্য উপোযুক্ত অনুবাদক ব্যবহার করে তা মেশিন ভাষার প্রোগ্রামে রুপান্তর করা হয়।
মেশিন ভাষার সুবিধা:
খুব অল্প মেমোরি ব্যবহার করে মেশিন ভাষায় লেখা প্রোগ্রাম নির্বাহ বা run করা যায়।
মেশিন ভাষা অন্যান্য ভাষা হতে দ্রুত কাজ করে।
সরাসরি মেমোরি এড্রেস এর সাথে সংযোগ তৈরি করা সম্ভব।
কোড অনুবাদ করার জন্য কোন অনুবাদকের প্রয়োজন হয় না।
মেশিন ভাষার অসুবিধা:
সমস্ত অপারেশন কোড মনে রাখতে হবে
সব মেমরি ঠিকানা মনে রাখতে হবে।
মেশিন ভাষায় লেখা কোনো প্রোগ্রামে সংশোধন করা বা ত্রুটি খুঁজে বের করা কঠিন
এক কম্পিউটারে লেখা প্রোগ্রাম অন্য কম্পিউটারে কাজ করে না
২য় প্রজন্মের ভাষা ( অ্যাসেম্বলি ভাষা)
মেশিন ভাষার অনেক অসুবিধা দূর করার জন্য অ্যাসেম্বলি ভাষা তৈরি করা হয়েছিল। এটি আরেকটি নিম্ন-স্তরের কিন্তু অত্যন্ত গুরুত্বপূর্ণ ভাষা যেখানে অপারেশন কোডগুলো 0 এবং 1 এর পরিবর্তে নেমোনিক কোড আকারে লেখা হয়।
এই নেমোনিক কোডগুলো সর্বাধিক পাঁচ-অক্ষরের সংমিশ্রণে তৈরি হতে পারে, যেমন যোগের জন্য ADD, বিয়োগের জন্য SUB, এছারাও MUL, DIV, START, LABEL ইত্যাদি। এই বৈশিষ্ট্যের কারণে, অ্যাসেম্বলি ভাষা ‘সিম্বলিক প্রোগ্রামিং ভাষা’ নামেও পরিচিত। ‘
অ্যাসেম্বলি ভাষার সুবিধা:
মেশিন ভাষার তুলনায় অ্যাসেম্বলি ভাষা বোঝা এবং ব্যবহার করা সহজ।
ত্রুটি সনাক্ত করা এবং সংশোধন করা সহজ।
অ্যাসেম্বলি ভাষার অসুবিধা:
মেশিন ভাষার মতো, এটিও মেশিন নির্ভর।
যেহেতু এটি মেশিন নির্ভর, তাই প্রোগ্রামারকেও হার্ডওয়্যার বুঝতে হবে।
এতে একটি প্রোগ্রাম লিখা মেশিন ভাষার তুলোনায় সহজ হলেও সময়সাপেক্ষ ও কষ্টকর।
মধ্যম স্তরের ভাষা
মেশিন ভাষা এবং উচ্চস্তরের ভাষার মধ্যে সম্পর্ক স্থাপন করা মধ্যম স্তরের ভাষার কাজ। এই ভাষা ব্যবহার করে সিস্টেম প্রোগ্রামিং(অপারেটিং সিস্টেম)
পাশাপাশি এপ্লিকেশন প্রোগ্রামিং করা যায়। C প্রোগ্রামিং ভাষা হচ্ছে মধ্যম স্তরের ভাষা।
৩য় প্রজন্মের ভাষা (উচ্চস্তরের ভাষা)
মানুষ যেন সহজে তাদের নিজস্ব ভাষার মত করেই কম্পিটারের জন্য প্রোগ্রাম লিখতে পারে সেই উদ্দেশ্যে তৃতীয় প্রজন্ম তথা উচ্চ-স্তরের ভাষা আবিস্কার করা হয়।
উচ্চ-স্তরের কম্পিউটার ভাষাগুলি ইংরেজি ভাষার কাছাকাছি গঠন ব্যবহার করে থাকে। C, C++,JAVA, PYTHON,RUBY ইত্যাদি তৃতীয় প্রজন্মের ভাষার উদাহরণ।
উচ্চস্তরের ভাষার সুবিধা:
উচ্চ-স্তরের ভাষা ব্যবহারকারী-বান্ধব
এগুলি ইংরেজির মতো এবং ইংরেজি শব্দভাণ্ডার এবং সুপরিচিত প্রতীক ব্যবহার করে
তারা শিখতে সহজ
তারা ‘মেশিন’-ভিত্তিক না হয়ে সমস্যা-ভিত্তিক
একটি উচ্চ-স্তরের ভাষায় লিখিত একটি প্রোগ্রাম যে কোনো কম্পিউটারে চালানো যেতে পারে
উচ্চস্তরের ভাষার অসুবিধা:
কম্পিউটার সরাসরি বুঝতে পারেনা বিধায়, অনুবাদকের সাহায্যে মেশিন ভাষায় অনুবাদ করতে হয়।
অনুবাদকের সাহায্যে উৎপন্ন অবজেক্ট কোড একটি সমতুল্য অ্যাসেম্বলি ভাষা প্রোগ্রামের তুলনায় অদক্ষ হতে পারে
প্রোগ্রাম run করতে বেশি সময় এবং মেমোরি প্রয়োজন হয়।
৪র্থ প্রজন্মের ভাষা(অতি-উচ্চস্তরের ভাষা)
কম্পিউটার প্রোগ্রামিং এর ভাষাকে মানুষের ভাষার আরও কাছাকাছি নিয়ে আসার চেস্টা থেকে পরবর্তীতে তৈরি হয় ৪র্থ প্রজন্মের ভাষা। ‘sql’ ৪র্থ প্রজন্মের ভাষার একটি উদাহরণ। কম্পিউটার ডাটাবেজ এ এর ব্যবহার করা হয়।
৫ম প্রজন্মের ভাষা(স্বাভাবিক বা ন্যাচারাল প্রোগ্রামিং ভাষা)
মানুষের স্বাভাবিক ভাষাকে কম্পিটারের নির্দেশ হিসেবে ব্যবহার করার চেষ্টা চলছে। এই প্রজন্মের ভাষায় মানুষের মৌখিক নির্দেশকে মেশিন ভাষায় রূপান্তর করার জন্য কৃত্তিম বুদ্ধিমত্তা সম্পন্ন অনুবাদক ব্যবহার করা হয়। PROLOG, LISP, Mercury ইত্যাদি পঞ্চম প্রজন্মের ভাষার উদাহরণ।