সুডোকোড কে এককথায় বলা যায় আমাদের যে সমস্যা তার একটা সম্ভাব্য সমাধানের রোডম্যাপ বা প্ল্যানিং কোড যা আমরা আমাদের(মানুষের) ভাষায় খাতা কলমে,অথবা নিজের মাথায় আঁকি। একটু উদাহরন দিয়ে দেখা যাক। এস এ ইউসার আমি একটা গেম খেলতে চাই।কি করতে হবে? প্রথমে কোন গেম টা খেলতে চাই তা প্লে স্টোর এ সার্চ দিতে হবে,গেম টা ডাউনলোড করতে হবে,ইন্সটল করতে হবে,যা যা রিকোয়ারমেন্ট আছে তা তা সেটাপ করে তারপর গেমটা খেলা শুরু করে দিলাম। আমাদের উদ্দেশ্য ফুল ফিল হলো। এই পুরো প্রসেস টা আজ আমরা অনেক স্মার্ট বলে খুহব ই সহজ মনে হচ্ছে। কিন্তু পুরোটা ই একটা প্রসেস,ঠিক এই প্রসেস টা এক্সিকিশন এর আগে নিজের মাথায় ভাবা অথবা খাতায় নিজের ভাষায় লেখা পুরো ব্রেকডাউন টা লেখা ই সুডো কোড,যদিও আপনি অনেক স্মার্ট আপনি এই ব্যাপারে ভাববেন ও না। এইবার চিন্তা করা যাক একজন প্রোগ্রামারের দিক থেকে। আপনি একটি গেম ডেভেলপ করতে চান। যে আমি এইরকম গেম মানুষের টা ডাউনলোড করে খেলবো না,আমি নিজে একটি গেম বানাবো যা আমিও খেলবো ও মানুষ ও খেলবে। এইবার একটু ভাবা যাক। আপনার প্রব্লেম কি? গেম বানানো।আর তার সলিউশন কি আপনি সরাসরি কম্পিউটারের ভাষায় ভাবতে পারবেন? কখনই না। আপনাকে প্রথমে ভাবতে হবে যে আপনি কি কি ফাংশনালিটি দিতে চান, কিভাবে আপনার গেম আরো এফিশিয়েন্ট হবে,কি রকম ইন্টারফেস দিবেন,কোন ল্যাংগুয়েজ ব্যবহার করবেন,আরো অনেক অনেক কিছুই আপনার ভাবতে হবে।এই ভাবনাটা খাতায় কলমে নিজের ভাষায় ব্রেকডাওন করা ই হচ্ছে সুডোকোড।
আপনি একজন প্রোগ্রামার হতে চান,একটু ভেবে দেখতে পারেন সুডোকোডের প্রয়োজনীয়তা কতটুকু আপনার এই পথ চলায়। আপনি একজন প্রোগ্রামার,মানে আপনি কম্পিউটারের মত নির্বোধ বাক্স যে ০ আর ১ ছাড়া কিছু বুঝে না, তাকে আপনার মত করে বুঝিয়ে আপনার কাজ বের করে আনতে হবে, কম্পিউটার কে বুঝানোর আগে আপনার নিজের বুঝতে হবে বিষয়গুলো কি,কিভাবে এবং কেন? আর এই গুলোর একটি সম্যক ধারনা এবং রোডম্যাপের জলছবির জন্য সুডোকোডের কোন বিকল্প নেই।
লেখাঃ Islam Timir