Skip to content
سبق 5

Debugging When The Recipe Breaks

ہر ترکیب کبھی نہ کبھی بگڑتی ہے۔ چپاتی پھولتی نہیں۔ کل اڑنے والی پتنگ آج نہیں اڑتی۔ آپ نے جو ٹریفک سگنل کا ماڈل بنایا تھا، وہ دو سیکنڈ دیر سے سرخ ہوتا ہے۔ جب ترکیب بگڑتی ہے، تو زیادہ تر لوگ ہار مان لیتے ہیں اور خود کو نا…

اس کو سمجھنے کا ایک سے زیادہ طریقہ ہے۔ اگر آپ کو صرف ایک طریقہ سکھایا گیا ہے تو آپ کو حق سے کم سکھایا گیا ہے۔

اس کو سمجھنے کا ایک سے زیادہ طریقہ ہے۔ اگر آپ کو صرف ایک طریقہ سکھایا گیا ہے تو آپ کو حق سے کم سکھایا گیا ہے۔

ہر ترکیب کبھی نہ کبھی بگڑتی ہے۔ چپاتی پھولتی نہیں۔ کل اڑنے والی پتنگ آج نہیں اڑتی۔ آپ نے جو ٹریفک سگنل کا ماڈل بنایا تھا، وہ دو سیکنڈ دیر سے سرخ ہوتا ہے۔ جب ترکیب بگڑتی ہے، تو زیادہ تر لوگ ہار مان لیتے ہیں اور خود کو ناکارہ کہنے لگتے ہیں۔ کمپیوٹیشنل تھنکنگ والا اِس کے اُلٹ کرتا ہے۔ وہ متجسس ہو جاتا ہے۔ وہ ڈیبگ کرتا ہے۔ ڈیبگنگ صرف یہ پُرسکون عادت ہے کہ آپ ڈھونڈیں کہ قدم کہاں دنیا سے میل کھانا چھوڑ گئے۔

اُس چپاتی کو لیں جو نہیں پھولتی۔ آپ کے ذہن میں ترکیب یہ ہے، گوندھیں، آرام دیں، پتلی بیلیں، گرم توا، ایک بار پلٹیں، ہلکا دبائیں، یہ پھول جاتی ہے۔ آج نہیں پھولتی۔ ڈیبگنگ کا پہلا قدم یہ پوچھنا ہے کہ آج کون سا قدم مختلف تھا۔ شاید آٹا پرانا اور خشک تھا۔ شاید بیلائی ایک طرف زیادہ موٹی تھی۔ شاید توا اِتنا گرم نہیں تھا کیونکہ گیس کا پریشر کم تھا۔ اِن میں سے ہر ایک ایک مفروضہ ہے، جواب نہیں۔

ڈیبگنگ کے کچھ چھوٹے سوالات ہیں جو ہر جگہ کام کرتے ہیں۔ میں نے کیا ہونے کی توقع کی تھی۔ اصل میں کیا ہوا۔ پہلی جگہ کون سا قدم ہے جہاں دونوں کہانیاں اختلاف کرتی ہیں۔ آج اُس وقت سے کیا مختلف ہے جب یہ آخری بار کام کیا تھا۔ ایک خیال جانچنے کے لیے میں جلدی کیا بدل سکتا ہوں۔ یہ پانچ سوال سادہ لگتے ہیں۔ یہی وہ سوال ہیں جو نیسپاک کا ہر انجینئر یا شوکت خانم کا ہر ڈاکٹر اندر اندر کرتا ہے جب کچھ غلط ہو جاتا ہے۔

اب ٹریفک سگنل کا ماڈل لیں۔ آپ نے گتے، اردوینو، اور تین ایل ای ڈی سے بنایا۔ سرخ، پیلا، سبز، 30، 5، اور 25 سیکنڈ کے اوقات۔ آپ دیکھتے ہیں کہ سبز کے بعد سرخ دو سیکنڈ دیر سے آتا ہے۔ آپ نے سبز ٹھیک 25 سیکنڈ کی توقع کی تھی۔ موبائل کے سٹاپ واچ سے ماپتے ہیں۔ سبز اصل میں 27 سیکنڈ چلتا ہے۔ کہانیاں پہلی بار سبز کے ٹائمر پر اختلاف کرتی ہیں۔ تو آپ اپنا کوڈ پڑھتے ہیں۔ پیلا تاخیر سبز کے لوپ کے اندر چل رہی ہے، اُس کے بعد نہیں۔ ایک لائن منتقل کی۔ بگ ٹھیک۔ گتا کبھی مسئلہ نہیں تھا۔

آج کی عادت۔ اپنے ہفتے میں ایک چھوٹی چیز ڈھونڈیں جو توقع کے مطابق نہیں چلی۔ جھولے کی ٹوٹی ہوئی پٹی۔ جلتی بجھتی ٹارچ۔ سائیکل کا گیئر جو پھسلتا ہے۔ اِس پر پانچ سوال استعمال کریں۔ مفروضے لکھیں، ایک وقت میں ایک چیز بدلیں، اور بگ ڈھونڈیں۔ پھر مختصر نوٹ لکھیں کہ بگ کیا تھا اور کس چیز نے ٹھیک کیا۔ ایسے دس نوٹس کے بعد آپ محسوس کریں گے کہ آپ نے کہنا چھوڑ دیا ہے کہ میں اِس میں ناکارہ ہوں اور کہنا شروع کر دیا ہے کہ میں نے ابھی تک ڈیبگ نہیں کیا۔ یہی تبدیلی کمپیوٹیشنل تھنکنگ کا اصل مقصد ہے۔

تخمینی وقت: 12 منٹ