কোড না লিখেই কম্পিউটার প্রোগ্রামিং!

স্ক্র্যাচ প্ল্যাটফর্মে ব্লক দিয়ে প্রোগ্রামিং করা যায়

কম্পিউটার দিয়ে কোনো কাজ করাতে হলে সেটিকে প্রোগ্রাম করতে হয়। প্রোগ্রাম হলো কম্পিউটারকে কাজ করার জন্য দেওয়া নির্দেশনা। কম্পিউটার সেই নির্দেশনা অনুসরণ করে নানা রকম কাজ করে। কম্পিউটার দিয়ে চমৎকার সব কাজ করিয়ে নিতে কম্পিউটার প্রোগ্রামাররা কিছু সুনির্দিষ্ট প্রোগ্রামিং ভাষা, যেমন সি/সি++, পাইথন, জাভা ইত্যাদি ব্যবহার করে এই নির্দেশগুলো দিয়ে থাকেন।

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

এনিয়াক কম্পিউটারে সুইচ দিয়ে প্রোগ্রামিং করা হতো

ওপেন এআইর সহপ্রতিষ্ঠাতা ও প্রধান কারিগরি কর্মকর্তা গ্রেগ বর্কম্যান দ্য ভার্জ পত্রিকাকে দেওয়া এক সাক্ষাৎকারে বলেছেন, ‘কম্পিউটার প্রোগ্রামিংয়ের দুটি অংশ। একটি হচ্ছে সমস্যা সমাধানের জন্য গভীরভাবে চিন্তা করে সমাধানে পৌঁছানো, তারপর সেই চিন্তাকে সুসংহতভাবে বিভিন্ন ফাংশন, লাইব্রেরি ব্যবহার করে কোডিং করে কাজে পরিণত করা। এর মধ্যে দ্বিতীয় কাজটি অনেক সময় দুরূহ এবং তা অসীম ধৈর্য ও নিবিড় মনোযোগ দাবি করে। কোডেক্স এই জায়গাতেই প্রোগ্রামারদের সাহায্য করবে। এর আগে ওপেন এআই কোপাইলট নামে তাদের আরেকটি সফটওয়্যার অবমুক্ত করে, যা মাইক্রোসফটের গিটহাব প্ল্যাটফর্মে ব্যবহার করা হয়। জি–মেইলে আমরা যখন কোনো ই–মেইল লিখি, তখন সেখানে যে রকম শব্দ বা বাক্যের সাজেশনস পাওয়া যায়, সে রকম গিটহাবে কোডিং করার সময় কোপাইলট অটো সাজেশন দিয়ে থাকে। কোপাইলটের পরের ধাপই হলো কোডেক্স।’

কম্পিউটার বিজ্ঞানীরা দীর্ঘদিন ধরে চেষ্টা করেছেন কীভাবে কোডিংয়ের ব্যাপারটাকে আরও সহজ করা যায়। প্রথম কম্পিউটারকে প্রোগ্রাম করা হয় সুইচ দিয়ে। তারপর এল পাঞ্চকার্ড। কি–বোর্ড আবিষ্কার না হওয়া পর্যন্ত সুইচ আর পাঞ্চকার্ড দিয়েই প্রথম প্রজন্মের কম্পিউটারগুলোকে প্রোগ্রাম করা হতো। কি–বোর্ড আসার পর দেখা যেত, প্রোগ্রামার দিনভর কম্পিউটারকে অ্যাসেমবলি ভাষায় লেখা নির্দেশনা দিয়ে যেত। এর কারণ হলো, কম্পিউটার কেবল বিদ্যুতের থাকা (১) বা না থাকা (০) বুঝতে পারে। ফলে দিন শেষে সব নির্দেশনাকে বাইনারিতেই প্রকাশ করতে হয়। কিন্তু মার্কিন নৌবাহিনীর কর্মকর্তা গ্রেস হপার প্রথমে একটি মডার্ন কম্পাইলার তৈরি করেন। গ্রেস হপারের কম্পাইলার আবিষ্কারের ফলে কম্পিউটারকে অ্যাসেমবলি ভাষা জানা ‘এলিট’দের কবল থেকে মুক্ত করা সম্ভব হয়। কারণ, তখন আবির্ভূত হয় প্রোগ্রামিং ভাষা।

আইবিএমের পাঞ্চকার্ডে ফোট্রান প্রোগ্রামিং

কম্পাইলার প্রোগ্রামিংয়ের এই বিশেষ বিশেষ ভাষাকে কম্পিউটার বুঝতে পারে, এমন ভাষায় পরিবর্তন করে দিতে পারে। কাজেই আমরা পেয়ে গেলাম ফোর্ট্রান, প্যাসকেল, সি/সি++, জাভা, পাইথন—এ রকম নানা প্রোগ্রামিং ভাষা। আমি যখন বুয়েটে পড়েছি, তখন আমাদের শিখতে হয়েছে ফোট্রান, যা আমরা বুয়েটের মেইনফ্রেম কম্পিউটারে ব্যবহার করেছি। দিনবদলের সঙ্গে সঙ্গে সি/সি++ হয়ে এখন যেমন পাইথন বা কটলিনের জোয়ার এসেছে। এসব কিছুর উদ্দেশ্য কিন্তু একটাই। সেটি হলো কম্পিউটারকে কাজে লাগাতে হলে যে কোডিং করতে হবে, সেটা যেন ক্রমাগত সহজ থেকে সহজতর হয়। বলা যেতে পারে, এই ধারার সর্বশেষ সংযোজন হচ্ছে কোডেক্স।

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

কাজের মধ্যে গ্রেস হপার

কিন্তু এবার একটু ব্যতিক্রম, কারণ আমরা ইংরেজি দিয়েই সরাসরি কোডিং করতে পারছি। এর ফলে নিজের ভাষাতে কম্পিউটারকে নির্দেশনা দেওয়ার ব্যাপারটা একটা নতুন মাত্রা পেল। এর প্রভাব কী হবে? কম্পিউটার প্রোগ্রামারের প্রয়োজন কি ফুরিয়ে যাবে?

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

বিশ্বব্যাপী এখন কিন্তু ছোটবেলা থেকে ছেলেমেয়েদের কোডিংয়ের সঙ্গে পরিচয় করিয়ে দেওয়ার চেষ্টা করা হচ্ছে। এস্তোনিয়াতে ছেলেমেয়েরা দ্বিতীয় শ্রেণি থেকেই কোডিংয়ের সঙ্গে পরিচিত হতে শুরু করে। বাংলাদেশ সরকারও ২০২২ সাল থেকে প্রাথমিক পর্যায় থেকে শিক্ষার্থীদের কোডিংয়ে যুক্ত করার উদ্যোগ নিয়েছে।

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