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