ان سب پر حکمرانی کے لیے ایک زبان

کوڈ کی ایک تہہ کے نیچے چھپی ہوئی، ایک زبان سست ہو جاتی ہے، سیکھنے کی تڑپ۔

ان سب پر حکمرانی کے لیے ایک زبان

اس تحریر تک، سوال "پروگرامنگ کون سی زبان پہلے سیکھنی ہے" 517 ملین تلاش کے نتائج دیتا ہے۔ ان سائٹس میں سے ہر ایک مخصوص زبان کی تعریف کرے گی، اور ان میں سے 90% Python یا JavaScript کی سفارش کرے گی۔

مزید بات کیے بغیر، میں یہ کہنا چاہوں گا کہ یہ تمام 517 ملین ویب سائٹس غلط ہیں اور یہ کہ آپ کو پہلے جو زبان سیکھنی چاہیے بنیادی منطق.

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

*اس کے بعد، براہ کرم یاد رکھیں کہ یہ ایک ترجمہ ہے، اور مصنف کے لیے اور آپ کے ملک میں لیبر مارکیٹ کی صورتحال مختلف ہو سکتی ہے (ساتھ ہی دیگر باریکیاں)، تاہم، بذات خود اصل مضمون کو مزید خراب نہیں کرتا۔ تقریبا. ترجمہ

میرا کمپیوٹر سائنس کا پہلا سبق

کمپیوٹر سائنس سے میرا پہلا تعارف ایک اختیاری تھا جو میں نے 10ویں جماعت میں لیا تھا۔ پہلے ہی دن کلاس میں داخل ہوا تو اپنے سامنے بڑی تعداد میں آئس کریم کی بالٹیاں اور مختلف ٹاپنگز دیکھ کر خوشی ہوئی۔ سب کے بیٹھنے کے بعد استاد نے اعلان کیا:

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

’’کوئی مسئلہ نہیں،‘‘ میں نے سوچا، ’’یہ سبق طویل نہیں ہوگا۔‘‘ ایک منٹ یا اس سے زیادہ کے اندر میں نے اپنے خوابوں کی آئس کریم کی بہترین ترکیب لکھ دی تھی:

  1. رسبری آئس کریم کے تین اسکوپ اسکوپ کریں اور ایک پیالے میں رکھیں
  2. چاکلیٹ سوس کھولیں اور اسی پیالے میں دو کھانے کے چمچ ڈالیں۔
  3. کٹوری میں وائپڈ کریم شامل کریں۔
  4. چینی کی چھڑیوں کے ساتھ یہ سب چھڑکیں اور اوپر چیری ڈالیں۔

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

"ٹھیک ہے، ٹھیک ہے، لیکن پہلے آپ کو اسے کھولنے کی ضرورت ہے!" - میں نے کہا، جلد از جلد علاج حاصل کرنے کی کوشش کر رہا ہوں۔

"آپ نے یہ ہدایات میں نہیں لکھا، اور میں آپ کو آئس کریم نہیں بنا سکتا۔ اگلے!"

آئیے #2 کی کوشش کے لیے تیزی سے آگے بڑھیں۔

  1. ڑککن کو ہٹا کر رسبری آئس کریم کھولیں۔
  2. رسبری آئس کریم کے تین اسکوپ اسکوپ کریں اور ایک پیالے میں رکھیں
  3. چاکلیٹ سوس کھولیں اور اسی پیالے میں دو کھانے کے چمچ ڈالیں۔
  4. کٹوری میں وائپڈ کریم شامل کریں۔
  5. یہ سب چینی کی چھڑیوں کے ساتھ چھڑکیں اور اوپر ایک چیری رکھیں

ٹھیک ہے، اب یقینی طور پر کوئی مسئلہ نہیں ہونا چاہئے. صرف اس صورت میں، میں نے اس بات کو یقینی بنایا کہ میرے پاک شاہکار بنانے کے تمام اجزاء کھلے ہوں۔

استاد نے ڈھکن ہٹایا، سکوپ کیا اور تین سکوپ آئس کریم ایک پیالے میں رکھ دی۔ "آخر کار، میری خوبصورت آئس کریم سچ آنا شروع ہو گئی ہے!" پھر اس نے چاکلیٹ کی چٹنی کھولی اور پیالے میں دو کھانے کے چمچ ڈالے۔ اس نے "دو کھانے کے چمچوں میں چاکلیٹ کی چٹنی نہیں ڈالی" - ایسا مت سوچیں - اس نے یقیناً خود ہی چمچوں کو پیالے میں ڈال دیا۔ ان میں کوئی چٹنی نہیں۔ ایک بار پھر، میں نے سب کچھ بالکل ٹھیک لکھنے کی زحمت نہیں کی۔ اسی جذبے سے باقی کام کرنے کے بعد، مجھے آئس کریم کا ایک پیالہ اور دو کھانے کے چمچ ملے، جو کہ وہپڈ کریم کے سمندر کے نیچے بمشکل نمایاں تھے۔ اوپر چینی کی چھڑیوں کا جوڑا تھا۔

ایسا لگتا ہے کہ اس وقت یہ آخر کار مجھ پر آ گیا ہے: کمپیوٹر خلا میں منطق ہے۔ وہ ارد گرد کے حالات سے بے خبر ہے اور کوئی قیاس نہیں کرتا۔ وہ صرف واضح طور پر وضع کردہ ہدایات پر عمل کرتا ہے اور لفظ بہ لفظ ان کی پیروی کرتا ہے۔

میرا حتمی نتیجہ آزمائش اور غلطیوں کی ایک طویل لیکن ضروری سیریز کا نتیجہ تھا:

  1. اگر آپ نے پہلے ہی ایسا نہیں کیا ہے تو، مندرجہ ذیل پیکجوں میں سے ہر ایک کو کھولیں: رسبری آئس کریم، چاکلیٹ ساس، وائپڈ کریم، چینی کی چھڑیاں۔
  2. ایک پیالہ نکال کر اپنے سامنے رکھیں
  3. ایک آئس کریم کا سکوپ لیں اور رسبری آئس کریم کے تین سکوپ ایک ایک کر کے ایک پیالے میں رکھیں۔ آئس کریم کا سکوپ واپس جگہ پر رکھیں۔
  4. چاکلیٹ سوس کا ایک جار لیں، چٹنی کو اسکوپ کریں اور ایک کھانے کے چمچ کے مواد کو ایک پیالے میں ڈال دیں۔ سکوپنگ اور ڈالنے کے عمل کو ایک بار اور دہرائیں۔ چمچ اور جار کو واپس جگہ پر رکھیں۔
  5. وہپڈ کریم کے پیکج کو الٹا لے جائیں اور اسے پیالے کے اوپر پکڑ کر آئس کریم پر 3 سیکنڈ کے لیے ڈالیں، پھر پیکج کو اس کی جگہ پر لوٹائیں۔
  6. چینی کی چھڑیوں کا ایک برتن لیں، تقریباً چالیس چھڑیاں ایک پیالے میں ڈالیں اور جار کو واپس رکھیں۔
  7. چیری کے پیالے سے ایک چیری لیں اور اسے آئس کریم کے اوپر رکھیں۔
  8. طالب علم کو تیار شدہ آئس کریم اور ایک چمچ کے ساتھ ایک پیالہ دیں۔

آخری نکتہ خاص طور پر اہم تھا، کیونکہ اس کے بغیر، آخری وقت استاد نے میری آئس کریم کھانا شروع کر دی۔

لیکن یہ پروگرامنگ ہے۔ کمپیوٹر کے لیے ہدایات کا محتاط سیٹ بنانے کا دباؤ۔ بنیادی طور پر، یہ وہی ہے جو ہر پروگرامنگ زبان میں آتا ہے - تحریری ہدایات۔

پروگرامنگ میں کیریئر

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

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

یہ سب مجھے ایک اور اعلان پر لاتا ہے، اس بار بولڈ میں: بنیادی علم ہمیشہ سے پروگرامر کے لیے اہم رہا ہے اور رہے گا۔.

زبانیں آتی جاتی رہتی ہیں۔ فریم ورک متروک ہوتے جا رہے ہیں، اور کمپنیاں اپنے استعمال کردہ ٹیکنالوجی اسٹیک کو تبدیل کر کے مطالبہ کا جواب دے رہی ہیں۔ کیا ایک چیز ہے جو کبھی نہیں بدلے گی؟ ہاں - بنیادی علم، جسے بنیادی کہا جاتا ہے کیونکہ یہ ہر چیز کو زیر کرتا ہے!

بنیادی علم کو کیسے بہتر بنایا جائے۔

ان سب پر حکمرانی کے لیے ایک زبانکرسٹوفر کی تصویر جیشکے پر Unsplash سے

اگر آپ اپنی بنیادی منطقی سوچ کو بہتر بنانے کے لیے نقطہ آغاز تلاش کر رہے ہیں، تو یہاں سے شروع کرنے کی کوشش کریں:

اپنے پروگرام کی پیچیدگی کو جانیں۔

بھی کہا جاتا ہے بگ اے "الگورتھم پیچیدگی" سے مراد اس وقت کا انحصار ہے جو کسی پروگرام کو اس کے ان پٹ ڈیٹا کے سائز پر انجام دینے میں لگتا ہے۔ (ن). استعمال کیے جانے والے الگورتھم کی نبض پر انگلی رکھنا ایک اہم قدم ہے۔

اپنے ڈیٹا ڈھانچے کو جانیں۔

ڈیٹا ڈھانچے ہر جدید پروگرام کے مرکز میں ہوتے ہیں۔ یہ جاننا کہ کس صورت میں کون سا ڈھانچہ استعمال کرنا ہے اپنے آپ میں ایک نظم و ضبط ہے۔ ڈیٹا ڈھانچے کا براہ راست تعلق رن ٹائم پیچیدگی سے ہے، اور غلط ڈھانچہ کا انتخاب کارکردگی کے بنیادی مسائل کا باعث بن سکتا ہے۔ ایک صف میں ایک عنصر کی تلاش ہے اے (ن)، جو ان پٹ ڈیٹا کے طور پر صفوں کو استعمال کرنے کی اعلی قیمت کی نشاندہی کرتا ہے۔ ہیش ٹیبل تلاش - O (1)، جس کا مطلب ہے کہ اس معاملے میں قدر کی تلاش کا وقت عناصر کی تعداد پر منحصر نہیں ہے۔

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

پڑھنا/دیکھنا/سننا

جیسے سائٹس UdemyPluralsight и کوڈ اکیڈمی - نئی پروگرامنگ زبانیں سیکھنے کے لیے ایک بہترین انتخاب۔ لیکن بنیادی باتوں کے لیے، کوڈنگ کے عمومی اصولوں، طریقوں اور طرزوں پر کتابیں دیکھیں۔ سب سے زیادہ تجویز کردہ کتابیں "ڈیزائن پیٹرنز"، "ری فیکٹرنگ" ہیں۔ موجودہ کوڈ، "پرفیکٹ کوڈ"، "کلین کوڈ" اور "عملیت پسند پروگرامر" کو بہتر بنانا۔ آخر میں، ہر ڈویلپر کو "الگورتھم" ہاتھ میں.

مشق!

آپ انڈے توڑے بغیر سکیمبلڈ انڈے نہیں پکا سکتے۔ جیسے سائٹس ہیکرینککوڈ وارزکوڈر بائٹ, ٹاپ کوڈر и لیٹ کوڈ ڈیٹا ڈھانچے اور الگورتھم کے بارے میں آپ کے علم کو جانچنے کے لیے ہزاروں دلچسپ پہیلیاں پیش کریں۔ اپنی پسند کے مسئلے کو حل کرنے میں اپنی قسمت آزمائیں، Github پر اپنا حل پوسٹ کریں، اور پھر دیکھیں کہ دوسرے اس سے کیسے رجوع کرتے ہیں۔ جو ہمیں آخری نقطہ پر لاتا ہے:

دوسرے لوگوں کا کوڈ پڑھیں

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

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

ماخذ: www.habr.com

نیا تبصرہ شامل کریں