প্রোগ্রামিং ভাষা-যান্ত্রিক ভাষা, অ্যাসেম্বলি ভাষা ও উচ্চস্তরের ভাষা
প্রোগ্রামিং ভাষা (Programming Language):
কোনো নির্দিষ্ট সমস্যা সমাধানের জন্য কম্পিউটারে যে বোধগম্য ভাষায় নির্দেশ প্রদান করা হয় তাকে প্রোগ্রামিং ভাষা বলে। যেমন- C/C++, Visual Basic, Java, Oracle, Algol, Fortran, Python ইত্যাদি।
গঠন, বিচার ও বৈশিষ্ট্য অনুযায়ী এসব ভাষাকে পাঁচটি ভাগে ভাগ করা যায়। যথা-
১. প্রথম প্রজন্মের ভাষা (সাল-১৯৪৫) : যান্ত্রিক ভাষা (Machine Language)
২. দ্বিতীয় প্রজন্মের ভাষা (সাল-১৯৫০) : অ্যাসেম্বলি ভাষা (Assembly Language)
৩. তৃতীয় প্রজন্মের ভাষা (সাল-১৯৬০) : উচ্চস্তরের ভাষা (High Level Language)
৪. চতুর্থ প্রজন্মের ভাষা (সাল-১৯৭০) : অতি উচ্চস্তরের ভাষা (Very High Level Language)
৫. পঞ্চম প্রজন্মের ভাষা (সাল-১৯৮০) : স্বাভাবিক বা ন্যাচারাল ভাষা (Natural Language)
যান্ত্রিক ভাষা :
যান্ত্রিক ভাষা কম্পিউটারের প্রথম প্রজন্মের ভাষা। ১৯৪৫ সালে সর্বপ্রথম যান্ত্রিক ভাষা চালু হয়। যান্ত্রিক ভাষার সহজ অর্থ হচ্ছে যন্ত্রের নিজস্ব ভাষা। কম্পিউটার যন্ত্রটি সরাসরি যে ভাষা বুঝতে পারে সেই ভাষাকে কম্পিউটারের যান্ত্রিক ভাষা বলে। পৃথিবীর বিভিন্ন দেশের বিভিন্ন মানুষের ভাষা কম্পিউটার বুঝতে পারে না। কম্পিউটার মাত্র একটি ভাষাই বুঝতে পারে। আর সেটি হচ্ছে তার যন্ত্রের ভাষা। কম্পিউটারের এ যন্ত্রের ভাষা তৈরি হয় বাইনারি সংখ্যা পদ্ধতিতে। বাইনারি সংখ্যা পদ্ধতিতে মাত্র ২টি অঙ্ক (০, ১) ব্যবহৃত হয়। বাইনারি ছাড়া অন্য কোনো সংখ্যা পদ্ধতি সরাসরি কম্পিউটারে ব্যবহার করা যায় না। সমস্যা সমাধানের জন্য বাইনারি সংখ্যায় নির্দেশ সাজিয়ে যান্ত্রিক ভাষায় প্রোগ্রাম প্রস্তুত করা হয়। শুধুমাত্র ০ ও ১ দিয়ে প্রোগ্রাম লেখা সহজ হয়, সেজন্য যান্ত্রিক ভাষাকে নিম্নস্তরের ভাষা বলা হয়।
যান্ত্রিক ভাষার সুবিধা :
সরাসরি সিপিইউ বুঝতে পারে বলে অন্য ভাষার তুলনায় কম সময় লাগে।
সংক্ষিপ্ত আকারে প্রোগ্রাম লেখা যায় এবং লিখিত প্রোগ্রাম দ্রæত নির্বাহ হয়।
কম্পিউটার বর্তনীর ভুল-ত্রæটি সংশোধনের জন্য যান্ত্রিক ভাষা ব্যবহৃত হয়।
মেমোরি কম হলেও প্রোগ্রাম রান করানো যায়।
যান্ত্রিক ভাষার অসুবিধা :
এ ভাষায় লিখিত কোনো প্রোগ্রাম সাধারণত বোঝা যায় না।
প্রোগ্রাম লিখতে হলে অনেক সময়ের প্রয়োজন হয়। এছাড়া ভুল শনাক্ত করা বেশ কষ্টসাধ্য।
এক কম্পিউটারের জন্য লিখিত প্রোগ্রাম অন্য কম্পিউটারে চালানো যায় না।
প্রোগ্রাম লেখা কঠিন ও শ্রমসাধ্য।
অ্যাসেম্বলি ভাষা :
অ্যাসেম্বলি ভাষার প্রচলন শুরু হয় ১৯৫০ সাল থেকে। দ্বিতীয় প্রজন্মের কম্পিউটারে এ ভাষার ব্যাপক প্রচলন শুরু হয়। সরাসরি বাইনারি সংখ্যা ব্যবহার না করে কতকগুলো বিটের সমষ্টিকে কয়েকটি ইংরেজি বর্ণের সাহায্যে বিশেষ কোডে প্রকাশ করে কম্পিউটারকে বুঝানো হয়। এ কোডগুলোকে অ্যাসেম্বলি কোড বা অ্যাসেম্বলি ভাষা বলা হয়। অ্যাসেম্বলি ভাষায় উন্নত প্রোগ্রাম রচনা করা সম্ভব। যেমন যোগ করার জন্য ADD বা A, বিয়োগ করার জন্য SUB বা S ইত্যাদি ব্যবহার করে কম্পিউটারকে নির্দেশ দেওয়া হয়।
অ্যাসেম্বলি ভাষার সুবিধা :
এ ভাষায় প্রোগ্রাম রচনা করা যান্ত্রিক ভাষার তুলনায় অনেক সহজ।
সহজে প্রোগ্রামের ভুল ধরা যায় এবং প্রোগ্রাম পরিবর্তন করা সহজ।
প্রোগ্রাম রচনা করতে কম সময় লাগে।
ডিবাগিং করা সহজ।
অ্যাসেম্বলি ভাষার অসুবিধা :
প্রোগ্রাম রচনার সময় প্রোগ্রামারকে মেশিন সম্পর্কে ধারণা থাকতে হয়।
ভিন্ন ভিন্ন মেশিনে ভিন্ন ভিন্ন অ্যাসেম্বলি ভাষা ব্যবহার করতে হয়।
এ ভাষায় প্রোগ্রাম রচনা যান্ত্রিক ভাষার তুলনায় যথেষ্ঠ কষ্টসাধ্য।
অনুবাদক প্রোগ্রামের প্রয়োজন হয়।
উচ্চস্তরের ভাষা :
যে ভাষা মানুষের ভাষার সাথে মিল রয়েছে এবং লিখিত প্রোগ্রাম বিভিন্ন ধরনের মেশিনে ব্যবহার করা সম্ভব তাকে উচ্চস্তরের ভাষা বলে। এ ভাষা আমাদের পরিচিত বাক্য, বর্ণ ও সংখ্যা ব্যবহার করে প্রোগ্রাম লেখা হয়। এ ভাষায় ব্যবহৃত বেশিরভাগ শব্দ ইংরেজি ভাষার সাথে মিল আছে। এ ভাষায় খুব দ্রæত এবং সহজে প্রোগ্রাম লেখা যায়। এ ভাষায় প্রোগ্রাম লিখতে খুব দক্ষতার প্রয়োজন নেই। উচ্চস্তরের ভাষা, যান্ত্রিক ভাষায় রূপান্তরিত হওয়ার পূর্ব পর্যন্ত কম্পিউটার প্রোগ্রাম রান করতে পারে না। উচ্চস্তরের ভাষা কম্পিউটারের বোধগম্য নয়। এ ভাষায় প্রোগ্রাম রচনা করতে গিয়ে বাইনারি সংখ্যা পদ্ধতি সম্পর্কে অভিজ্ঞ না হলেও চলে। বড় একটি প্রোগ্রামকে ভিন্ন ভিন্ন প্রক্রিয়ায় বা ভাগ করে সম্পন্ন করা যায়। উচ্চস্তরের ভাষাকে বাণিজ্যিক প্রয়োগের ভাষা বা বহু প্রয়োগের ভাষা এমনকি বৈজ্ঞানিক প্রয়োগের ভাষাও বলা হয়।
বহুল ব্যবহৃত উচ্চস্তরের ভাষা হচ্ছে- BASIC, COBAL, C, C++, PASCAL, FORTRAN ইত্যাদি।
উচ্চস্তরের ভাষার প্রকারভেদ (Classifications of High Level Language) : বিভিন্ন ভাষার প্রয়োগ ক্ষেত্র বিভিন্ন। প্রয়োগের ভিত্তিতে উচ্চস্তরের ভাষাকে সাধারণত দুই ভাগে ভাগ করা যায়। যথা-
১. সাধারণ কাজের ভাষা : যেসব ভাষা সব ধরনের কাজের উপযোগী করে তৈরি করা হয় তাকে সাধারণ কাজের ভাষা বলে। যেমন, BASIC, PASCAL, C ইত্যাদি।
২. বিশেষ কাজের ভাষা : যে সব ভাষা বিশেষ বিশেষ কাজের উপযোগী করে তৈরি করা হয় তাকে বিশেষ কাজের ভাষা নামে পরিচিত। যেমন, COBAL, ALGOL, FORTRAN ইত্যাদি।
উচ্চস্তরের ভাষার সুবিধা :
এ ভাষায় লিখিত প্রোগ্রাম যেকোনো কম্পিউটারে ব্যবহার করা যায়।
নিম্নস্তরের ভাষা থেকে উচ্চস্তরের ভাষা শেখা বেশি সহজ।
প্রোগ্রাম তুলনামূলক ছোট হয়।
এ ভাষায় তাড়াতাড়ি প্রোগ্রাম লেখা যায়।
এ ভাষায় স্বাভাবিক ভাষায় অনেক শব্দ ব্যবহার করা যায়।
প্রোগ্রাম রচনার জন্য কম্পিউটার সম্পর্কে ধারণা না থাকলেও চলে।
উচ্চস্তরের ভাষার অসুবিধা :
এ ভাষায় প্রোগ্রাম সরাসরি কম্পিউটার বুঝতে পারে না।
কোনো প্রোগ্রাম লিখলে তা অনুবাদক ব্যবহার করে যান্ত্রিক ভাষায় রূপান্তরিত করে কম্পিউটারকে বুঝিয়ে দিতে হয়।
প্রোগ্রাম নির্বাহ করতে অধিক সময় এবং অধিক মেমোরির প্রয়োজন হয়।
উচ্চস্তরের ভাষার ব্যবহার :
বড় প্রোগ্রাম তৈরির কাজে।
অ্যাপ্লিকেশন প্যাকেজ সফটওয়্যার তৈরির কাজে।
প্রচুর মেমোরির প্রয়োজন এমন সফটওয়্যার তৈরির কাজে।
জটিল গাণিতিক হিসাব নিকাশের সফটওয়্যার তৈরির কাজে।
বৃহৎ ডেটা প্রসেসিং এর কাজে ব্যবহৃত প্রোগ্রাম তৈরি করতে।