প্রোগ্রামিং ভাষার ক্রমবিকাশ

36
প্রোগ্রামিং এর প্রাথমিক ধারণা

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

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

এসব সমস্যা সমাধান করতে কম্পিউটার বিজ্ঞানীরা মননিবেশ করলেন কি করে কম্পিউটার প্রোগ্রামিং এর ভাষাকে আরও মানুষের ভাষার ন্যায় বোধগম্য করে তোলা যায় এবং মানুষ যেভাবে লজিক চিন্তা করে, সেভাবে প্রোগ্রামগুলো লিখতে পারা যায়। এসব গবেষণা থেকেই পরবর্তিতে কম্পিউটার বিজ্ঞানীরা বেশ কিছু কম্পিউটার ল্যাঙ্গুয়েজ এর উদ্ভাবন করেন। এ সকল ল্যাঙ্গুয়েজ এর মধ্যে সি (C) অন্যতম এবং আজ অবধি অত্যন্ত জনপ্রিয় ও হাই পারফরমেন্স ল্যাঙ্গুয়েজ, যা এখনো বড় বড় অপারেটিং সিস্টেম, সার্ভার কম্পিউটার এমনকি স্যাটেলাইট ও মহাশূন্য অভিযানের সিস্টেম কন্ট্রোল এর গুরুত্বপুর্ন কাজে বহুল ব্যাবহৃত একটি প্রোগ্রামিং ল্যাঙ্গুয়েজ।