You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/ur/1-getting-started-lessons/1-intro-to-programming-lang.../README.md

20 KiB

پروگرامنگ زبانوں اور ضروری اوزاروں کا تعارف

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

پروگرامنگ کا تعارف

اسکیچ نوٹ: Tomomi Imura

لیکچر سے پہلے کا کوئز

لیکچر سے پہلے کا کوئز

تعارف

اس سبق میں ہم درج ذیل موضوعات کا احاطہ کریں گے:

  • پروگرامنگ کیا ہے؟
  • پروگرامنگ زبانوں کی اقسام
  • پروگرام کے بنیادی عناصر
  • پیشہ ور ڈویلپر کے لیے مفید سافٹ ویئر اور ٹولز

آپ یہ سبق Microsoft Learn پر لے سکتے ہیں!

پروگرامنگ کیا ہے؟

پروگرامنگ (جسے کوڈنگ بھی کہا جاتا ہے) ایک کمپیوٹر یا موبائل ڈیوائس جیسے آلے کے لیے ہدایات لکھنے کا عمل ہے۔ ہم یہ ہدایات ایک پروگرامنگ زبان کے ذریعے لکھتے ہیں، جسے پھر آلہ سمجھتا ہے۔ ان ہدایات کو مختلف ناموں سے جانا جا سکتا ہے، لیکن پروگرام، کمپیوٹر پروگرام، ایپلیکیشن (ایپ)، اور ایگزیکیوٹیبل چند مشہور نام ہیں۔

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

تھوڑا تحقیق کریں: دنیا کے پہلے کمپیوٹر پروگرامر کے طور پر کس کو جانا جاتا ہے؟

پروگرامنگ زبانیں

پروگرامنگ زبانیں ڈویلپرز کو آلے کے لیے ہدایات لکھنے کی سہولت دیتی ہیں۔ آلات صرف بائنری (1 اور 0) کو سمجھ سکتے ہیں، اور زیادہ تر ڈویلپرز کے لیے یہ بات چیت کرنے کا مؤثر طریقہ نہیں ہے۔ پروگرامنگ زبانیں انسانوں اور کمپیوٹرز کے درمیان بات چیت کا ذریعہ ہیں۔

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

کم سطح کی زبانیں عام طور پر اعلی سطح کی زبانوں کے مقابلے میں آلے کو ہدایات سمجھنے کے لیے کم مراحل کی ضرورت ہوتی ہے۔ تاہم، اعلی سطح کی زبانوں کی مقبولیت ان کی پڑھنے کی آسانی اور سپورٹ کی وجہ سے ہے۔ جاوا اسکرپٹ کو ایک اعلی سطح کی زبان سمجھا جاتا ہے۔

ذیل میں دیے گئے کوڈ میں جاوا اسکرپٹ (اعلی سطح کی زبان) اور اے آر ایم اسمبلی کوڈ (کم سطح کی زبان) کے درمیان فرق دکھایا گیا ہے۔

let number = 10
let n1 = 0, n2 = 1, nextTerm;

for (let i = 1; i <= number; i++) {
    console.log(n1);
    nextTerm = n1 + n2;
    n1 = n2;
    n2 = nextTerm;
}
 area ascen,code,readonly
 entry
 code32
 adr r0,thumb+1
 bx r0
 code16
thumb
 mov r0,#00
 sub r0,r0,#01
 mov r1,#01
 mov r4,#10
 ldr r2,=0x40000000
back add r0,r1
 str r0,[r2]
 add r2,#04
 mov r3,r0
 mov r0,r1
 mov r1,r3
 sub r4,#01
 cmp r4,#00
 bne back
 end

یقین کریں یا نہ کریں، یہ دونوں ایک ہی کام کر رہے ہیں: 10 تک فبوناکی سیکوئنس پرنٹ کر رہے ہیں۔

فبوناکی سیکوئنس تعریف کے مطابق اعداد کا ایک مجموعہ ہے جس میں ہر عدد دو پچھلے اعداد کا مجموعہ ہوتا ہے، 0 اور 1 سے شروع کرتے ہوئے۔ فبوناکی سیکوئنس کے پہلے 10 اعداد یہ ہیں: 0، 1، 1، 2، 3، 5، 8، 13، 21، اور 34۔

پروگرام کے عناصر

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

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

یہ ممکن ہے کہ کچھ اسٹیٹمنٹس آلے کے ذریعے عملدرآمد نہ ہوں۔ یہ عام طور پر ڈویلپر کے ذریعہ ڈیزائن کے مطابق ہوتا ہے یا حادثاتی طور پر جب کوئی غیر متوقع خرابی پیش آتی ہے۔ ایپلیکیشن پر اس قسم کا کنٹرول اسے زیادہ مضبوط اور قابلِ دیکھ بھال بناتا ہے۔ عام طور پر، کنٹرول میں یہ تبدیلیاں اس وقت ہوتی ہیں جب کچھ شرائط پوری ہوتی ہیں۔ جدید پروگرامنگ میں ایک عام اسٹیٹمنٹ جو پروگرام کے چلنے کے طریقے کو کنٹرول کرتی ہے وہ if..else اسٹیٹمنٹ ہے۔

آپ اس قسم کے اسٹیٹمنٹ کے بارے میں مزید اگلے اسباق میں سیکھیں گے۔

ضروری اوزار

ضروری اوزار

🎥 اوپر دی گئی تصویر پر کلک کریں تاکہ ٹولنگ کے بارے میں ویڈیو دیکھ سکیں

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

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

ایڈیٹرز

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

ڈویلپرز ایڈیٹرز پر چند اضافی وجوہات کی بنا پر انحصار کرتے ہیں:

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

مشہور ایڈیٹرز اور ویب ڈیولپمنٹ ایکسٹینشنز

براؤزرز

ایک اور اہم ٹول براؤزر ہے۔ ویب ڈویلپرز براؤزر پر انحصار کرتے ہیں تاکہ دیکھ سکیں کہ ان کا کوڈ ویب پر کیسے چلتا ہے۔ یہ ایڈیٹر میں لکھے گئے ویب صفحے کے بصری عناصر کو دکھانے کے لیے بھی استعمال ہوتا ہے، جیسے HTML۔

زیادہ تر براؤزرز ڈویلپر ٹولز (DevTools) کے ساتھ آتے ہیں، جو ڈویلپرز کو اپنی ایپلیکیشن کے بارے میں اہم معلومات جمع کرنے اور حاصل کرنے میں مدد دینے کے لیے مفید خصوصیات اور معلومات کا ایک مجموعہ فراہم کرتے ہیں۔ مثال کے طور پر: اگر کسی ویب صفحے میں غلطیاں ہوں، تو یہ جاننا کبھی کبھار مددگار ہوتا ہے کہ وہ کب پیش آئیں۔ براؤزر میں موجود DevTools کو اس معلومات کو حاصل کرنے کے لیے ترتیب دیا جا سکتا ہے۔

مشہور براؤزرز اور DevTools

کمانڈ لائن ٹولز

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

مشہور کمانڈ لائن آپشنز

کمانڈ لائن کے آپشنز آپ کے استعمال کردہ آپریٹنگ سسٹم کے لحاظ سے مختلف ہوں گے۔

💻 = آپریٹنگ سسٹم پر پہلے سے انسٹال شدہ ہے۔

ونڈوز

MacOS

Linux

مشہور کمانڈ لائن ٹولز

  • Git (💻 زیادہ تر آپریٹنگ سسٹمز پر)
  • NPM
  • Yarn

دستاویزات

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

ویب ڈیولپمنٹ پر مشہور دستاویزات

تھوڑا تحقیق کریں: اب جب کہ آپ ویب ڈویلپر کے انوائرمنٹ کی بنیادی باتیں جانتے ہیں، اسے ویب ڈیزائنر کے انوائرمنٹ کے ساتھ موازنہ کریں۔


🚀 چیلنج

کچھ پروگرامنگ زبانوں کا موازنہ کریں۔ جاوا اسکرپٹ اور جاوا کی کچھ منفرد خصوصیات کیا ہیں؟ COBOL اور Go کے بارے میں کیا خیال ہے؟

لیکچر کے بعد کا کوئز

لیکچر کے بعد کا کوئز

جائزہ اور خود مطالعہ

پروگرامر کے لیے دستیاب مختلف زبانوں پر تھوڑا مطالعہ کریں۔ ایک زبان میں ایک لائن لکھنے کی کوشش کریں، اور پھر اسے دو دیگر زبانوں میں دوبارہ لکھیں۔ آپ نے کیا سیکھا؟

اسائنمنٹ

دستاویزات پڑھنا

نوٹ: اپنی اسائنمنٹ کے لیے ٹولز کا انتخاب کرتے وقت، اوپر درج ایڈیٹرز، براؤزرز، یا کمانڈ لائن ٹولز کو منتخب نہ کریں۔


ڈسکلیمر:
یہ دستاویز AI ترجمہ سروس Co-op Translator کا استعمال کرتے ہوئے ترجمہ کی گئی ہے۔ ہم درستگی کے لیے کوشش کرتے ہیں، لیکن براہ کرم آگاہ رہیں کہ خودکار ترجمے میں غلطیاں یا غیر درستیاں ہو سکتی ہیں۔ اصل دستاویز کو اس کی اصل زبان میں مستند ذریعہ سمجھا جانا چاہیے۔ اہم معلومات کے لیے، پیشہ ور انسانی ترجمہ کی سفارش کی جاتی ہے۔ ہم اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تشریح کے ذمہ دار نہیں ہیں۔