বাংলায় প্রগ্রামিং করার ইন্টারফেস ‘পতাকা’ তৈরি করেন ইকরাম হোসেন, রাকিব হাসান অমিয় এবং ওসমান গণী নাহিদ। ছবি : সংগৃহীত
যদি (৩ থেকে ৪ বড় হয়){
দেখাও (“বল্টু : আমি আগেই জানতাম ৪ বড়।”);
}না হলে{
দেখাও (“পল্টু : ঘোড়ার ডিম”);
}
ওপরের বর্ণনাটি সাধারণ বাংলা বাক্যেই লেখা। শুধু আগে-পরে ও মাঝে কিছু চিহ্ন ব্যবহার করা হয়েছে। আর তাতেই এটি রূপ পেয়েছে প্রগ্রামিং সংকেতে! আর এভাবে সাধারণ বাংলা বাক্য ব্যবহার করেই লেখা সম্ভব কম্পিউটার প্রগ্রামিং সংকেত! এটি চালালে পর্দায় দেখা যায় -
‘বল্টু : আমি আগেই জানতাম ৪ বড়।’
অর্থাৎ বাংলা ভাষায়ও কম্পিউটার প্রগ্রামিং করা সম্ভব। আর এর শুরুটা হয়েছে অনেক অগেই, ২০০০ সালে। সে বছর বাংলাদেশ প্রকৌশল বিশ্ববিদ্যালয়ের সহযোগী অধ্যাপক আবদুস সাত্তারের তত্ত্বাবধানে বাংলা ভাষায় নির্দেশনা বোঝে এমন একটি কম্পাইলার প্রগ্রাম তৈরি করেন তার ছাত্র (বর্তমানে নর্থ সাউথ বিশ্ববিদ্যালয়ের সহযোগী অধ্যাপক) রাজেশ পালিত।
মাতৃভাষায় প্রগ্রামিং
কম্পিউটার শুধুই বোঝে ০ এবং ১! বাইনারি নির্দেশনায় সবকিছু তাকে দিয়ে করাতে হয়। কম্পিউটারের শুরুর দিকে তাই যাঁরা এ রকম বাইনারি পদ্ধতিতে নির্দেশনা দিতে পারতেন, তাঁরাই কেবল কম্পিউটারের মূল যন্ত্রাংশগুলো ব্যবহার করতে পারতেন। কালক্রমে বোঝা গেল মানুষ যে ভাষায় কথা বলে সে ভাষায়ও কম্পিউটারকে নির্দেশনা দেওয়া যায়। কেবল দরকার একটি অনুবাদক প্রগ্রাম। এই অনুবাদ প্রগ্রামটি আমাদের ‘প্রচলিত ভাষার মতো করে দেওয়া’ নির্দেশনাটিকে কম্পিউটারের ভাষায় অনুবাদ করতে পারে।
আবদুস সাত্তার জানান, প্রগ্রামিংয়ের ভাষা বাংলা না ইংরেজি হবে তা নির্ভর করছে অনুবাদ প্রগ্রামটির সক্ষমতার ওপর। বাংলা ভাষায় লেখা নির্দেশনাকে কম্পিউটারের ভাষায় অনুবাদ করার প্রগ্রাম তৈরিই এ ক্ষেত্রে আসল কাজ।
আবদুল সাত্তার বললেন, ‘রাজেশকে আমি বলেছিলাম, বাংলা ভাষায় যদি কম্পিউটারকে নির্দেশ দেওয়া যায়, তাহলে ছোটবেলা থেকে আমাদের শিশুরা কম্পিউটার প্রগ্রামিংয়ে দক্ষ হয়ে উঠবে। মাতৃভাষা হওয়ায় চিন্তার কাজটা তখন অনেক সহজ হবে।’
মনিবাংলা প্রগ্রামিং
রাজেশ পালিত স্মৃতিচারণা করতে গিয়ে বললেন, ‘বাংলা ভাষায় কম্পিউটার প্রগ্রামিংয়ের জন্য কম্পাইলার তৈরির প্রাথমিক ধাপে ভাষাগত পরিবর্তন ছাড়া পরবর্তী ধাপগুলো মোটামুটি একই। তবে সে সময় ইউনিকোড ততটা প্রচলিত ছিল না। ফলে বাংলা ফন্ট নিয়ে ঝামেলা পোহাতে হয়েছে বেশ।’
মনিবাংলা অনেকটা সি-র মতো মনে হলেও পার্থক্য আছে বিস্তর। সি ভাষায় পর্দায় কিছু লেখার জন্য প্রিন্টএফ (printf) নামে একটি ফাংশন ব্যবহার করতে হয়। আর মনিবাংলা সরাসরি ‘লিখ’ ব্যবহার করা যায়।
তবে কম্পিউটারে ব্যবহৃত বিভিন্ন শব্দ-শব্দবন্ধের সঠিক ও অনুমোদিত পরিভাষা না থাকায় বেশ ঝামেলাই পোহাতে হয়েছে রাজেশকে। এ প্রসঙ্গে তিনি বলেন, ‘আমি নিজেই অনেক শব্দের প্রতিশব্দ দিয়ে দিই। যেমন—ইন্টিজারকে লিখলাম পূর্ণক, ফ্লোটিং পয়েন্টকে বললাম—অংশক। তবে একটি সর্বজনীন পরিভাষা থাকলে কাজটি অনেক সহজ হতো।’
চা-বাংলায় স্ক্রিপটিং ভাষা
বছর তিনেক আগে নর্থ সাউথ বিশ্ববিদ্যালয়ের শিক্ষক নোভা আহমেদের তত্ত্বাবধানে বাংলা স্ক্রিপ্টিংয়ের একটি উদ্যোগ নেওয়া হয়। এ কাজে সঙ্গে ছিলেন আরমান কামাল, আদনান নুরউদ্দিন ও সৈয়দ তানভীর জিসান। নোভা আহমেদ বলেন, লক্ষ করেছি যে আমাদের অনেক শিক্ষার্থী প্রগ্রামিং করতে ভয় পায়। ইংরেজি কম বোঝা ও ইংরেজিতে চিন্তা করতে সমস্যা হওয়াই এর প্রধান কারণ। তখনই বাংলা ইন্টারফেস তৈরির কথা মাথায় আসে।
তিনি জানান, ‘চা স্ক্রিপ্ট’ প্ল্যাটফর্মটি ছিল ইসিএমএ (ECMA) স্ক্রিপ্টের ওপরে চলে এমন একটি রেপার (wrapper)। তারপর সেখানে জিসন (Jison) নামে একটি পার্সার ব্যবহার করা হয়, যা বাংলায় লেখা ইসিএমএ স্ক্রিপ্ট থেকে একটি জাভাস্ক্রিপ্ট ফাইল তৈরি করে। পরের কাজটুকু স্বাভাবিক জাভাস্ক্রিপ্ট হিসেবে কাজ করে। https://github.com/sjishan/chascript-এ চা স্ক্রিপ্টের বিস্তারিত পাওয়া যাবে।
অনলাইনে বাংলা প্রগ্রামিং—পতাকা
২০১৬ সালে বাংলায় প্রগ্রামিং করার ইন্টারফেস ‘পতাকা’ তৈরি করেন সে সময়ের ড্যাফোডিল বিশ্ববিদ্যালয়ের শিক্ষার্থী ইকরাম হোসেন। বর্তমানে টেলিনর হেলথের সিনিয়র সফটওয়্যার প্রকৌশলী হিসেবে কর্মরত তিনি। ব্যতিক্রম হচ্ছে, ডেস্কটপ অ্যাপ্লিকেশন না বানিয়ে ইকরাম তৈরি করেন একটি অনলাইন ভার্সন (http://potaka.io)। তার অঙ্গীকার ছিল—পতাকা কোডের প্রতিটি লাইন হবে সম্পূর্ণ বাংলায়, মোটামুটি দৈনন্দিন ব্যবহৃত একটি বাক্যের মতো। কারণ হিসেবে তিনি বলেন, ‘আমরা ইংরেজি বা অন্যান্য ভাষার চেয়ে তুলনামূলক বাংলায় ভালোভাবে উপলব্ধি করতে পারি এবং মনোভাব প্রকাশ করতে পারি। তাই বাংলায় প্রগ্রামিং শেখাটা নবীনদের জন্য সহায়ক হবে।’ তাঁর সঙ্গে ছিলেন রাকিব হাসান অমিয় এবং ওসমান গণী নাহিদ।
ইকরাম জানালেন, পতাকা কোডের জন্য একটি কোড-এডিটরও তৈরি করা হয়েছে। এটি প্রতিটি বাংলা কোডিংকে সমতুল্য জাভাস্ক্রিপ্ট কোডিং-এ রূপান্তর করে। তারপর জাভাস্ক্রিপ্ট কোডটিই প্রগ্রামটিকে চালায়। তাতে একটি নতুন কম্পাইলার ও নতুন ভাষা তৈরি না করেই আমরা সরাসরি একটি আন্তর্জাতিক প্ল্যাটফর্মে বাংলা ব্যবহার করতে পারছি।
স্বেচ্ছাশ্রমে তৈরি হওয়া প্ল্যাটফর্মটিকে আরো এগিয়ে নিতে চান ইকরাম। তবে তাঁর একার পক্ষে সে কাজ করা সম্ভব নয়। কারণ এটিকে কেবল তৈরি করা নয়, বরং এটিকে সব জায়গায় ছড়িয়ে দেওয়া দরকার। এ জন্য প্রচারণাও দরকার।
বাংলায় স্ক্রাচ
ছবি আর ব্লগ ব্যবহার করে শিশুদের সহজে প্রগ্রামিংয়ের ধারণা দেওয়ার জন্য বিশ্বখ্যাত ম্যাসাচুসেট ইনস্টিটিউট অব টেকনোলজি উদ্ভাবন করে ‘স্ক্রাচ’। খুঁটিনাটি সরাসরি না জেনেও কেবল ব্লক-ছবি ব্যবহার করে প্রগ্রামিংয়ে হাতেখড়ি করতে পারে। বর্তমানে স্ক্রাচ ভাষাটি বিশ্বব্যাপী প্রাথমিক পর্যায়ের শিক্ষার্থীদের জন্য ব্যবহার হচ্ছে। এর মধ্যে চল্লিশটি ভাষায় অনূদিত হয়েছে ‘স্ক্রাচ’। সমপ্রতি স্ক্রাচের বাংলা ভাষান্তর করার উদ্যোগ নিয়েছে বাংলাদেশ ওপেনসোর্স নেটওয়ার্ক (বিডিওএসএন)। স্ক্রাচের বাংলা রূপান্তর কার্যক্রমের সমন্বয়কারী হিসেবে কাজ করছেন বিডিওএসএনের সাধারণ সম্পাদক মুনির হাসান। কয়েক বছর ধরে দেশজুড়ে প্রগ্রামিং নিয়ে সচেতনতা বাড়াতে বিভিন্ন কার্যক্রম চালাচ্ছে বিডিওএসএন। তিনি বলেন, ‘চলতি বছরে আমাদের স্বেচ্ছাসেবকরা প্রথম এটিকে বাংলা করার কথা ভাবে। তখন আমরা এমআইটির স্ক্রাচ টিমের সঙ্গে যোগাযোগ করি এবং বাংলা রূপান্তরের কাজটা শুরু করি।’
তাঁর ধারণা, একুশ শতকে চতুর্থ শিল্পবিপ্লবের চ্যালেঞ্জ মোকাবেলায় নতুন প্রজন্মকে শুরু থেকেই প্রগ্রামিংয়ে উদ্বুদ্ধ ও দক্ষ করে গড়ে তুলতে হবে। আর কাজটা যদি মাতৃভাষায় করা যায়, তাহলে সেটি হবে সহজ এবং শিক্ষার্থীরা দ্রুত তা আয়ত্ত করতে পারবে।
দরকার সমন্বয়
বোঝা যাচ্ছে, বাংলা ভাষায় প্রগ্রামিং শেখার আবহ গড়ে তোলা কঠিন কিছু নয়। তবে এ জন্য দরকার বিচ্ছিন্ন উদ্যোগগুলোকে সমন্বয় করা। তা ছাড়া সব ক্ষেত্রে যাতে ইংরেজি টার্মগুলোর একই বাংলা ব্যবহার করা হয় তার জন্যও প্রমিত পরিভাষা কোষ ব্যবহার করা উচিত।