SL3 Framework

Conditions

SL3 Framework - Understand My Condition

My Condition is So Bad that I can't Understand Condition in Programming

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

Start Conversation -

প্রেক্ষাপটঃ বেলা এগারোটা বাজে, তামিম এখনো ঘুমাচ্ছে। আন্টি মানে তামিমের আম্মু ঝাড়ু নিয়ে তামিমের ঘরে এসেছিল ঘর পরিষ্কার করতে। কিন্তু অবস্থা দেখে মনে হচ্ছে তামিমই পরিষ্কার হয়ে যেতে পারে। বেলা ১১ টা পর্যন্ত তামিমের ঘুম দেখে আন্টি তো রেগেই ফায়ার -

আন্টিঃ তামিম, এই তামিম। ওঠ, বেলা কয়টা বাজে? খাওয়া নেই, দাওয়া নেই শুক্রবারে দিনটা পুরো ঘুমায়ে ঘুমায়ে কাটায়ে দিলো। আল্লাহর ত্রিশটা দিন রাত জেগে মোবাইল টেপবে, ল্যাপটপে গেম খেলবে আর সকাল বেলা পরে পরে মোষের মতো ঘুমাবে। তোর বাপকে বলছি যেন তোর ফোনটা কেড়ে নেই, আর ওই শয়তানের বাক্স, ওই ইন্টারনেট সব বিল বন্ধ। দেখি তুই রাত জেগে কি করিস?

আন্টিঃ তামিম, তুই উঠবি না আমি ঝাড়ুর বারি দিবো।

তামিমঃ মা, কয়টা বাজে। একটু আগেই তো ঘুমালাম।

আন্টিঃ রাতের বেলা কি চুরি করতে গেছিলি? শুক্রবারের দিনটা কোথায় সকাল সকাল ঘুম থেকে উঠবে, আমার একটু হাতে হাতে দিয়ে কাজ গুলো আগায়ে দেবে। আমি একা মানুষ আর কত কাজ করবো? গোসল নেই, পানি নেই। জুম্মার দিন, নামাজ পড়তে যাবি না তুই? ওঠ তাড়াতাড়ি।

তামিমঃ মা, উঠিছি। আর পাঁচ মিনিট?

আন্টিঃ তুই উঠবি নাকি আমি তোর বাপকে ডাক দিবো? তামিমের আব্বু, ওই তামিমের আব্বু ...

তামিমঃ উঠে গেছি মা, উঠে গেছি।

তামিমের এখন কি কন্ডিশন তা তো বুঝতেই পারছেন, পুরাই ঝাড়ুর ওপর। উহু, প্রোগ্রামিং এর কন্ডিশন না, বাস্তব কন্ডিশন। ঠিক এই সময় রিয়ার আবির্ভাব।

রিয়াঃ কেমন আছো খালামনি, সকাল সকাল চেঁচাচ্ছ কেন?

রিয়াঃ কিরে তামিম, তুই এখনো পরে পরে ঘুমাচ্ছিস? তোকে না রাতে বললাম আমি সকাল বেলা আসছি।

আন্টিঃ চেঁচাচ্ছি কি আর সাধে? এই আধ ধামরা ছেলে সারা রাত ধরে গেম খেলবে আর দুপুর পর্যন্ত পরে পরে ঘুমাবে। গোসল নেই, নামাজ নেই যখন দেখি তখন ওই শয়তানের বাক্সটার সামনে বসে থাকে।

রিয়াঃ খালামনি, তামিম মোটেও গেম খেলে সময় নষ্ট করে না। ও কিভাবে গেম বানাতে হয় সেই সব শিখছে। একটা গেম বানাতে পারলে কি হবে তুমি জানো? কোটি কোটি টাকায় বিক্রি হবে।

আন্টিঃ তুই আর ওর সাথে তাল দিস না। আর ওই কোটি টাকার গেম আমরা বেঁচে থাকতে আর বিক্রি হবে না। ভিডিও গেমের দাম নাকি কোটি টাকা। ৫০ টাকায় ফুটপাতে বিক্রি হয়। কতবার করে বলছি পড়াশোনার পাশাপাশি এখন থেকেই বিসিএসের প্রিপারেশন নিতে থাক। না সেই দিকে কোনো খেয়াল নেই, এসেছে গেম বানাতে। পাশের বাসার ভাবির ছেলে ...

রিয়াঃ খালামনি! পাশের বাসার ভাবির ছেলের গল্প আমরা সবাই জানি। এখন দয়া করে একটু থামো। এই তামিম, যা ফ্রেশ হয়ে এসে খেয়ে নে। আজকে কন্ডিশন নিয়ে বিস্তর আলোচনা আছে, বিকালে পুরো গ্যাং আসবে।

তামিমঃ আমার এই কন্ডিশন দেখে তোর কন্ডিশনই পড়ার শখ জাগলো? আর তাছাড়া রাতে আমি ভ্যারিয়েবল আর অপারেটরের মধ্যেকার প্রেম নিয়ে রিসার্স করছিলাম। আমি কন্ডিশনে হাত দিয়েও দেখি নি।

রিয়াঃ এই জন্যই তো আমি সাত সকালে তোর বাসায় এসেছি। পোলাপান আসবে বিকাল ৪ টায়। তার আগে আমরা কিছু রিসার্স করে ফেলি।

তামিমঃ আমার সময় লাগবে, আমি ফ্রেস হয়ে নিজের ইমেইল চেক না করা পর্যন্ত আমার পেটের খাবার হজম হবে না। সকাল বেলা টয়লেট হোক আর না হোক মেইল আমার চেক করতেই হবে।

রিয়াঃ আচ্ছা বাবা করিস, আগে ফ্রেস তো হয়ে আয়।

আন্টিঃ রিয়া, একটু এদিগে শোন তো মা। আমি ঘরদোর পরিষ্কার করছি, আমার গা হাত পা ময়লা। তুই একটু খাবারটা গরম করে দে না মা? ওয়াশরুম থেকে বের হয়েই খাবারের জন্য চেঁচামেচি শুরু করে দিবে।

রিয়াঃ আচ্ছা খালামনি, আমি এখনই করছি।

তামিমঃ কই কই? আমার খাবার কই? আমার ফ্রেশ হওয়া শেষ।

রিয়াঃ দুই মিনিটে তুই কি ফ্রেশ হইলি? যা ভালো করে ফ্রেশ হয়ে আয়।

তামিমঃ ঘুমাইছিই আর কতক্ষণ? ঘুমালাম না ন্যাপ নিলাম তাই তো বুঝলাম না? এর থেকে বেশি কি ফ্রেশ হবো? তাড়াতাড়ি খাবার দে, খেয়ে দেয়ে কন্ডিশন নিয়ে বসতে হবে। কি খাবার এখন?

রিয়াঃ খিচুরি, ডিম ভাজি আর আলু ভর্তা।

তামিমঃ ওহ শিট! মা, মা। আমার নাস্তা কই? তুমি জানো না আমি সকালে ভাত খাই না?

আন্টিঃ চেঁচাস না। তুই জানিস না শুক্রবারে আমার কাজ থাকে। এই দিন সকালে শুধু খিচুরি রান্না হয়? ভাত না খাইলে বাইরে থেকে গিয়ে নাস্তা কিনে নিয়ে আয়।

তামিমঃ শুক্রবারের দিন সাড়ে এগারোটার সময় কে আমার জন্য নাস্তা নিয়ে বসে আছে? যা আছে সব পচা বাসি। আমি ওই সব খাবো না।

আন্টিঃ হয় ভাত খা, না হলে চুপ করে বসে থাক। আমি কাজে ব্যস্ত, কিছুই বানায়ে দিতে পারবো না। লাল কৌটায় মুড়ি আছে, নিয়ে চাবাতে থাক।

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

রিয়াঃ দুনিয়াতে সব খারাপের মধ্যেও ভালো কিছু থাকে।

তামিমঃ আমার কন্ডিশন দেখে খুব হাসি পাচ্ছে না তোর? খুব মজা নিতে ইচ্ছে করছে? এই খানে তুই কি ভালো খুঁজে পেলি বলতো আমাকে?

রিয়াঃ চোখ থাকলে খারাপের ভিতর থেকেও ভালো খুঁজে বের করা যায়, বুঝলে বাছা।

তামিমঃ এমন ভাব করছিস যে, আমার বেহাল কন্ডিশন দেখে তুই প্রোগ্রামিং এর কন্ডিশন বুঝে ফেলেছিস।

রিয়াঃ আন্দাজে হলেও সঠিকই ধরেছিস। এবং তুই যদি প্রমিস করিস ধার নামক ভ্যারিয়েবলের ভ্যালুতে আজকেই শূন্য অ্যাসাইন করবি তাহলে তোর এই কষ্টের মোমেন্টটাকেও সুখের মোমেন্টে রূপান্তর করতে পারি।

তামিমঃ শর্ত ছাড়া কি তুই কোনো কাজ করতে পারিস না?

রিয়াঃ উহু, মোটেও না। নট ইয়েস 😂

তামিমঃ আচ্ছা বল কাহিনী কি?

রিয়াঃ কন্ডিশনের বাংলা মিনিং কি?

তামিমঃ অবস্থা?

রিয়াঃ আরে এটা না, তোর মাথায় তো এখন শুধু এটাই আসবে।

তামিমঃ আর কি আছে? দাঁড়া, গুগল করে দেখি ... শর্ত।

রিয়াঃ ইয়েস, শর্ত। আচ্ছা শর্তের ক্ষেত্রে কি হয়?

তামিমঃ শর্তের ক্ষেত্রে কি হয় মানে?

রিয়াঃ মানে, ধর আমি কোনো একটা কিছুতে তোর সাথে শর্ত লাগালাম। তুই জিতলে তোকে একটা ২ লিটারের কোক খাওয়াবো। আর আমি জিতলে তুই আমাকে অ্যারাবিয়ান হোয়াইট মকা কফি খাওয়াবি।

তামিমঃ ওকে, তারপরে ...

রিয়াঃ আমি যদি কোনো কারণে শর্তে জিতে যায়, তাহলে তুই কি কোনো ভাবেই কোকাকোলা পাবি?

তামিমঃ না, পাবো না।

রিয়াঃ গুড। তুই যদি জিতে যাস তাহলে আমি কি কখনো কফি পাবো?

তামিমঃ তুই হারলে তোকে দিবো আমি? জিতলেই দিতাম না, আর হারলে।

রিয়াঃ ভালো করে খেয়াল কর, শর্তের ওপরে ভিত্তি করছে কে পুরস্কার পাবে আর কে পাবে না। একজন পেলে আর একজন কোনো ভাবেই পাবে না।

তামিমঃ হুম ঠিক।

রিয়াঃ এখন শর্তটাকে যদি আমরা একটা রিলেশনাল অপারেশন অথবা বুলিয়ান ভ্যারিয়েবল দিয়ে প্রকাশ করি তাহলেই এটা একটা কন্ডিশন হয়ে গেলো।

তামিমঃ কেমনে কেমনে?

রিয়াঃ শর্তটা যদি True রিটার্ন করে তাহলে ধরে নে তুই জিতে গেছিস, আর শর্তটা যদি False রিটার্ন করে তাহলে আমি জিতে গেছি। এই কথাটাকেই আর এক ভাবে বলা যেতে পারে কন্ডিশন যদি True রিটার্ন করে তাহলে তুই কোকাকোলা পাবি, আর যদি False রিটার্ন করে তাহলে আমি অ্যারাবিয়ান হোয়াইট মকা কফি পাবো।

তামিমঃ বাহ দারুণ তো, এটাই কন্ডিশন? এটা তো খুব সহজ।

রিয়াঃ সহজ না? আজ সকালে তোর সাথে অনেক গুলো কন্ডিশন ঘটেছে, যেটাকে তুই বাস্তব জীবনের কন্ডিশন ভাবছিলি । এবার সেই গুলোকে প্রোগ্রামিং এর কন্ডিশন এ রূপান্তর করতো।

তামিমঃ ওকে, আমি পারবো। ... কোনটা দিয়ে শুরু করি? কোনটা দিয়ে শুরু করি?

রিয়াঃ হিন্টস দিবো? শুক্রবার, আন্টি, নাস্তা ...

তামিমঃ ওকে ওকে পেয়েছি পেয়েছি। যদি দিন শুক্রবার হয় তাহলে সকালে খিচুরি রান্না হবে আর যদি না হয় তাহলে রুটি আলুভাজি হবে।

রিয়াঃ এইতো, গাধা আস্তে আস্তে গরু হচ্ছে। উন্নতি উন্নতি, চালিয়ে যা।

তামিমঃ দিন যদি শুক্রবার হয় এবং আমি যদি ১১ টা পর্যন্ত ঘুমায় তাহলে ঝাঁটার বাড়ি খেতে হবে।

রিয়াঃ দুইটা কন্ডিশন, মানে লজিক্যাল অপারেটরের এক্সাম্পলও পেয়ে গেছিস? বাহ বাহ

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

রিয়াঃ আরে তোর তো হেভি প্রোগ্রেস। আমার তো মনে হচ্ছে তুই কিছুক্ষণের ভিতরে গরু থেকে ষাঁড়ও হয়ে যাবি। অবশ্য ক্রেডিট গোস টু আন্টি।

তামিমঃ কিভাবে? আন্টি এখানে কিভাবে ক্রেডিট পেল?

রিয়াঃ যদি আন্টি তোকে না ঝাড়তো তাহলে আমার মাথায় আইডিয়া আসতো না। যদি আমার মাথায় আইডিয়া না আসতো তুইও এতো সহজে কন্ডিশন বুঝতে পারতি না। আর খারাপ সময় থেকে ভালো জিনিস বের করে আনা শিখতি না।

তামিমঃ ইয়েস, অল ক্রেডিট গোস টু মম। মা, ও মা, আবার এক পশলা একটু ঝারবা? পরের কনসেপ্ট গুলোও তাহলে ক্লিয়ার হয়ে যেত।

রিয়াঃ গাধা 😂 😂 😂

What is Condition?

কন্ডিশন মানে হচ্ছে শর্ত। কম্পিউটার একটা বোকা মেশিন। কম্পিউটার কোনো কিছু চিন্তা করতে পারে না। সহজ কথায় বললে সে ডিসিশন নিতে পারে না যে কখন কি করতে হবে। কম্পিউটার শুধু পারে সোজা সাপটা যা বলা হবে তা এক্সিকিউট করতে। কিন্তু বাস্তব জীবনের সমস্যা সমাধান করার জন্য আমাদের প্রায় সব সময়ই ডিসিশন নিতে হয়। কম্পিউটারকে দিয়ে ডিসিশন নেওয়ার কাজটা করে থাকে কন্ডিশন। আসলে কম্পিউটার কিন্তু এখনো সোজা সাপটাই চিন্তা করে, প্রতিটা অপারেশন স্ট্রেইটফরোয়ার্ড ভাবেই এক্সিকিউট করে। কন্ডিশন কি করে দুইটা ব্রাঞ্চ ক্রিয়েট করে। দুইটা ব্রাঞ্চের কোডই কম্পিউটারের কাছে থাকে। কম্পিউটার কোন ব্রাঞ্চ বেছে নিয়ে এক্সিকিউট করবে সেটা নির্ভর করে একটা বুলিয়ান ভ্যারিয়েবলের ওপরে। বুলিয়ান তো আমরা চিনি তাই না? ওই যে True or False, আমাদের কাছে এটা True or False হলেও কম্পিউটারের কাছে এটা 1 এবং 0। 1 মানে হচ্ছে True আর 0 মানে হচ্ছে False।

কোনো নির্দিষ্ট একটা ভ্যারিয়েবল এই True or False ভ্যালুটা ধারণ করে থাকে। যদি ভ্যারিয়েবলের ভ্যালু True হয় তাহলে একটা ব্রাঞ্চের কোড এক্সিকিউট হবে। আর যদি False হয় তাহলে আর একটা ব্রাঞ্চের কোড এক্সিকিউট হবে। কম্পিউটার কিন্তু স্ট্রেইটফরোয়ার্ড ভাবেই কোড গুলো এক্সিকিউট করে, কোনো রকম প্যাঁচ সে বুঝবেই না। অনেকটা ট্রেনের লাইন পরিবর্তন করার মতো। ট্রেনতো পুরো বডি ১৮০ ডিগ্রি ঘোরাতে পারে না। সব সময়ের জন্যই সোজা চলতে থাকে। ট্রেন যদি আমরা ঘোরাতে চাই তাহলে আমাদের লাইনটাকেই এমন ভাবে সাজাতে হবে যেন কোনো একটা কিছু ট্রিগার করার মাধ্যমে আমরা ট্রেনের লাইনই পরিবর্তন করে দিতে পারি। ঠিক একই ভাবে প্রোগ্রামিং এও কোনো একটা কিছু ট্রিগার করার মাধ্যমে কম্পিউটার কোন কোড ব্রাঞ্চ এক্সিকিউট করবে সেটা বলে দেওয়া হয়।

SL3 Framework - Condition Works Like Train

Why Do We Need Condition?

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

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

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

পৃথিবীতে যদি কথাটা ব্যতীত কোনো কন্ডিশনই সম্ভব না। তাহলে কন্ডিশন বুঝতে হলে আমাদের প্রথম কাজ হচ্ছে যদি কে ভালো ভাবে বুঝতে হবে। কোথায় কোথায় আমরা যদি ব্যবহার করতে পারি সেটা খুঁজে বের করতে হবে। আর এটা মনে প্রাণে বিশ্বাস করতে হবে যে, আমি কন্ডিশন নিয়ে চিন্তা করছি মানে চিন্তাটা শুরুই করতে হবে যদি দিয়ে। যদি কথাটা মূলত বোঝাবে যে এটা একটা কন্ডিশন। তাহলে কন্ডিশন কি হবে?

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

আমরা একটু তামিম রিয়ার কথোপকথনে ফিরে যায়। "সময় যদি ১১ টার থেকে বেশি হয় তাহলে বাইরে নাস্তা পাওয়া যাবে না" - এই কন্ডিশনটা বোঝানোর জন্য আমাদের অবশ্যই রিলেশনাল অপারেটরের কাছে যেতে হবে। কারণ আমি বর্তমান সময়ের সাথে কম্পেয়ার করে দেখার চেষ্টা করছি বর্তমান সময় ১১ টার থেকে বেশি না কম। আবার "যদি সকালে নাস্তা না পাই তাহলে মুড়ি খেতে হবে আর পেলে তো নাস্তায় খাবো" এই কন্ডিশনের ক্ষেত্রে আমাদের কোনো রিলেশনাল অপারেটরের দরকার নেই। আমরা নাস্তা পেয়েছি কিনা সেটা যদি একটা বুলিয়ান ভ্যারিয়েবলের মধ্যে স্টোর করে রাখতে পারি তাহলেই আমরা কন্ডিশনটা চেক করে দেখতে পারবো।

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

SL3 Framework - Computer is Dumb

Continue Conversation (1) -

প্রেক্ষাপটঃ বেলা তিনটা বাজে, দুপুরের খাওয়া শেষ করে তামিম আর রিয়া বসে 'No Team' এর জন্য অপেক্ষা করছে।

তামিমঃ 'No Team' কখন আসবে?

রিয়াঃ ওরা বাসা থেকে বের হচ্ছে, ৩০ মিনিটের মধ্যেই ওরা চলে আসবে।

তামিমঃ তাহলে এই ৩০ মিনিট কি করবো?

রিয়াঃ চল লুডু খেলি।

তামিমঃ ভালো একটা আইডিয়া দিয়েছিস তো।

রিয়াঃ আমি লুডুর কোট বের করবো? কোথায় রেখেছিস?

তামিমঃ না, লুডু খেলবো না।

রিয়াঃ এই না বললি ভালো আইডিয়া দিয়েছি। আবার বলছিস খেলবি না?

তামিমঃ ভালো আইডিয়া এই জন্যই বললাম, যে লজিক খোঁজার ভালো একটা উপায় পাওয়া গেলো। এখন বসে তুই আর আমি লুডুর ভিতর থেকে লজিক বের করবো।

রিয়াঃ বাহ, আসলেই ভালো আইডিয়া তো। দেখেছিস আমি কত বুদ্ধিমান।

তামিমঃ আমরা প্রথমে সাপ লুডুর কথা চিন্তা করতে পারি।

রিয়াঃ সাপ লুডু তো সহজ, পুট পরলে গুটি বের হবে আর পুট না পরা পর্যন্ত গুটি বের হবে না, সিম্পল।

তামিমঃ এতো টাও সহজ না, যতক্ষণ না পুট পরবে ততক্ষণ গুটি বেরই হবে না। কিন্তু একবার গুটি বের হয়ে গেলে পরে পুট পরলে আবার মারার চান্স পাবো।

রিয়াঃ হুম, তার মানে এখানে এক পুটই দুই রকম ব্যবহার করছে। কিভাবে এই কাজটা করা যেতে পারে?

তামিমঃ একটা ভ্যারিয়েবল দিয়ে।

রিয়াঃ একটা ভ্যারিয়েবল দিয়ে কিভাবে?

তামিমঃ দেখ, একদম শুরুতে তো কারোরই পুট পরা থাকে না, আমরা শুধু চালতেই থাকি চালতেই থাকি। তাই শুরুতেই পুট পড়েছে নামক ভ্যারিয়েবলের ভিতরে False স্টোর করে রাখবো। যতক্ষণ পুট পড়েছে ভ্যারিবলের ভ্যালু False ততক্ষণ তুই চালতে পারবি কিন্তু গুটি নড়বে না।

রিয়াঃ ওহ বুঝতে পেরেছি। পুট পড়ে যাওয়ার পরে পুট পড়েছে ভ্যারিয়েবলের ভ্যালু True করে দিতে হবে। তাহলে পরের বার থেকে পুট পরলে নতুন করে চাল দেওয়ার সুযোগ পাওয়া যাবে।

তামিমঃ এক্সাক্টলি, আর কি কি কন্ডিশন আছে?

রিয়াঃ যেহেতু একটা গুটির ছয়টা দিক ১ থেকে ৬ পর্যন্ত, তাই ছয়টা ভিন্ন ভিন্ন কন্ডিশন নিয়ে কাজ করতে হবে।

তামিমঃ না, শুধুমাত্র একটা কন্ডিশন দিয়েই কাজ শেষ করা যাবে। ছয়টা ভিন্ন ভিন্ন কন্ডিশন লাগবে না।

রিয়াঃ কেমনে? দুই পরলে কি হবে, তিন পরলে কি হবে, চার পরলে কি হবে সে গুলো কি লজিক না?

তামিমঃ সে গুলোও লজিক, কিন্তু খেয়াল করে দেখ। এক পরলে আমি নতুন করে চালার সুযোগ পাচ্ছি। কিন্তু ২, ৩, ৪, ৫, ৬ যায় পরুক না কেন আমার গুটি শুধু ওই পরিমাণ এগিয়ে যাবে। তাহলে এখানে তো এত গুলো কন্ডিশন নেওয়ার দরকারই নেই।

রিয়াঃ আমি ব্যাপারটা এখনো বুঝতে পারি নি।

তামিমঃ মনে কর একটা গুটি নামের ভ্যারিয়েবল আমার গুটি কই আছে সেটা ধারণ করে রাখবে। খেলার শুরুতে গুটির ভ্যালু থাকবে শূন্য। পুট পরার পর থেকে গুটির ভ্যালু বাড়তে বাড়তে থাকবে। গুটির ভ্যালু বাড়তে বাড়তে যদি ১০০ হয়ে যায় তাহলে আমি জিতে গিয়েছি। এখন যদি পুট পরে তাহলে আমি আবার চাল দেওয়ার সুযোগ পাবো। একটা টেম্পোরারি ভ্যারিয়েবলের মধ্যে আমি ১ রেখে দিলাম। পরের বার চাল দেওয়ার পরে আমি যত পেলাম সেটা এবং টেম্পোরারি ভ্যারিয়েবলের ১ যোগ করে যা হয় তা আমি আমার আগের গুটির ভ্যালুর সাথে যোগ করে দেবো। এই ভাবেই তো গুটি সামনে এগিয়ে যেতে থাকবে।

রিয়াঃ ওহ, এবার বুঝতে পেরেছি। আসলে কন্ডিশন ভিন্ন হওয়ার জন্য তো প্যাটার্নও ভিন্ন হতে হবে। এখানে ২-৬ পর্যন্ত নাম্বারের জন্য তো এক্সট্রা কোনো প্যাটার্ন নেই। তাই এই গুলোকে একটা কন্ডিশনের ভিতরে রাখলেই চলছে, তাই না?

তামিমঃ তুই শত ভাগ ঠিক বলেছিস। তাহলে চল এবার সাপে কাটা এবং মইয়ে চড়ার কন্ডিশন গুলো দেখে ফেলি।

রিয়াঃ কয়টা বাজে ঘড়ি দেখ, অলরেডি আবির ফোন দিয়েছিল। এখন আর লজিক বের করতে হবে না। এখন আড্ডা হবে নো টিমের সাথে।

Type of Conditions

পৃথিবীর যে কোনো লজিক তিনটি মাত্র কন্ডিশন দিয়েই প্রকাশ করা সম্ভব।

  • IF Condition
  • ELSE Condition
  • ELSE IF Condition

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

ELSE Condition: ELSE কন্ডিশটাও একদম IF কন্ডিশনের মতোই। IF কন্ডিশনের ক্ষেত্রে কন্ডিশন যদি মিথ্যা হয় তাহলে কিছুই হয় না। কিন্তু এই ক্ষেত্রে দুইটা লজিক্যাল ব্লক থাকে। যদি কন্ডিশন সত্য হয় তাহলে একটা ব্লক এক্সিকিউট হয়, আর যদি মিথ্যা হয় তাহলে আর একটা ব্লক এক্সিকিউট হবে। তার মানে কন্ডিশন সত্য হোক বা মিথ্যা একটা না একটা কোড ব্লক এক্সিকিউট হবেই।

ELSE IF Condition: শুধু মাত্র IF and ELSE কন্ডিশন ব্যবহার করেই সমস্ত ধরনের লজিক লেখা সম্ভব। কিন্তু আমাদের কাজ সহজ করার জন্য কাজ করছে ELSE IF কন্ডিশন। যখন আমাদের একের অধিক কন্ডিশন নিয়ে কাজ করতে হয় তখন ELSE IF কন্ডিশন ব্যবহার করা হয়। ELSE IF কন্ডিশন ব্যবহার না করে আপনি যদি ELSE কন্ডিশনের ভিতরে আবারও IF কন্ডিশন নেন তাহলেও একই কাজ হবে।

Continue Conversation (2) -

প্রেক্ষাপটঃ 'No Team' এর বিকে (বাধন খান), মাহির, সেতু এবং রিজুয়ান চলে এসেছে। আজকে সবাই মিলে কন্ডিশন নিয়ে আড্ডা হবে। উদ্দেশ্য হচ্ছে বাস্তব জীবন থেকে কন্ডিশনের উদাহরণ খুঁজে বের করা এবং কন্ডিশন নিয়ে আলোচনা করা।

তামিমঃ আরে নো টিম চলে এসেছে। কি অবস্থা বিকে ভাই? সেতু ভাই কেমন আছেন? সবাই আসেন, ভিতরে আসেন।

রিয়াঃ সবাই তামিমের রুমে গিয়ে বসো, ওই রুমেই আড্ডা হবে। আমি কিছু স্ন্যাকস এর ব্যবস্থা করি।

বিকেঃ আরে না, এখন কিছুই ব্যবস্থা করার দরকার নেই। কেবল লাঞ্চ করে আসছি সবাই।

মাহিরঃ হুমম, এখন পেট ভরা। আলোচনা করতে করতে খিদে লেগে যাবে, তখন খাবো।

রিয়াঃ রিজুয়ান ভাই তো কোনো কথায় বলছেন না, লজ্জা পাচ্ছেন নাকি?

রিজুয়ানঃ না আপু, লজ্জা পাচ্ছি না। আপনাদের কে প্যারা দেওয়ার জন্য আমি আগে থেকেই প্রস্তুত হচ্ছি।

সেতুঃ আমার কাছে SL3 এর যে বিষয়টা সব থেকে ভালো লেগেছে সেটা হচ্ছে বাস্তব জীবন এর সাথে প্রোগ্রামিং এর সম্পর্ক স্থাপন করার ব্যাপারটা।

মাহিরঃ আপনি ঠিকই বলেছেন। আগে প্রোগ্রামিং কে অন্য জগতের কিছু একতা মনে হতো। এখন অনেক আপন আপন লাগে, অনেক সহজ লাগে।

বিকেঃ আমি তো আগে টার্মস গুলো শুনলেই ভয় পেতাম, কি করবো এই গুলো দিয়ে সেটাই বুঝতাম না।

রিয়াঃ আমি তো এখন মেকআপ করতে গেলেও প্রোগ্রামিং খুঁজে পাই।

সবাইঃ হো হো, হা হা

তামিমঃ একটা জিনিস এই কয় দিনে আমি খেয়াল করলাম, প্রোগ্রামিং এ এমন কিছুই নেই যেটা আমরা বাস্তব জীবনে উপলব্ধি করি না। সব কিছুই আমাদের জীবন থেকে নিয়ে একটা করে নাম দিয়ে দিয়েছে আর একটা করে কনসেপ্ট হয়েছে।

রিয়াঃ আর আমরা ওই কনসেপ্টটা বোঝার চেষ্টা না করে কঠিন নামটা নিয়ে পরে আছি।

বিকেঃ এই জন্যই তো নাঈম ভাই আমাদেরকে বাস্তব জীবন থেকে প্রোগামিং খুঁজতে বলেছে।

সেতুঃ ভাই, এখন যেদিকে তাকাই সেদিকেই তো প্রোগ্রামিং দেখতে পাই। কিন্তু আজকে কন্ডিশন নিয়ে কি ভাবে আগাবো বুঝতে পারছি না।

মাহিরঃ আমরা সবাই সবার মতো করে কিছু এক্সাম্পল খুঁজে বের করার চেষ্টা করি, তারপরে সবাইকে ব্যাখ্যা করে বুঝায়ে দেই।

তামিমঃ এটা একটা ভালো আইডিয়া।

রিজুয়ানঃ এটা অবশ্যই ভালো আইডিয়া, তবে এর পূর্বে আমি আপনাদের সাথে একটা গেম খেলতে চাই।

রিয়াঃ কি গেম, কি গেম?

রিজুয়ানঃ আমি একটা গল্প বলবো। আপনাদের কাজ হচ্ছে গল্পের ভিতর থেকে কন্ডিশন খুঁজে বের করা আর লিখে রাখা।

বিকেঃ এটা কি মামদো ভুত আর শাঁকচুন্নির গল্প হবে?

রিজুয়ানঃ হা হা হা, না এটা একজন মানুষের সকাল বেলার গল্প হবে। বাস্তব জীবন থেকে প্রোগ্রামিং খুঁজতে হবে, কল্পনার জীবন থেকে না।

সবাইঃ ওকে, তাহলে গল্প শুরু করুন।

Story Time

আমাদের গল্পের হিরো হচ্ছে শায়েখ। শায়েখ অনেক রাত পর্যন্ত পাবজি খেলে সকাল ৮ টায় অ্যালার্ম দিয়ে ঘুমাতে গিয়েছে। সকাল ৮ টা থেকে অ্যালার্ম বাজতে বাজতে বন্ধ হয়ে গিয়েছে। ১০ টায় তার অফিস। হঠাত করে তার ঘুম ভাংলো ৯ঃ৩০ এ। সে মোবাইল ফোনের ঘড়ির দিকে তাকিয়ে এক লাফে বিছানা থেকে উঠলো। বিছানা থেকে উঠেই এক দৌড়ে ওয়াশরুমে, আজকে তার চাকুরী ঠেকায় কে?

প্রতিদিন সাধারণত সে ঘুম থেকে উঠে ব্রাশ না করেই ৩ চামচ কফি দিয়ে এক কাপ ব্ল্যাক কফি খায়। তারপরে হেলতে দুলতে ফোনটা নিয়ে ওয়াশরুমে বসে ৩০ মিনিট ধরে গান শোনে আর শাওয়ার নেই। কিন্তু আজকে ফোনটা বিছানাতেই পরে আছে। ১০ মিনিটের মধ্যে সে ফ্রেশ হয়ে বের হয়ে আসলো। হাতে আছে মাত্র ২০ মিনিট সময়। এর মধ্যেই তাকে মোহাম্মাদপুর থেকে বনশ্রী যেতে হবে।

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

সকাল বেলা উঠতে দেরি হওয়াতে সে এক গ্লাস পানিও খেতে পারেনি। তাই পানি কিনতে পাশের একটা দোকানে গেল। পানির বিল দেওয়ার জন্য ওয়ালেট (মানি ব্যাগ) বের করে সে দেখে তার কাছে কোনো টাকাও নেই। টাকা তুলতে পাশের ATM বুথে গিয়ে দেখলো সেখানে মেইন্টেনেন্স চলছে। তার পানি কেনা আর হলো না।

অফিসের পাশে একটা ATM বুথ আছে। সেখান থেকে সে টাকা তুলতে পারবে। আর তুলতে না পারলেও অফিসে কোনো একটা কলিগের কাছ থেকে ধার নিয়ে তার উবারের বিল সে পে করতে পারবে। এই ভেবে সে উবার খুঁজতে শুরু করলো। এই ক্ষেত্রে তার ভাগ্য প্রসন্ন হলো এবং সে খুব দ্রুতই একটি গাড়ি পেয়ে গেলো। গাড়ি আসতে প্রায় ৫ মিনিট সময় লাগলো। এর ভিতরেই সময় হয়ে গেছে ৯:৫০, হাতে মাত্র ১০ মিনিট সময়। এর ভিতরে তাকে অফিসে পৌঁছাতে হবে। ড্রাইভারকে সে ভাবেই ইন্সট্রাক্ট করা হলো। কিন্তু ইনি তো গাড়ির ড্রাইভার, প্লেনের ড্রাইভার তো আর না। বিজয় স্মরণির মোড়ে গিয়ে ২০ মিনিটের জ্যাম। এই জ্যাম কোনো মতে ছাড়তেই সামনে ফ্লাইওভারের সিগনালে কেটে গেলো আরও ১৫ মিনিট সময়।

১০টায় অফিস, ১০:২০ এর সময় অর্ধেক রাস্তা পৌঁছে জ্যামের ভিতরে বসে বসে শায়েখ সাহেব ভাবছে আজকে বসের ঝারি দিয়েই পেট ভরতে হবে। কোনো ভাবে নিজের কিউবিক্যালে গিয়ে বসতে পারলেই বকুলকে দিয়ে এক কাপ কফি আনাতে হবে। শুধু এককাপ কফি খেয়েই আজকের ব্রেকফাস্ট শেষ করতে হবে। আর কম্পেন্সেশন হিসেবে তো বসের ঝারি থাকছেই।

১০:৪৫ এর সময় শায়েখ সাহেব তার অফিসের সামনে গিয়ে পৌছালো। কিন্তু পৌঁছে পরা গেলো আর এক বিপদে। অফিসের পাশের ATM বুথে প্রায় ১০ জন মানুষ লাইন ধরে দাঁড়িয়ে আছে, তার সিরিয়াল ১১। জ্যামের মধ্যে বসে থেকে সে মনের মতো ফেসবুক চালিয়েছে। আর অফিসের সামনে আসতেই ফোন অফ। এদিকে উবার ড্রাইভারও তাকে তারা দিচ্ছে, দ্রুত ভাড়া দেওয়ার জন্য। সে এখন মহা বিপদে।

সব ঝামেলা সামলে সে যখন অফিসে গিয়ে পৌছালো তখন ঘড়িতে বাজে ১১:১৩। তার ভাগ্য আসলেই প্রসন্ন, কারণ এখনো বস আসে নি। তাড়াতাড়ি করে নিজের কিউবিক্যালে বসে বকুলকে বলল, ডাবল শটের এক কাপ কফি দিতে। ব্রেকফাস্ট করার মতো মুড তার আর নেই। কফি খেতে খেতে সে ইমেইলটা চেক করবে, যদি নতুন কোনো কাজ অ্যাসাইন করা থাকে তাহলে সেটা করবে। আর না হলে তার আগের প্রোজেক্ট নিয়েই কাজ শুরু করবে।

Continue Conversation (3) -

সেতুঃ ভাই আপনি গল্প বলছিলেন নাকি আমার প্রতি দিন সকালের কাহিনী বর্ণনা করছিলেন বুঝেই উঠতে পারলাম না। এত মিল!

রিজুয়ানঃ এই রকম ভাই প্রায় সবার সাথেই ঘটে। এবার গল্পের থেকে কন্ডিশন গুলো দেখা যাক।

তামিমঃ জ্বি শুরু করুন। প্রথমে কে বলবে?

বিকেঃ আমি বলবো, আমি বলবো। প্রথম কন্ডিশন আমিই খুঁজে বের করবো।

রিজুয়ানঃ ওকে ভাই, আপনিই বলেন।

বিকেঃ যদি আমি সকাল সকাল ঘুম থেকে উঠতে না পারি তাহলে বেশিক্ষণ ওয়াশরুমে থাকতে পারবো না।

সবাইঃ হা হা হা হা

রিজুয়ানঃ পরেরটা কে বলবে?

তামিমঃ যদি ATM বুথে মেইন্টেনেন্স চলে তাহলে টাকা তুলতে পারবো না।

রিয়াঃ যদি অনেক রাত পর্যন্ত পাবজি খেলি সকালে অফিসে বসের ঝারি খেতে হবে।

মাহিরঃ যদি অফিস থাকে দশটায় তাহলে ঘুম থেকে উঠতে হবে আটটায়।

সেতুঃ যদি অ্যালার্মের সাথে সাথে ঘুম থেকে উঠতে পারি তাহলে দিন ভালো যাবে, নাহলে দিন সকালেই শেষ।

বিকেঃ যদি অ্যালার্মে ঘুম ভাঙ্গে বাথরুম টাইম = ৩০ মিনিট, না হলে বাথরুম টাইম = ১০ মিনিট

রিজুয়ানঃ এটা ভালো ছিল বিকে ভাই।

বিকেঃ ভালো ছিল না, আমি তো এইটাই বলতে চাইছি।

রিয়াঃ যদি বস লেট করে ক্যান্টিন থেকে ব্রেকফাস্ট করবো, যদি বস সময় মতো আসে তাহলে ব্রেকফাস্ট = ঝারি।

মাহিরঃ পকেটে টাকা থাকলে উবার বিল দিতে পারবো, না থাকলে উবার ড্রাইভার বেধে পেদাবে।

রিজুয়ানঃ হা হা হা, আপনারা তো ভাই অনেক ক্রিয়েটিভ। আর দরকার নেই, আমরা বোঝা হয়ে গেছে যে আপনারা কন্ডিশন শিখে ফেলেছেন। আমিই এখনো পিছে পরে আছি।

সেতুঃ কে জানি পিছে পরে আছে? কন্ডিশন বুঝে তা নিয়ে বাস্তব গল্প বানিয়ে ফেললেন, আবার এখন বলেন আপনি পিছনে পরে আছেন?

বিকেঃ মানুষ জন ভাব নেই বোঝেন না?

রিয়াঃ ওকে, নাস্তা চলে এসেছে। চলেন সবাই নাস্তা করে নেই। পরে আবার আড্ডা হবে।

Story Breakdown

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

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

এই যদি শব্দটা প্রোগ্রামিং এ খুবই গুরুতপূর্ণ, কারণ এই যদি ব্যবহার করেই আমরা লজিক তৈরি করে থাকি। যদি সময় ৮:০০ টা হয় তাহলে অ্যালার্ম বাজবে। অ্যালার্ম কিন্তু একটা প্রোগ্রাম। যদি ফোনের চার্জ ১৫% এর নিচে চলে আসে তাহলে নোটিফিকেশন দিবে, পাওয়ার সেভিংস মোডে চলে যাবে। যদি কোনো নোটিফিকেশন আসে তাহলে নোটিফিকেশন ইনডিকেটর বিলিংক (জ্বলবে, নিভবে) করবে। যদি ফোনের ডার্ক মোড সিলেক্ট করা থাকে তাহলে থিম ডার্ক হয়ে যাবে, যদি লাইট মোড সিলেক্ট করা থাকে তাহলে লাইট হয়ে যাবে। হাজার হাজার যদি, যদি ১০০০ লাইনের কোড লেখা হয়, সেখানে আপনি এই রকম ১০০ যদি খুঁজে পাবেন।

Ending Conversation

তামিমঃ আজকে যা যা আলোচনা হলো, সব কিছু লিখে রাখবো ভাবছি।

রিয়াঃ কন্ডিশনের ওপরে তো এমনিতেই আর্টিকেল লিখে জমা দিতে হবে।

তামিমঃ আমি ওই ফরমাল আর্টিকেলের কথা বলছি না। বলছি আজকের সব কিছু জার্নাল আকারে লিখে রাখবো। তাহলে সারা দিনে কি কি করলাম আর একবার রিক্যাপ হয়ে যাবে এবং পরেও আবার এই গুলো দেখে মজা পাবো।

সেতুঃ এটা ঠিক বলেছেন ভাই, তবে আমার লিখতে খুব একটা ভালো লাগে না। আমি ভাবছি প্রতিদিন রাতে একটা ছোট্ট করে Vlog করবো যে আজকে সারা দিন কি করলাম।

মাহিরঃ হুম এটাও অনেক ভালো আইডিয়া।

রিজুয়ানঃ তবে ভাই, আজকের শেখাটা অনেক জোশ ছিল। সবাই মিলে শিখলে মজাই থাকে অন্যরকম।

রিয়াঃ এই জন্যই তো SL3 বার বার করে বলছে টিম করে শিখতে।

বিকেঃ নাঈম ভাই একটা কথা বলে সব সময়। একজন ভালো স্টুডেন্ট হতে হলে সবার প্রথমে একজন ভালো টিচার হতে হবে। আর একজন ভালো টিচার হতে হলে ভালো স্টুডেন্ট হতে হবে। স্টুডেন্ট যদি টিচারের মতো চিন্তা করে শেখার সময় তাহলে খুব দ্রুত অনেক কিছু শিখে ফেলতে পারে। আবার একজন টিচার যদি শেখানোর সময় একজন স্টুডেন্টের চিন্তা বুঝতে পারে তাহলে অনেক ভালো ভাবে নলেজটা শেয়ার করতে পারে।

তামিমঃ খাঁটি কথা।

রিয়াঃ আজকে অনেক পড়াশোনা হয়েছে, আর না। কালকে নো টিম আবার আসবেন। আমরা লুপ টা শেষ করবো এক সাথেই।

তামিমঃ রিজুয়ান ভাই, কালকেও আর একটা স্টোরি চাই।

সবাইঃ জ্বি ভাই, জ্বি ভাই। স্টোরি ব্রেক ডাউন করে শিখতে অনেক ভালো লাগে।

ওকে বিদায়, কালকে লুপ নিয়ে আলোচনা হবে।

Edit this page on GitHub