পৃথিবীতে প্রায় সারে তিন হাজারেরো বেশি ভাষা আছে। ভাষা মানে মানুষ মনের ভাব প্রকাশ করার একটি সর্বোত্তম পদ্ধতি। পৃথিবীর সৃষ্টি লগ্ন থেকে শুরু করে আজোবধি ভাষা চর্চা রীতিমত হচ্ছে। সেটা শিশুর মুখে বুলি শিখাতেও হয়, আবার দক্ষতার বহিঃপ্রকাশেও। আমরা জন্মের পর থেকেই যে ভাষা রপ্ত করি সেটা বাংলা। তেমনি কম্পিউটারের আবিষ্কারের মধুলগ্ন থেকেও একটা ভাষার আমেজ মেশিনের ভিতরে তোয়ার রয়ে গেছে। অর্থাৎ, আপনি যেমন আপনার কোম্পানির কর্মচারীদের এক এক করে কাজ বুঝিয়ে দেন। ঠিক তেমনি, কম্পিউটারের ইঞ্জিনকে তার কাজ বুঝানোর জন্য যে ভাষাগুলো ব্যবহার হয় তাদেরকে 'প্রোগ্রামিং ল্যাঙ্গুয়েজ' বলে। ল্যাঙ্গুয়েজ কথাটির অর্থতো আমরা জানি। কিন্তু প্রোগ্রামিং কথাটির কোন আভিধানিক অর্থ নেই। এর অর্থও রাখা উচিৎ না। যে নামে পৃথিবী চিনে সেই নামটাইনা অনবদ্য থাকুক! আজকে প্রোগ্রামিং সি ভাষার ইতিহাস সংক্ষেপে তোলে ধরবো। কাহিনীর সাথে তাল মিলিয়ে উপস্থাপনের চেষ্টা করছি আশা করি পড়ে বুঝতে ও জানতে পারবেন। আর কথার ফাকে রম্য মজাতো থাকছেই। একটা বিদ্যুৎ চালিত যন্ত্র। যার না আছে প্রাণ, না আছে বলার শক্তি। তার কোন ইচ্ছা, আকাংখা নেই। মালিক যেমন চালায় তেমনি চলে। কুকুরতো মাঝে মাঝে প্রভুকেও কামড় বসিয়ে দেয়। কিন্তু এই যন্ত্র কোনদিন আপনার আদেশ ছাড়া আর কোন কথায় মাথায় রাখে না। আমি কম্পিউটারের কথায় বলছি! একে পরিচালনার কাজে প্রোগ্রামিং ভাষা ব্যবহার করা হয়। কম্পিউটার প্রোগ্রামিং ল্যাঙ্গুয়েজের যদি সংজ্ঞা সহজ ভাষায় বলতে যায় তাহলে সংজ্ঞাটি ঠিক এরকম দাঁড়ায়। "কম্পিউটারকে কার্যপোযোগী করতে যে সব ভাষায় নির্দেশাবলী ও কার্যধারাগুলো বুঝানো হয় তাদেরকে কম্পিউটার প্রোগ্রামিং ভাষা বলে। " এখনো পর্যন্ত ২৫৬ টি প্রোগ্রামিং ভাষা পৃথিবীতে আবিষ্কৃত হয়েছে। আর আবিষ্কৃত হবে না তা না। মানুষ এমন একটি সুরঙ্গ পথে চলেছে যে পথ থেকে শুধু নতুন কিছুই বেরিয়ে আসে। পৃথিবীতে প্রথম প্রোগ্রামিং ল্যাঙ্গুয়েজ হল "মেশিন ভাষা"। তাহলে চলুন জেনে নেয়া যাক মেশিন ভাষাইবা কি?
সহজে কথায় মেশিনকে কাজ করানোর উপযোগী করতে যে নির্দেশাবলী দেয়া হয় তাকে মেশিন ল্যাঙ্গুয়েজ বা মেশিন ভাষা বলে। এই ভাষা ০ এবং ১ এর ভিতরে সীমাবদ্ধ। কি অদ্ভুৎ কাহিনী? তার মানে ০ এবং ১ ছাড়া কম্পিউটার মেশিন কিছুই বুঝে না! তাহলে কিভাবে এটাকে ভাষা বলা যায়? যার, স্বরবর্ণ ব্যঞ্জনবর্ণ কিছুইতো নেই! এ, বি, সি, ডি থাকলেওতো একটা কথা ছিলো? হাস্যকর হলেও এটাই প্রথম ভাষা যেটা মেশিন বুঝে। বিজ্ঞানীরা এই ভাষায় গাণিতিক যুক্তিগত সমস্যাগুলো কম্পিউটার মেশিনে সেটাপ করতো। আর মেথডটা কম্পিউটার ইঞ্জিনে একবার বুঝিয়ে দিলে সে হাজার হাজার কাজ খুব দ্রুত করে দিতে পারে। প্রথম "চার্লস ব্যাবেজ" এই প্রোগ্রামেবল কম্পিউটিং মেশিন তৈরী শুরু করেন। যেটাতে অ্যাডা লাভলেস" মেশিন ভাষায় প্রোগ্রাম রচনা করেন।
মেশিন ভাষায় প্রোগ্রাম রচনা এতো কঠিন ছিলো যে, সামান্য কোডে ত্রুটি হলে সমগ্র প্রোগ্রামটাই নতুন করে শুরু করতে হত। এতো বিশাল ০ এবং ১ এর মাঝে ত্রুটি খুঁজাটা প্রায়ই অসম্ভব ছিলো। তাই নতুন করে শুরু করাটাই বুদ্ধিমানের কাজ ছিলো। এরপর বিজ্ঞানীরা ভাবতে শুহরু করলো এমন কোন ট্রান্সলেটর তৈরী করা যায় কি, যেটা ইংরেজির অ্যালফাবেট গুলোকে মেশিন ভাষায় (০ এবং ১) রূপান্তরিত করতে পারে। তারি চিন্তা ভাবনায় ১৯৪৯ সালে এর প্রথম বহিঃপ্রকাশ ঘটে যার নাম "এসেম্বলি প্রোগ্রামিং ল্যাঙ্গুয়েজ"। এরপর প্রোগ্রামিংটা আরো সহজ হয়ে গেলো। ০, ১ দিয়ে আর প্রোগ্রাম লেখার প্রয়োজন নেই। এখন ইংরেজিতে লিখলেও কম্পিউটার বুঝতে পারে। নিচে মেশিন ভাষার একটি উদাহরণ দিলাম,
কাজ | কোড |
i এবং j এর মান যোগ কর (add i with j) | 0000 0010 1111 1100 1000 |
এমনটাই উদ্ভট প্রোগ্রাম ছিলো। যার দরুন প্রোগ্রামাররা কোডে ত্রুটি হলে সম্পূর্ণ প্রোগ্রামটাই আবার প্রথম থেকেই শুরু করত। এরপর একটি ট্রান্সলেটরের মাধ্যমে এসেম্বলি ভাষার আগমণ ঘটলো। এতে কোডিংটা আরো সহজ হয়ে গেলো। দেখুন এর কোড কিরকম ছিলো।
কাজ | কোড |
i এবং j এর মান যোগ কর | ADD I AND J |
কিন্তু এসেম্বলি ভাষায় কিছু সমস্যা ছিলো। এসেম্বলি ভাষায় প্রোগ্রাম লিখতে গেলে আপনাকে অবশ্যই কম্পিউটারের প্রোসেসরের গঠন ও আনুসাঙ্গিক দিকগুলো ভালো জানা থাকতে হবে। নাহলে আপনি কমান্ড গুলো বুঝতে ও ব্যবহার করতে পারবেন না। সুতরাং, বিশাল একটি সমস্যায় পরেগেলো বিজ্ঞানীরা। এটাতো কেবল কম্পিউটার বিজ্ঞানীদের ভাষা হয়ে গেলো। প্রোগ্রামিং কে সাধারণ মানুষের ব্যবহারযোগ্য করে গড়ে তোলতে ১৯৫০ সালে আমেরিকান একজন মহিলা বিজ্ঞানী ডঃ গ্রেস হপার তিনটি প্রোগ্রামিং ভাষা তৈরী করেন। যার নাম দেন MATH-MATIC, FLOW-MATIC এবং A2। এই ভাষাগুলোই বর্তমান যতসব উচ্চতর ভাষার প্রাণকেন্দ্র। এর ধারাবাহিকতায় ১৯৬০ সালে ALGOL (Algorithm language), ১৯৬৭ সালে BCPL (Basic Combined Programming Language), ১৯৭০ সালে B Language, ১৯৭২ সালে সি ভাষা (ট্রেডিশনাল) তৈরী হয়। সি (C Language) আসার পর প্রোগ্রামিং জগতে আলোরণ সৃষ্টি হয়ে যায়। এরি ধারাবাহিকতায় সি ভাষাকে আরো উন্নত করা হয়। কার্নিঘাম ও রিচ মিলে সি ভাষাকে আরো অনেক উন্নয়ণে কাজ করে। এরপর ১৭৮৯ সালে সি ভাষাকে আমেরিকান ন্যাশনাল স্টেন্ডার্ডস ইন্সস্টেকটিউনসউট (ANSI) সি ভাষাকে আদর্শ ভাষা হিসেবে স্বিকৃতি দেয়। ১৯৯০ সালে ইন্টারনেশন্যাল স্টেন্ডার্ডস অরগানাইজেশন (ISO) স্বিকৃতি পায়। এরপর সকল উচ্চতর ভাষার মূলস্বরূপ এই ভাষাকে সর্বোজন স্বীকৃত আদর্শ ভাষা হিসেবে ১৯৯৯ সালে প্রতিস্থা লাভ করে। আজবধি এই ভাষা সকল প্রোগ্রামারের স্বরলিপি স্বরূপ শিক্ষা নেয়া হচ্ছে। নিচের চিত্র থেকে দেখে নিন এই বিবর্তনের তথ্যমূলক চিত্রটি।
এটি হল সি ভাষার বিবর্তন। আজ কত নতুন নতুন উচ্চতর ভাষা তৈরী হয়েছে। কত বিজ্ঞানীর অঢেল পরিশ্রমে আজকের এই উচ্চতর কম্পিউটার। কত সহজেই না আমরা একে ব্যবহার করতে পারছি। এ কৃতজ্ঞতা একজনের বা কয়েক জনের না। এটা বহু জনের জ্ঞান স্বরূপ বিজ্ঞানের আশির্বাদ।
-
মূল লেখা কপিরাইট: বিপিয়া টিউটোর (এসো শিখি সহজ করে)
আমি সুরজিত সিংহ সৌর। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 12 বছর 6 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 20 টি টিউন ও 9 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 1 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।
একজন বিজ্ঞান ও প্রযুক্তি প্রেমী... :)