প্রোগ্রামিং এর মহাজগৎ


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

LATEST :
সাইটটির উন্নয়ন চলছে এবং শীঘ্রই উন্নয়ন করা হবে

শুক্রবার, ১২ আগস্ট, ২০১৬

কোন প্রোগামিং বা কয়টা ল্যাঙ্গুয়েজ শিখব

   নতুন যারা প্রোগ্রামিং শিখতে চায়, তারা এক ধরনের দ্বন্দ্ব ভুগে। প্রথম দ্বন্দ্ব হচ্ছে কোন ল্যাঙ্গুয়েজ শিখব।
এ ভাইয়া এটা শিখতে বলে। ঐ স্যার ঐটা শিখতে বলে। আমি তো শুনছি ঐ ল্যাঙ্গুয়েজের ভ্যালু অনেক বেশি। এভাবে একটা কনফিউশন তৈরি হয়। একটা হার্ড কিন্তু ট্রু কথা বলি। যত প্রোগ্রামারই দেখেছি, সবাই একের অধিক ল্যাঙ্গুয়েজ সম্পর্কে জানে। পরে নিজের যেটা ভালো লাগে, সেটা নিয়েই কাজ করে।
প্রফেশনালরা যেহেতু অনেক গুলো ল্যাঙ্গুয়েজ জানে, আমাকেও কি অনেক গুলো ল্যাঙ্গুয়েজ শিখতে হবে?
উত্তর হচ্ছে না। কয়টা ভাষা শিখব বা কোন ল্যাঙ্গুয়েজ দিয়ে শুরু করব এ দুইটা প্রশ্ন নিয়ে অনেক সময় নষ্ট করে ফেলে নতুনরা। অবশ্যই একটা প্রোগ্রামিং ল্যাঙ্গুয়েজ দিয়ে শুরু করতে হবে। একটা ল্যাঙ্গুয়েজ দিয়ে শুরু করলে নিজের সব ফোকাস একটার মধ্যেই থাকবে। সহজেই শেখা যাবে।
কোনটা দিয়ে শুরু করবেন, তা নিজের ইচ্ছে। যেটা ভালো লাগে। তা যদি পছন্দ না করতে পারেন তাহলে পাইথন বা সি/সি++ দিয়ে শুরু করতে পারেন। শুরু করার পর আপনি প্রোগ্রামিং কি, কিভাবে করে, কিভাবে লজিক্যাল চিন্তা করা যায় এসব জানতে পারবেন মাত্র। সাথে সাথেই মাইক্রোসফট বা গুগল তৈরি করে ফেলতে পারবেন না।
সিনট্যাক্স, লজিক্যালি চিন্তা করতে জানার পর এবার এগুলো কাজে লাগানোর সময়। ইত্যি মধ্যে আপনি নিজের অজান্তেই অন্যান্য অনেক গুলো ল্যাঙ্গুয়েজ সম্পর্কে জেনে ফেলবেন। নতুন দুই একটা প্রোগ্র্যামিং সিনট্যাক্স ও জেনে ফেলবেন। বুঝে ফেলবেন, আরে! সব গুলো ল্যাঙ্গুয়েজই তো প্রায় একই! হ্যা, তাই। একটা ল্যাঙ্গুয়েজ ভালো করে জানলে অন্য যে কোন ল্যাঙ্গুয়েজেই কাজ করা যাবে। সব কিছুই সহজ মনে হবে।
আর তখন সত্যিকারের একটা প্রোগ্রামিং ল্যাঙ্গুয়েজ পছন্দ করে নিতে পারবেন। যেটা দিয়ে আপনি আপনার স্বপ্ন পূরণ করবেন। যেটা দিয়ে পরবর্তী মাইক্রোসফট বা গুগল তৈরি করবেন।
একটা ভুল প্রোগ্রামিং ল্যাঙ্গুয়েজ শিখে ফেললে তাও কাজে লাগবে। মনে করার কারণ নেই যে আপনার সময় গুলোই নষ্ট হয়েছে। একটা দিয়ে শুরু করুন। পথ চলতে চলতেই পথ চেনা যায়। শুরু করলেই সব কিছু ক্লিয়ার হয়ে যাবে। প্রোগ্রামিং এর সুন্দর জগতে স্বাগতম
সংগ্রীহিত:

প্রোগ্রামিং শেখার শুরুতে

প্রোগ্রামিং শেখার শুরু দিকে অনেকেই বিশাল বই দেখে হয়তো ভয় পেয়ে যায়। এত বিশাল বই, এত্ত কিছু শিখতে হবে। এত কিছু জানতে হবে, ইত্যাদি ইত্যাদি। বই গুলো বিশাল হওয়ার কারণ একটু পরেই বলছি।
তবে জিনিসটা অবশ্যই এমন নয়। বিশাল বই পড়ে কিছুই মনে রাখতে হয় না। মুখস্ত করতে হয় না কিছু। শুধু জানতে হয় কিভাবে প্রোগ্রাম লিখতে হয়। কোন সিনট্যাক্স মুখস্ত করতে হয় না। শুধু জানতে হয় কিভাবে লিখে।
প্রোগ্রামিং হচ্ছে লজিক। আমরা বাস্তব জীবনে যেমন লজিক খাটাই, তেমন লজিক। এগুলো মুখস্ত করতে হয় না। শুধু গুছিয়ে চিন্তা করতে হয়। শুধু জানতে হয় কিভাবে গুছিয়ে চিন্তা করা যায়। একটা উদাহরণ দি, যেমন “যদি আজ শুক্রবার হয়, স্কুলে যেতে হবে না। যদি শুক্রবার না হয়, স্কুলে যেতে হবে।” এ জিনিসটা আমরা ঠিক যে ভাবে চিন্তা করেছি, প্রোগ্রামিং এ ঠিক এমনি।এটাকে যদি আমরা সুডো কোডে লিখি তাহলেঃ
if day=friday
no school, do furti.
else
go to schlool.

এতই সহজ প্রোগ্রামিং।
বই গুলো বিশাল হয় কারণ ঐখানে প্রোগ্রামিং করে কি কি করা যায়, এমন অনেক গুলো উদারহণ দেওয়া থাকে। দেওয়া থাকে অনেক লাইব্রেরীর ব্যবহার প্রনালী। তো এসব শুধু একবার পড়লেই হয়। না পড়লেও সমস্যা হয় না। যদি পড়া থাকে, তাহলে প্রোগ্রাম লিখতে দারুণ কাজে দেয়।যেহেতু আমাদের কোড মুখস্ত করতে হয় না, আমরা বই এর ঐ অংশ থেকে দেখে দেখেই লিখে ফেলতে পারি।
আর কোড গুলো লেখা হয় IDE ব্যবহার করে। উপরে আমরা if else দিয়ে একটা প্রোগ্রাম লিখছি। IDE গুলো i লেখার সাথে সাথেই বুঝে যায় আমরা কি লিখতে যাচ্ছি, বাকি কোড গুলো অটোমেটিক লেখা হয়ে যায়। সত্যিই অসাধারণ। শুধু একবার শুরু করতে হবে। কিছু সময় ব্যয় করতে হবে। এই যা।
প্রোগ্রামিং শেখার জন্য বই এর দুই একটা চ্যাপ্টার ঠিক মত পড়লেই হয়, সিনট্যাক্স গুলো জানলেই হয়। বাকিটা যে যার মত করে লিখে ফেলতে পারে। নিজ নিজ ক্রিয়েটিভিটি প্রয়োগ করে। আর আমাদের সবার ক্রিয়েটিভিটি ইউনিক।কারোটা দিয়ে কারোটা রিপ্লেস করা যায় না। আমরা অনেকেই জানি না আমরা কতটা ক্রিয়েটিভ। আর তা জানতে হয়, আর জানার জন্য চোখ বন্ধ করে না থেকে একটু চারপাশ তাকাতে হয়।
প্রোগ্রামিং এর সবচেয়ে মজার পার্ট বলি। একটা বাস্তব উদাহরণ দিয়ে বলি। ধরে নিচ্ছি আমরা পৃথিবীর সবচেয়ে উচু টাওয়ারটা বানাবো। এখন পর্যন্ত সবচেয়ে উচু বিল্ডিং কোনটা? সম্ভবত Burj Khalifa, তাই না? ১৬৩টি ফ্লোর রয়েছে। আমরা চাচ্ছি এর থেকেও বিশাল একটা বিল্ডিং বানাতে, যার মধ্যে ২০০টি ফ্লোর থাকবে। তো বাস্তবে জিনিসটা বানাতে আমাদের নতুন করে গ্রাউন্ড লেভেল থেকে শুরু করতে হবে। অনেক বছর লেগে যাবে। প্রোগ্রামিং এ কেউ যদি ১৬৩ তলা সমান একটা প্রোগ্রাম বানিয়ে রাখে, আমরা চাচ্ছি ২০০ তলা সমান একটা প্রোগ্রাম বানাতে, তখন আমরা ১৬৩ তলা থেকেই কাজ শুরু করতে পারব। শুরু থেকে কিছুই করতে হবে না। কত সময় বেঁচে যাচ্ছে। তৈরি হচ্ছে দারুণ কিছু। চমৎকার না?
প্রোগ্রামিং জানা সত্যিই চমৎকার। নতুন এবং অসম্ভব সুন্দর একটা জগত। স্বাগতম সবাইকে
সংগ্রীহিত: জাকির হোসাইন

বুধবার, ২১ অক্টোবর, ২০১৫

প্রোগ্রামিং কনটেস্ট

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

এসিএম আইসিপিসি মূলত দুইটি ধাপে অনুষ্ঠিত হয়, আঞ্চলিক প্রতিযোগিতা (রিজিওনাল কনটেস্ট) ও বিশ্ব চ্যাম্পিয়নশীপ (ওয়ার্ল্ড ফাইনালস)। অনেক জায়গায় আবার আঞ্চলিক প্রতিযোগিতার আগে অনলাইনে একটি বাছাই প্রতিযোগিতারও আয়োজন করা হয়। এসব প্রতিযোগিতায় বিভিন্ন বিশ্ববিদ্যালয় থেকে এক বা একাধিক দল অংশ নিতে পারে। আর হ্যাঁ, প্রতিযোগিদের কিন্তু কম্পিউটার সায়েন্সের শিক্ষার্থী হতে হবে এমন কোনো কথা নেই, বিশ্ববিদ্যালয়ের যেকোনো বিভাগের শিক্ষার্থীরা এতে অংশ নিতে পারে।
বাংলাদেশ ১৯৯৮ সাল থেকে নিয়মিত এসিএম আইসিপিসি’র চূড়ান্ত পর্ব অর্থাৎ ওয়ার্ল্ড ফাইনালসে অংশ নিয়ে আসছে। এবছরও রাশিয়ায় অনুষ্ঠিতব্য এসিএম আইসিপিসি ওয়ার্ল্ড ফাইনালসে বাংলাদেশ থেকে অংশ নেওয়ার যোগ্যতা অর্জন করেছে সাস্ট (শাহজালাল বিজ্ঞান ও প্রযুক্তি বিশ্ববিদ্যালয়) ও বুয়েট (বাংলাদেশ প্রকৌশল বিশ্ববিদ্যালয়) থেকে একটি করে দল। এখন পর্যন্ত বাংলাদেশ একবারই সেরা ২০টি দলের মধ্যে ঢুকতে পেরেছিল। ১৯৯৯ সালে বুয়েটের একটি দল সেটি সম্ভব করেছিল বিশ্বের বড় বড় অনেকগুলো বিশ্ববিদ্যালয়কে পেছনে ফেলে ১১তম স্থান অর্জন করে। অনেকদিন ধরে অংশ নিয়ে আসলেও বাংলাদেশে প্রোগ্রামিং প্রতিযোগিতা এখনও খুব জনপ্রিয় হয়ে উঠতে পারে নি, সেটি প্রোগ্রামিং সম্পর্কে না জানার কারণেই হোক, কিংবা কষ্ট করে নতুন কিছু শেখার প্রতি তরুণ প্রজন্মের অনীহার কারণেই। কিন্তু ডিজিটাল বাংলাদেশ বিনির্মাণে প্রোগ্রামিং প্রতিযোগিতা একটি বিশেষ গুরুত্ব বহন করে।
প্রোগ্রামিং প্রতিযোগিতায় আসলে কী হয়? এসিএম আইসিপিসি বা এই ধরনের প্রতিযোগিতায় তিনজন প্রোগ্রামার মিলে একটি দল হিসেবে অংশগ্রহন করে। প্রতিটি দলকে দেওয়া হয় একটি কম্পিউটার, এক সেট প্রোগ্রামিং সমস্যা (৯ থেকে ১২ টি) এবং সেগুলো সমাধানের জন্য ৫ ঘণ্টা সময়। নির্দিষ্ট সময়ের মধ্যে যেই দল সবচেয়ে বেশি সংখ্যক সমস্যার সমাধান করতে পারে, সেই দল বিজয়ী হয়। সমান সংখ্যক সমস্যার সমাধান করলে যারা কম সময়ে করেছে এবং পেনাল্টি কম (সমাধান ভুল হলে ২০ মিনিট পেনাল্টি হয়), তারা rank-list-এ ওপরে থাকে। সমস্যাগুলোর মধ্যে একটি সমস্যা এমন দেওয়া হয় যেন সেটি সব দলই সমাধান করতে পারে, আরেকটি থাকে এমন যাতে কোনো দলই সমাধান করতে না পারে।
প্রোগ্রামিং সমস্যাগুলো তৈরি করেন কারা? যারা ইতিপূর্বে বিভিন্ন জাতীয় ও আন্তর্জাতিক প্রোগ্রামিং প্রতিযোগিতায় সাফল্য লাভ করেছেন, তাঁদের মধ্য থেকেই কয়েকজন প্রোগ্রামিং সমস্যাগুলো তৈরি করেন এবং প্রতিযোগিতার বিচারক হন। আর আমাদের শাহ্‍‍রিয়ার মঞ্জুর তো এসিএম আইসিপিসি’র চূড়ান্ত পর্বের বিচারক, তাও গত ১২ বছর ধরে, যা আমাদের জন্য অত্যন্ত গর্বের বিষয়। প্রোগ্রামিং সমস্যা তৈরি হওয়ার পরে যিনি সমস্যাটি তৈরি করেন, তিনি সেটির সমাধান করার জন্য প্রোগ্রাম লেখেন এবং ডাটা সেট তৈরি করেন, যেগুলো দিয়ে সমাধান পরীক্ষা করা হবে। তারপর জাজ প্যানেলের আরেকজন সেই সমস্যাটির একট বিকল্প সমাধান তৈরি করেন এবং সেটি জাজ ডাটা সেট দিয়ে পরীক্ষা করা হয়। সবকিছু ঠিকঠাক মতো হলেই সমস্যাটি প্রতিযোগিতার জন্য নির্বাচন করা হয়। এগুলো সবই করা প্রতিযোগিতা শুরু হওয়ার বেশ কিছুদিন আগে। প্রতিযোগিতার সময় কেউ যখন কোনো সমস্যা সমাধান করে জমা দেয়, তখন জাজ ডাটা দিয়ে সেটি পরীক্ষা করা হয়। প্রোগ্রামটি যদি নির্দিষ্ট সময়ের মধ্যে রান করে সঠিক আউটপুট দেয়, তবেই সেটি সমাধান হয়েছে বলে গ্রহন করা হয় এবং সাথে সাথে সেই দলকে সেটি জানিয়ে দেওয়া হয়। আবার সমাধান সঠিক না হলেও সেটি জানিয়ে দেওয়া হয় যাতে তারা আবার চেষ্টা করতে পারে। এসব কাজ করা হয় একটি সফটওয়্যার ব্যবহার করে।
প্রোগ্রামিং প্রতিযোগিতায় অংশ নিতে কী জানা লাগবে? প্রথমেই একটি প্রোগ্রামিং ভাষায় উপর ভালো দখল প্রয়োজন। সি (C) বা সি প্লাস প্লাস (C++) এক্ষেত্রে সবচেয়ে ভালো। কারণ এ দুটি ভাষা মোটামুটি সব ধরণের প্রোগ্রামিং প্রতিযোগিতায় ব্যবহার করা হয়। অনেকক্ষেত্রে জাভাও ব্যবহার করা যায়, তবে কিছু কিছু সমস্যার সমাধান জাভা দিলে লেখা হলে সেগুলো রান করতে বেশি সময় লাগে। সি এর চেয়ে সি প্লাস প্লাস ব্যবহার করা বুদ্ধিমানের কাজ এই জন্য যে সেখানে এসটিএল (STL : স্ট্যান্ডার্ড টেমপ্লেট লাইব্রেরি) বলে খুব কার্যকরী লাইব্রেরি আছে, যেটির ব্যবহার কিছু কিছু ক্ষেত্রে অনেক সময় বাঁচিয়ে দেয়। তবে সি এবং সি প্লাস প্লাস-এর মধ্যে মিল অনেক বেশি এবং সি দিয়ে প্রোগ্রামিং শেখা শুরু করলে সি প্লাস প্লাস শিখতে খুব একটা সময় লাগবে না। প্রোগ্রামিং প্রতিযোগিতায় যারা অংশগ্রহন করতে ইচ্ছুক, তাদের কথা মাথায় রেখে অনলাইনে একটি প্রোগ্রামিং কোর্স তৈরি করা হয়েছে, সেটিতে অংশ নেওয়ার জন্য যেতে হবে এখানে :http://programming-course.appspot.com/, কোর্সটি সবার জন্য বিনামূল্যে দেওয়া আছে এবং নিজের সুবিধামতো সময়ে সেটি করা যাবে। তারপর কোর্সটি করা শেষ হলে কিংবা প্রোগ্রামিং ভাষা মোটামুটি শেখা হলে প্রবলেম সলভ করা শুরু করতে হবে। শুরুটা করার জন্য এখানে কিছু প্রোগ্রামিং সমস্যা আছে যেগুলোর বর্ণনা বাংলাতে লেখা : http://goo.gl/wsJPQV।
প্রোগ্রামিং প্রতিযোগিতায় ভালো করতে হলে দুটি জিনিস পাশাপাশি চালিয়ে যেতে হয়, প্রবলেম সলভিং ও লেখাপড়া। প্রবলেম সলভ করার জন্য ভালো কিছু ওয়েবসাইট হচ্ছে :
CodeForces (http://codeforces.com/)
TopCoder (http://www.topcoder.com/)
CodeChef (https://www.codechef.com/)
SPOJ (http://www.spoj.com/)
LightOJ (http://lightoj.com)
এসব ওয়েবসাইটে প্রবলেম সলভিংয়ের চর্চা তো করা যায়ই, সেই সাথে বিভিন্ন অনলাইন প্রতিযোগিতায় অংশ নেওয়া যায়। অনেকের ভুল ধারণা থাকে যে সব লেখাপড়া শেষ করে তারপরে প্রতিযোগিতায় অংশ নেওয়া শুরু করবে, সেটি ঠিক নয়। দুটি কাজই একসাথে চালিয়ে যেতে হবে।
বিভিন্ন ওয়েবসাইটে প্রবলেম সলভ করার সময় অনেকে একই রকম অনেক প্রবলেম সলভ করে। সেটি না করে বিভিন্ন রকম প্রবলেম সলভ করার পেছনে সময় দেওয়াটাই শ্রেয়। অনেক সময় কঠিন কিছু প্রবলেমের পেছনে বেশ কয়েকদিন লেগে থাকতে হয়। সমস্যা সমাধানের জন্য এই লেগে থাকার ব্যাপারটা বিরক্তিকর ঠেকালেও হতাশ হওয়া চলবে না।
প্রোগ্রামিং ল্যাঙ্গুয়েজ শেখার পরে শিখতে হবে ডাটা স্ট্রাকচার আর অ্যালগরিদম। এগুলো ভালো বুঝার জন্য আবার ডিসক্রিট ম্যাথ বা বিচ্ছিন্ন গণিতের উপর ভালো দখল থাকা চাই। ডিসক্রিট ম্যাথ বিশ্ববিদ্যালয়গুলোর কম্পিউটার বিজ্ঞান বিভাগের সিলেবাসে আছে। আর নিজে নিজে শিখতে চাইলে বইয়ের সাহায্য নেওয়া যায় কিংবা অনলাইনে ডিসক্রিট ম্যাথের উপর একটি ফ্রি কোর্স আছে, সেটিতে অংশ নেওয়া যায় : http://discrete-math.appspot.com/। ডাটা স্ট্রাকচার এবং  অ্যালগরিদম শেখার সময় বেশ কয়েকটি বই পড়তে হবে। আর প্রতিটি অ্যালগরিদম শেখার পরে সেই অ্যালগরিদম ব্যবহার করে কয়েকটি সমস্যা সমাধান করে ফেলতে হবে। ইন্টারনেটে এরকম কিছু তালিকা পাওয়া যায় যে একটি অ্যালগরিদম দিয়ে কোন কোন ওয়েবসাইটে কোন কোন সমস্যাগুলো সমাধান করা যায়। অ্যালগরিদম ছাড়াও গণিতের বেশ কিছু বিষয়ে ভালো দখল থাকতে হবে। যেমন : জ্যামিতি, সংখ্যাতত্ত্ব, কম্বিনেটরিক্স। তবে এগুলো আলাদাভাবে না শিখে এই সংক্রান্ত প্রবলেম সলভ করতে করতে শেখাটাই বেশি কার্যকরি – এমন মতামত দিয়েছেন মীর ওয়াসি আহমেদ, যিনি বুয়েটে সিভিল ইঞ্জিনিয়ারিংয়ের ছাত্র থাকাকালীন অংশ নিয়েছেন এসিএম আইসিপিসি’র চূড়ান্ত পর্বে (২০১২ সালে)। তাঁর মতে প্রথমে একটি সমস্যা নিয়ে সেটি নিজে সমাধানের চেষ্টা করতে হবে। যথেষ্ট সময় চেষ্টা করার পরে সেটি সমাধান করতে না পারলে, সেটির সমাধান দেখে শিখে নিতে হবে। নিজে কোড লেখার পাশাপাশি অন্যের লেখা কোড পড়ে বোঝাটাও অনের দরকারি।
অ্যালগরিদম শেখার ব্যাপারে একটি কথা। অ্যালগরিদমটি কীভাবে কাজ করে কেবল সেটি জানাই এখন যথেষ্ট নয়। অ্যালগরিদম সংক্রান্ত বইয়ের অনুশীলনীর সমস্যাগুলো সমাধান করতে হবে, যাতে সেটির গভীরে প্রবেশ করা যায়। আর তার সাথে প্রবলেম সলভিং তো চলবেই।
ব্যক্তিগত দক্ষতা অর্জনের পরে নজর দিতে হবে দলীয় দক্ষতা বাড়ানোর প্রতি। যেহেতু তিনজন মিলে একটি দল এবং সেই দলের জন্য একটি মাত্র কম্পিউটার ও একসেট প্রশ্ন, তাই দলের সদস্যদের মধ্যে চমৎকার বোঝাপড়া থাকা চাই। দল হিসেবে বিভিন্ন অনলাইন প্রতিযোগিতায় অংশ নিতে হবে। সেখানে অংশ নেওয়ার সময় খেয়াল রাখতে হবে যে তিনজন মিলে যেন একটি কম্পিউটার ব্যবহার করে। সমস্যাগুলোও একসেট প্রিন্ট করে সেটি ব্যবহার করা উচিত। দলের প্রত্যেক সদস্যের অপর সদস্যদের শক্তি ও দুর্বলতা সম্পর্কে জানতে হবে। যেই বিষয়ের উপর যে দক্ষ, সেই বিষয়ের সমাধানের দায়িত্ব তার উপরই দেওয়া উচিত। আর অনেক সময় একটি প্রবলেম নিয়ে দুজন মিলে আলোচনা করলে দ্রুত সমাধান চলে আসে। প্রোগ্রামিং কনটেস্টের দলগত কৌশলের ব্যাপারে একটি চমৎকার লেখা আছে, টিমওয়ার্ক ইন প্রোগ্রামিং কনটেস্ট (লিঙ্ক : http://goo.gl/wBPBON)। এটি সবার পড়া আবশ্যক।
২০০৭ সালের আইসিপিসি ওয়ার্ল্ড ফাইনালসে অংশগ্রহনকারী, বিগত সাত বছর ধরে এসিএম আইসিপিসির বিচারক ও মুক্তসফটের সিইও মোহাম্মাদ মাহমুদুর রহমান এর মতে – “প্রোগ্রামিং কনটেস্ট এমন একটি কো-কারিকুলার অ্যাক্টিভিটি যা থেকে শেখার আছে অনেক – দ্রুত ও নিখুত কোডিং, জটিল সমস্যার সমাধান করা, ধৈর্য্য, অধ্যবসায়, টিমওয়ার্ক, চাপের মুখে মাথা ঠান্ডা রাখা এরকম আরো অনেক কিছু। সবচেয়ে যেটা জরুরি, এটি এমন একটি ইভেন্ট যা কর্মজীবনে প্রবেশের আগেই একজন শিক্ষার্থীকে খুব গুরুত্বপূর্ণ একটি বার্তা দেয়, নিজেকে চ্যালেঞ্জ করে দেখ​, তোমার পক্ষে যেকোন কিছু জয় করা সম্ভব। কনটেস্টে ভালো করতে হলে চাই পরিশ্রম, জেদ, আত্নবিশ্বাস। শুধুমাত্র গতবাধা কোডিং-এর চেয়ে অনেক চিন্তা করে একটি কঠিন প্রবলেম সলভ করা লাভজনক। ধাঁধাঁ বা গাণিতিক সমস্যা সমাধানের অভ্যাস কাজে আসবে অনেক। ইংরেজিতে দখল-ও জরুরি। সবচেয়ে যেটা গুরুত্বপূর্ণ, উপভোগ করতে হবে। কনটেস্টকে পরীক্ষা হিসেবে না নিয়ে খেলা হিসেবে চিন্তা করতে পারলে ভালো হয় – কম্পিটিটিভ লার্নিং-এর মূল কথা কিন্তু এটিই।”
প্রোগ্রামিং প্রতিযোগিতায় সাফল্য লাভের জন্য যতটুকু না মেধার প্রয়োজন, তার চেয়ে বেশি প্রয়োজন পরিশ্রম, চর্চা ও অধ্যাবসায়ের। বাইরে থেকে দেখলে অনেকর মনেই প্রশ্ন জাগবে, এরা একটা প্রতিযোগিতার জন্য এভাবে নিজেকে উজাড় করে দিচ্ছে কেন? আর এমন করে আদৌ কোনো লাভ আছে? এসিএম আইসিপিসি ওয়ার্ল্ড ফাইনালসের বিচারক শাহ্‍‍রিয়ার মঞ্জুর এই প্রশ্নের উত্তরে বলেন, “প্রোগ্রামিং প্রতিযোগিতায় অংশগ্রহন ও নিয়মিত চর্চা করলে সমস্যা সমাধানের একটা দক্ষতা তৈরি হয়, সেই সাথে নিজেকে অন্যদের চেয়ে বুদ্ধিমান ও উন্নত বলে একটা আত্মবিশ্বাস তৈরি হয়। এটিই প্রোগ্রামারদের অনেক বড় পাওয়া। আর সমস্যা সমাধানের দক্ষতা তৈরি হওয়ার ফলে তখন কেবল প্রোগ্রামিং সমস্যাই নয়, সমাজের অন্য অনেক সমস্যাও অনেক সহজ মনে হয়। যারা ছাত্রজীবনে প্রোগ্রামিং প্রতিযোগিতার সাথে যুক্ত থাকে, তারা কর্মক্ষেত্রেও অনেক সমস্যার সমাধান অন্যদের চেয়ে দ্রুত ও ভালোভাবে করতে পারে।” তাঁর একথা যে সত্যি, সেটি প্রমাণ হয় যে গুগল, ফেসবুক, মাইক্রোসফট-এর মতো বিশ্বের বড় বড় কোম্পানীগুলোও সফটওয়্যার প্রকৌশলী নেওয়ার সময় যারা প্রোগ্রামিং প্রতিযোগিতায় খুব ভালো করে, তাদেরকেই বেশি অগ্রাধিকার দেয়।
সুশৃংখলভাবে প্রোগ্রামিং চর্চা এবং প্রোগ্রামিং প্রতিযোগিতায় অংশগ্রহনের ফলে কেবল প্রোগ্রামিং উৎকর্ষই বাড়বে না, মানুষ হিসেবে নিজেকে আরো উন্নত করে গড়ে তোলা যাবে। আর জাতি হিসেবেও আমদের এগিয়ে নেবে।
বি.দ্র. আমার এই লেখাটি প্রথম আলো’র প্রজন্ম ডট কম পাতায় প্রকাশিত হয় ২০ জুন ২০১৪ তারিখে।
Collected: subeen.com

রবিবার, ১৮ অক্টোবর, ২০১৫

কোন প্রোগ্রামিং ল্যাঙ্গুয়েজ শিখবো

কোন প্রোগ্রামিং ল্যাঙ্গুয়েজ শিখলে ভাল হয়, এইটা ৫ জনকে জিজ্ঞেস করলে মিনিমাম ১৫টা ডিফারেন্ট উত্তর পাওয়া যাবে। সকালে যদি বলে এইটা শিখো, রাতে বলবে ওইটা শিখো। আর গরম হালকা একটু বেশি লাগলে বলবে অন্য আরেকটা শিখো।
প্রথম স্টেপ: মনে রাখতে হবে, এক লাফে তাল গাছে উঠতে পারবেন না। তাই প্রথমেই কোন একটা সহজ প্রোগ্রামিং ল্যাঙ্গুয়েজ থেকে প্রোগ্রামিংয়ের ৫টা বেসিক জিনিস শিখে ফেলতে হবে। এই পাঁচটা জিনিস হচ্ছে-
  1. variable
  2. if else
  3. array
  4. for loop
  5. function
হাবলুদের জন্য প্রোগ্রামিং বা হুকুশ পাকুশের প্রোগ্রামিং শিক্ষা থেকে বেসিক জিনিসগুলা শিখতে পারেন। আপনাকে পাইথন বা জাভাস্ক্রিপ্ট থেকে শিখতে হবে এমন কোন কথা নাই। যদি হাতের কাছে অন্য কোন বই থাকে অথবা আশেপাশের কেউ অন্য কোন প্রোগ্রামিং ল্যাঙ্গুয়েজ থেকে শিখাতে পারে, তাইলে সেটাই শিখেন।
সেকেন্ড স্টেপ: বেসিক কনসেপ্টগুলা শেখার পরে আপনি যখন সেকেন্ড ধাপে উঠে যাবেন, তখন প্রোগ্রামিংয়ের বিভিন্ন অপশন আপনার কাছে খোলাসা হতে থাকবে। প্রথমেই ক্লিয়ার হতে হবে, প্রোগ্রামিং শিখার জন্য আপনি সুপার লেভেলের সিরিয়াস কিনা। প্রতিদিন কতটুকু ডেডিকেটেড সময় দিতে পারবেন? ৫-১০ মিনিট ঢুসা মেরে পরের ৬ মাস খোঁজ খবর না থাকলে এই লাইনে আশা করে কোন লাভ নাই।
আপনি যদি ভোম্বল মার্কা স্টুডেন্ট হোন, পড়াশোনায় খুবই খারাপ, কোন রকম টেনেটুনে পড়াশোনা চালাতে খবর হয়ে যাচ্ছে। আপনার জন্য সহজ সমাধান হচ্ছে ওয়েব ডেভেলপমেন্টের এইচটিএমএল এবং সিএসএস শেখা। আপনার হাতে আরও কয়েক মাস সময় থাকলে, জাভাস্ক্রিপ্ট সম্পর্কে ধারণা নিতে পারেন। নিজে নিজে ওয়েবসাইট বানাবেন। সিম্পল ওয়েবসাইট বানায় ফেলতে পারলে পিএইচপি শিখেন।
দ্রুত টাকা কামাইতে চাইলে আপনার শেখা উচিত ওয়ার্ডপ্রেস। কিভাবে কোন একটা ওয়ার্ডপ্রেস থিম নিয়ে সেটা এডিট করে ওয়েবসাইট আপলোড করে দেওয়া যায়। ওয়ার্ডপ্রেসের বেসিক ধারণা পাওয়ার পরে নেক্সট টার্গেট থাকতে হবে ওয়ার্ডপ্রেসের থিম ডেভেলপমেন্টে শিখা। মার্কেট-প্লেসে থিম সাবমিট করা।
যদি আর্টস কমার্সের স্টুডেন্ট হোন এবং মোটামুটি ৬ মাস সময় থাকলে পিএইচপি শিখেন। এক বছর সময় থাকলে পাইথন ইন ডেপথ শিখেন।
আর আপনি যদি কম্পিউটার সায়েন্সের ফার্স্ট ইয়ারের স্টুডেন্ট হোন, তাহলে আমি বলব আপনি C, C++ টাইপের প্রোগ্রামিং ল্যাঙ্গুয়েজ শিখে প্রোগ্রামিং কন্টেস্টে অংশগ্রহণ করেন। তাইলে প্রোগ্রামিংয়ের জিনিসগুলো সম্পর্কে আপনার গভীর ধারণা হয়ে যাবে। আর আপনি যদি সিএসইতে তিন বছর ফাঁকিবাজি করে এখন লাস্ট ইয়ারে চলে আসছেন, ৬ মাস কি ১ বছর সময় আছে, দ্রুত একটা চাকরি পাওয়া লাগবে, তাহলে আপনি জাভা বা c# বা পিএইচপি শিখে দ্রুত চাকরি পাওয়ার জন্য চেষ্টা করতে হবে।
আপনি যদি স্মার্ট টাইপের কেউ হোন, তাইলে গুঁতায় গাতায়া অ্যান্ড্রয়েডের অ্যাপ ডেভেলপমেন্ট বা জাভা শিখে ফেলতে পারেন। অথবা ওয়ার্ডপ্রেস দিয়ে কিভাবে একটা ওয়েবসাইট দাড়া করায়া ফেলতে হয়, সেটা শিখে ফেলতে পারেন। 
 
 
থার্ড স্টেপ: কোন একটা প্রোগ্রামিং ল্যাঙ্গুয়েজ সম্পর্কে ইন ডেপথ জানতে হলে প্রথমেই ওই প্রোগ্রামিং ল্যাঙ্গুয়েজের উপরে বাংলায় একটা বই জোগাড় করে আগা গোঁড়া কয়েকবার পড়ে ফেলতে হবে। বইয়ের ভিতরে অনেকগুলা উদাহরণ দেওয়া থাকবে। সেগুলো নিজে নিজে প্র্যাকটিস করতে হবে। প্র্যাকটিস করতে গেলে অনেকগুলা আপনি নিজে মেলাতে পারবেন না। সেগুলা ফেসবুকে বিভিন্ন প্রোগ্রামিংয়ের গ্রুপে দিয়ে লোকজনের হেল্প চাইতে হবে।
প্রথম যে বইটা পড়ছেন সেটা মোটামুটি আয়ত্তে চলে আসলে গুগলে বা ইউটিউবে গিয়ে বাংলায় ওই একই প্রোগ্রামিং ল্যাঙ্গুয়েজের উপরে টিউটোরিয়াল খুঁজে বের করতে হবে। সেগুলো কয়েকদিন প্র্যাকটিস করার পরে ইংরেজি বিভিন্ন টিউটোরিয়াল বা ওয়েবসাইট থেকে জিনিসগুলো সম্পর্কে আরও ক্লিয়ার ধারণা নিতে হবে। তারপর আপনার মোটামুটি ধারণা হয়ে গেলে ওই প্রোগ্রামিং ল্যাঙ্গুয়েজের উপর ছোটখাটো সফটওয়্যার বা ওয়েবসাইট বানায় ফেলতে হবে।
ফোর্থ স্টেপ: লাস্ট হচ্ছে বাংলাদেশে অনেকগুলা প্রোগ্রামিংয়ের গ্রুপ আছে যারা মাসে দুই একবার কোন এক জায়গায় মিলিত হয় এবং প্রোগ্রাম নিয়ে আলোচনা করে, সেগুলোতে যেতে হবে এবং অন্যদের কাছ থেকে শেখার চেষ্টা করতে হবে। একটা জিনিস খেয়াল রাখবেন, যেকোনো একটা প্রোগ্রামিং ল্যাঙ্গুয়েজ ভালোমতো শিখলেই অন্য যেকোনো আর একটা প্রোগ্রামিং ল্যাঙ্গুয়েজে সুইচ করা জাস্ট ওয়ান টুয়ের ব্যাপার। 
 
Collected: Jhankar Mahbub

শুক্রবার, ১৮ সেপ্টেম্বর, ২০১৫

পিএইচপি কি ?

পিএইচপি (PHP:Hypertext Preprocessor ) একটা সার্ভার সাইড স্ক্রিপ্টিং ল্যাংগুয়েজ যেটা মূলত ওয়েব ডেভেলপেমেন্টের জন্য ব্যবহৃত হয়। এই প্রোগ্রামিং ল্যাংগুয়েজটির উদ্দেশ্য হল ওয়েব পেজ দ্রুত তৈরী করা ডাইনামিকালি।

সোমবার, ১৪ সেপ্টেম্বর, ২০১৫

ফুটবলের ভাষা সর্বজনীন: মিরোস্লাভ ক্লোসা

বিশ্বকাপ ফুটবলের সর্বোচ্চ ১৬টি গোলের রেকর্ড জার্মান স্ট্রাইকার মিরোস্লাভ ক্লোসার। জন্ম ১৯৭৮ সালের ৯ জুন পোল্যান্ডে। ২০০৬ সালের বিশ্বকাপে সর্বাধিক ৫টি গোল করে গোল্ডেন বল লাভ করেছিলেন এই স্ট্রাইকার।
আমার বেড়ে ওঠা অনেকগুলো জায়গায়, অনেক ভাষার মাঝে। জন্ম আমার পোল্যান্ডে। পোল্যান্ডের ছোট্ট একটি শহরে আমরা থাকতাম। সেই শহরের বাজারের মধ্যে আমার মন সব সময় পড়ে থাকত। আইসক্রিমওয়ালার ভ্যানের আশপাশেই আমি থাকতাম। আমি যদি আবার সেই আইসক্রিমওয়ালার ভ্যান থেকে আইসক্রিম কিনতে পারতাম! স্কুলমাঠে ফুটবল খেলা দিয়েই আমি প্রথম পায়ে ফুটবলের স্পর্শ পাই। কিন্তু ফুটবলের চেয়ে আইসক্রিম খাওয়াতেই ছিল আমার সব মনোযোগ। আইসক্রিমই ছিল ধ্যান-জ্ঞান। ছোটবেলায় আর প্রিয় ছিল ফুটবল। সবকিছুতেই ফুটবলের আকর্ষণ।
মাসের পর মাস, দিনের পর দিন আমি সেই জন্য নিজেকে প্রস্তুত করেছি। একা একা কত যে অনুশীলন করেছি, তার কোনো হিসাব নেই। পাগলের মতো খেটেছি। বড় হয়ে আমি বাজি ধরেছিলাম, আমি বিশ্বকাপে গোল করবই। স্বপ্নের মতো এক অভিযাত্রায় সেই বাজিতে আমি জিতেছিলাম। তারপর তো আরো গোল করার সৌভাগ্য হয়েছে।
আমার পুরো পরিবার ছিল খেলাপাগল। মা ছিলেন পোল্যান্ডের জাতীয় হ্যান্ডবল দলের নিয়মিত সদস্য। আর বাবা ছিলেন পেশাদার ফুটবলার। আমি বাবার সঙ্গে আট বছর বয়সে জার্মানিতে পা রাখি। তখন আমি মাত্র দুটি জার্মান শব্দ জানতাম। ছোটবেলার বেশ কিছু সময় আমি ফ্রান্সে ছিলাম। আমি একসময় খুব ভালো ফরাসি বলতে পারতাম। যদিও এখন ভুলে গেছি। জার্মান শিখতে গিয়ে ফরাসি ভুলে যাই।
চতুর্থ শ্রেণিতে পড়ার সময় আমরা জার্মানি আসি। তখন আমি স্থানীয় এক ক্লাবে প্রশিক্ষণের ক্যাম্পের জন্য নাম নিবন্ধন করার সুযোগ পাই। সপ্তাহব্যাপী সেই প্রশিক্ষণ ছিল আমার জন্য অনন্য এক সুযোগ। কিন্তু বাবা-মা আমাকে ক্যাম্প থেকে নিয়ে যেতে চেয়েছিলেন। আমি থেকে গিয়েছিলাম। ক্যাম্পের প্রথম দিন সন্ধ্যায় কোচ আমাকে উৎসাহ দেন। তাঁর কথাতেই আমি মাঠের রাইট ব্যাক পজিশনে খেলা শুরু করি।
আমি এমন একটি পরিবেশে বড় হই, যেখানে ফুটবলে ছিল আমার সব মনোযোগ। জার্মানিতে আসার পর আমি ভাষা নিয়ে ভীষণ বিপাকে পড়ি। কাউকে কিছু বোঝাতে পারতাম না। কিন্তু ফুটবল মাঠের পরিবেশ ছিল ভিন্ন। সেখানে ফুটবলই ভাষা। সেই ভাষাতে আমি স্বাচ্ছন্দ্যবোধ করতাম। বাবা ছিলেন তাঁর ক্লাবে জনপ্রিয় ফুটবলার। আমি সেই বাবার ছেলে হয়ে ফুটবল না খেললে হয়? তাই তো আমার ফুটবল জগতে আগমন। পোল্যান্ডে থাকলে হয়তো আমি বাস্কেটবল খেলোয়াড় হতাম। মাকে দেখে আমার তখন বাস্কেটবল ভালো লাগত। কিন্তু সময়ের আবর্তে আমি ফুটবলার। জার্মান ভাষা না-জানা সেই ছেলেটি এখন জার্মান ফুটবল দলে খেলে। সত্যিই তাই, ফুটবলের তো কোনো ভাষা নেই, ফুটবলের ভাষা সর্বজনীন।
আমি ২১ বছর বয়সে প্রথম পেশাদার ফুটবল ক্লাবে যোগ দেওয়ার সুযোগ পাই। খুব অল্প সময়ের মধ্যে আমি বুন্দেসলিগায় খেলার সুযোগ পাই। প্রথম মৌসুমেই বেশ কিছু গোল করি। আমার খেলা দেখে পোল্যান্ডের জাতীয় ফুটবল দলের কোচ সেখানে খেলতে বলেন। কিন্তু আমার তো তখন জার্মান পাসপোর্ট ছিল। আমার অনেক দিনের স্বপ্ন আমি জার্মানির হয়ে খেলব। জার্মানি না পোল্যান্ড—কোন দলে খেলব? এটা ছিল আমার জন্য পাহাড় পার হওয়ার মতন একটি পরিস্থিতি। ইচ্ছে করলে আমি পোল্যান্ডের হয়ে খেলার সুযোগ পেতাম কিন্তু আমার লক্ষ্যই ছিল জার্মানি। অবশেষে আমি জার্মানির জার্সি পরে মাঠে নামার সুযোগ পাই। ২০০১ সালে আলবেনিয়ার বিপক্ষে সেই ম্যাচে আমি ৭৩ মিনিটে মাঠে নামি। এর পরের সময়টুকু ছিল স্বপ্নের মতন। আমার দেওয়া গোলে জার্মানি জিতে যায়। জার্মানির জার্সি পরে আমি প্রথম ১১ ম্যাচে তিনটি হ্যাটট্রিক করি। সেই ছিল আমার শুরু। তারপর সব এখন ইতিহাস।
তথ্যসূত্র: বিল্ড ও জ্যাইট ম্যাগাজিনকে দেওয়া ক্লোসার সাক্ষাৎকার, ২০১৪।
ক্লোসার লেখাটি লিখেছেন জাহিদ হোসাইন খান

ফুটবল আমার ধ্যানজ্ঞান : লিওনেল মেসি

বর্তমানে বিশ্বের অন্যতম সেরা ফুটবলার আজেন্টিনার লিওনেল মেসি। জন্ম আর্জেন্টিনায়, ১৯৮৭ সালের ২৪ জুন। বিশ্বসেরার স্বীকৃতিস্বরূপ মেসি চারবার ফিফা ব্যালেন ডি’অর সম্মাননা লাভ করেন।
তখন আমি বেশ ছোট। জন্মদিনের এক উপহার পেয়ে আমি চমকে যাই। সেটা ছিল আমার জীবনের সবচেয়ে বড় উপহার। আমার এক আত্মীয় আমার হাতে ভিন্ন এক জীবন উপহার দেয়—এক নতুন ফুটবল। তিন কিংবা চার বছর বয়সে পাওয়া সেই উপহারের জন্য আজ আমি এখানে। সেই উপহার আমার মনে এতটাই দাগ কেটেছিল যে বড়দিন কিংবা জন্মদিন সব সময়ই উপহার হিসেবে আমার চাওয়া ছিল ফুটবল।
খুব সাধারণ এক ফুটবলপাগল পরিবারে ছিল আমার বেড়ে ওঠা। আমার বাবা-চাচাদেরও ছিল ফুটবল নিয়ে ভীষণ মাতামাতি। বাবা তো এক ফুটবল ক্লাবের কোচের দায়িত্ব পালন করতেন। প্রতিদিন নিয়ম করে স্কুলে যেতাম। সেখান থেকে ফিরেই মুখে কিছু একটা পুরে রাস্তায় ফুটবল খেলতে ছুটতাম। আমি সৌভাগ্যবান আমার সাধারণ পরিবারের জন্য। বাবার দিনভর পরিশ্রমই ছিল আমাদের একমাত্র রুজি। তিন ভাইয়ের জন্য ছিল বাবা-মায়ের সব আদর।
ছোটবেলায় আমি বেশির ভাগ সময়ই রাস্তায় ফুটবল খেলতাম। বাড়ির বাইরে যেখানেই সুযোগ পেতাম, সেখানেই খেলতাম। সত্যি বলতে কি, পাঁচ বছর বয়স থেকে ফুটবল আমার বন্ধু। পাড়ার বড় ভাইয়েরা রাস্তার ফুটবল ম্যাচে আমাকে নিতে চাইত না। আমার কাছ থেকে যখন বল নিতে পারত না, তখন তারা আমাকে দুষ্টুমি করে মারধর করতে চাইত। রাস্তার ওপর আমার ফুটবল খেলা নিয়ে আমার ভাই ভীষণ দুশ্চিন্তা করতেন।
রোজিওতে আমার জন্ম। সেই এলাকার ছোট ফুটবল ক্লাব গ্র্যান্ডোলিতে আমাদের পুরো পরিবারের সবাই বয়স অনুসারে সেই ক্লাবে খেলতাম। মা–ই থাকত শুধু খেলার বাইরে। আমরা প্রতি রোববার সারা দিন ক্লাবের মাঠে দৌড়াদৌড়ি করতাম। মা-দাদিও ছিলেন সেই ক্লাবের পাড় সমর্থক। বাবা তখন ক্লাবে কোচিং করাতেন, তিনিই আমার প্রথম কোচ। প্রতিদিন কয়েক ঘণ্টা মাঠে ফুটবল প্র্যাকটিস করতাম।
সেই রাস্তা, সেই স্মৃতি, সেই সময়—সব আমার বদলে যায় খুব ছোট থাকতেই। স্পেনের বার্সেলোনায় আসার পরেই আমার সব পাল্টে যায়। ফুটবল খেলার বন্ধু, স্কুলের শিক্ষক-সহপাঠী, পরিবার এবং নিজের দেশ ছেড়ে মাত্র ১৩ বছর বয়সে এক মহাসাগর দূরে চলে আসি। এটা ছিল আমার জন্য ভিন্নমাত্রার অভিজ্ঞতা। একদিকে বার্সেলোনা থাকার নতুন অভিজ্ঞতা, অন্যদিকে ছিল বাড়ি থেকে দূরে থাকার কষ্ট। প্রথম প্রথম অনেক মন খারাপ হতো। একা একা লাগত। কান্নাকাটি করতাম অনেক সময়। নিজেকে নিজে সান্ত্বনা দিতাম। ধীরে ধীরে আমি নতুন পরিবেশ, নতুন বন্ধুদের সঙ্গে মানিয়ে নিতে শুরু করি। আমার স্বপ্ন ছিল বার্সেলোনার মূল দলে ফুটবল খেলা। আমার জীবনের সবকিছু শিখেছি আমি বার্সেলোনাতে এসে। এখানেই আমি বড় হই, লেখাপড়াও এখানকার স্কুলে।
কিশোর বয়স থেকেই ফুটবল আমার ধ্যান-জ্ঞান। আমি ছোটবেলায় যেভাবে খেলতাম, এখনো সেভাবে খেলি। আমার খেলার ঢং একই রকম। আমি নিজের মতো খেলে যাই। বার্সেলোনাতে খেলে আমি ফুটবল নিয়ে অনেক কৌশল শিখতে পেরেছি।
কিশোর বয়সে প্রথমদিকে খেলার সময় ফুটবল কোচ ফ্যাবিও কাপেলো আমাকে ‘ছোট শয়তান’ তকমা দিয়েছিলেন। আমার জন্য সেটা ছিল খুবই আনন্দের। তিনি ফুটবল কোচ, তাঁর কাছ থেকে এত ছোট বয়সে প্রশংসা পাওয়া নিশ্চয়ই দারুণ ব্যাপার।
আমি ব্যক্তিগত সম্মাননা কিংবা নিজে বেশি গোল করতে আগ্রহী নই। আমি আমার দলের জন্য সর্বোচ্চ পুরস্কারটাই আনতে চাই। আমি পৃথিবীর সেরা ফুটবলার হওয়ার চেয়ে একজন ভালো মানুষ হতেই বেশি আগ্রহী। কারণ, সবশেষে আমি যখন অবসরে যাব, তখন প্রত্যাশা থাকবে সবাই যেন আমাকে বিনয়ী হিসেবেই চেনে। আমি গোল করতে পছন্দ করি কিন্তু বন্ধুত্ব করতেও আগ্রহী বেশি। দলের ফুটবলাররা আমার বন্ধু। তাঁদের ছাড়া আমি তো আসলে শূন্য।
আমি হারতে ভীষণ অপছন্দ করি। সেটা বাস্তব জীবনেও। দরিদ্রতা আমাকে রাগায়। আমি এমন একটি দেশ থেকে এসেছি, যেখানে দারিদ্র্যই বাস্তবতা। সেখানে অনেক শিশু আছে, যাদের বাধ্য হয়ে ভিক্ষা করতে হয়। অন্য কিছু করার উপায় নাই বলে অনেক কম বয়সে কাজে করতে হয়। আমি বার্সেলোনাতে একটু ভালো পরিবেশে থাকার সুযোগ পেয়েছি। বাবার সঙ্গে থাকার সুযোগ পাই। কিন্তু বাস্তবতা আসলেই ভিন্ন। অনেক বাবা হাড়ভাঙা খাটুনি দিয়ে তাঁদের সন্তানকে বড় করতে সংগ্রাম করে যাচ্ছেন।
তথ্যসূত্র: এল পাই্যজ (২০১২) এবং ওয়ার্ল্ড সকার ম্যাগাজিনে (২০১৩) দেওয়া মেসির সাক্ষাৎকার।
মেসি লেখাটি লিখেছেন জাহিদ হোসাইন খান
স্বত্বাধিকারী © ২০১৫ প্রোগ্রামিং এর মহাজগৎ সব অধিকার সংরক্ষিত
^