DAVID J. MALAN: تو اس CS50 ہے. اور اس CS50 اپنے کولٹن اوگڈین، تھا سے زیادہ کے لئے جو موسیقی آپ کر سکتے ہیں ہے soundcloud.com/cs50 میں ڈاؤن لوڈ، اتارنا. تو آج ہم سب سے زیادہ توجہ مرکوز پروگرامنگ کے فن پر. ہم نے چھوڑ دیا جہاں ہم لے گزشتہ ہفتے، توجہ مرکوز سکریچ پر، یہ تھا جو گرافیکل پروگرامنگ زبان. اور، ایک کم سطح کے نیچے چیزیں لے ایک سے زیادہ روایتی پروگرامنگ کا استعمال کرتے ہوئے زبان سی کے طور پر جانا جاتا ہے لیکن راستے میں، احساس اسی خیالات ہے کہ ہم گزشتہ جمعہ کے بارے میں بات نہ صرف اس میں recur گا زبان C، لیکن سب سے زیادہ ہر دوسرے میں ہم اس سمسٹر میں نظر آتے ہیں کہ. تو ہم نے اس بات کو کہا یہاں کیا آخری بار؟ یہ ایک بیان کے نمائندے ہے. تو ہم اس کو ایک بیان کہا. اور یہ کچھ کرتا ہے. یہ ہدایات ہے کہ ایک کمپیوٹر یا شروع پر عمل ہو سکتا ہے. اور اب، بھی شروع یہ ایک تقریب کی طرح کچھ بلا، وجوہات کی بنا پر ہم جلد ہی دیکھیں گے. دریں اثناء، ہم اس طرح چیزوں کو دیکھا. اور یہ عام طور پر کی تعمیر کے طور پر جانا جاتا ہے؟ سامعین: لوپ. DAVID J. MALAN: تو ایک لوپ. تو خوبصورت براہ راست. یہ لفظی یہ کیا کہتا ہے. اور شروع میں، اگر تم چاہو تو وہاں میں زیادہ پہیلی ٹکڑے ٹکڑے رٹنا، ٹکڑا فٹ ہونے کے لئے ہو جائے گا. اور ہم C میں دیکھیں گے کہ ہم ایک ہی بات کر سکتے ہیں. لوپ کی ایک اور قسم، اگرچہ، شروع میں ہمیشہ کے لئے ہو سکتا ہے، یا کسی بھی بڑی تعداد موجود ہے دوسرے نقطہ نظر کے. لیکن ایک سے زیادہ لے ایک چہرے کے ساتھ عمومی نظر، کہ، کا امکان بہت واقف ہے میں زیادہ عام طور پر loops کے. مارک Zuckerberg: ایک بات کمپیوٹر ہے میں واقعی بہت اچھے ہیں حکم دیتا ہے بار بار. ایک شخص کے طور پر، آپ کو ملے گا واقعی بور اگر آپ ایک ہی بات کرنا پڑا ایک قطار میں وقت کی بہت. لیکن ایک کمپیوٹر پر ایک ہی بات کر سکتے ہیں لاکھوں یا وقت کی بھی اربوں، اور بور، اور کے قابل نہیں واقعی میں بہت اچھا ہے کہ باہر لے جانے کے لئے. مثال کے طور پر، تو تو میں سب چاہتے ہیں کرنا چاہتا تھا فیس بک ایک خوش سالگرہ پر انہیں ایک ای میل بھیجنے کی طرف سے، یہ ایک سے زیادہ لے سکتا ہے صدی کے اصل میں لکھنے کے لئے ہر کسی کو ان ای میلز کی تمام. کوڈ کے ساتھ صرف ایک چند لائنوں لیکن، میں کر سکتا ہوں ایک نظام سب کے لئے ایک ای میل بھیج کر فیس بک کے خواہاں پر انہیں ایک سالگرہ مبارک ہو. تو کہ ہے loops کے ہیں اور کیوں وہ کر رہے ہیں قابل قدر اور کچھ کمپیوٹر بہت اچھی طرح سے کر سکتے ہیں. DAVID J. MALAN: تو آپ وصول کنندہ کیا گیا ہے CS50 کی کچھ اور دیر سے ڈراپ باکس کی جگہ، یہی اصل ہے جو ہم بہت اس طرح کے کوڈ کا استعمال کرتے ہوئے، ایسا. ہم بنیادی طور پر ایک بہت بڑا ہے سپریڈ شیٹ جس میں لوگ inputting کی گئی ہے ان نام اور ای میل ایڈریس. اور ہم کوڈ کا ایک چھوٹے سے تھوڑا سا لکھا ہے کہ ان پتوں پر iterate کر سکتے ہیں اور میں منفرد پتے تھوکنے کے معاملے میں کسی ایک سے زیادہ بار پیش. اور اس کے بعد، ہم ایک بھیج CS50 کی بوٹ سے ای میل خود کار طریقے سے، کوپن کوڈ شامل. اب ہم نے دیکھا یہ آخری وقت تعمیر. اور یہ ایک خاص طور پر ہے کیا مثال کے طور پر؟ تو، جی ہاں، ایک بولین اظہار. اور شکل مراد ہے اس کے ساتھ ساتھ اس پر قبضہ کرنے کے. سب کے سب اس طرح کے سوالات سچ یا شروع میں جھوٹے تشکیل اس طرح کچھ نظر آئے گا. اور ہم نے اس ایک بولین اظہار کال. یہ واقعی سچ ہے یا جھوٹ ہے، جی ہاں یا نہیں. یہ ایک سوال کا جواب دینے کا ایک طریقہ ہے. اور اس دوران آپ ان بولین استعمال کر سکتے ہیں تشکیل کے اندر اظہار ان میں سے کون، طرح کورس کے حالات ہیں یا شاخوں، لوکک راستے میں فورکس کرتی. اور وہ نہ صرف دیکھ سکتے ہیں اس طرح، لیکن وہ بھی کر سکتے ہیں ان کے ساتھ elses منسلک ہے. اور تم اصل میں ایک تین طرح کر سکتے ہیں راستے میں کانٹا یا چار راستہ کانٹا راستے میں، صرف کی طرف سے ان چیزوں nesting قیمت، آپ شروع میں دیکھیں گے کے طور پر آپ نے پہلے ہی نہیں ہے تو. اور آپ کے ساتھ ساتھ C میں کر سکتے ہیں کے طور پر. کی ایک اور عمومی ڈالیں ، کے ساتھ ساتھ، ایک alumnist میں نظر آتے ہیں ایک مختلف نقطہ نظر پیش کر سکتے ہیں ضوابط سے ملاقات کی ان چیزوں کو. بل گیٹس: لوگوں کو فیصلے ہر دن. مثال کے طور پر، آپ کو باہر جانے سے پہلے قسم کے، کا کہنا ہے کہ ایک تو بیان اس وقت بارش ہو رہی ہے تو میں میرا جیکٹ حاصل کرنے کے لئے کی ضرورت ہے. اور کمپیوٹر آپ کو ایک بار حیرت انگیز ہیں ، بیانات کی ان اقسام کا فیصلہ وہ معتبر پھانسی کر سکتے ہیں کہ ناقابل اعتماد کی رفتار پر ان چیزوں کو. اور اس طرح ایک کمپیوٹر پروگرام واقعی ریاضی اور کچھ کا ایک تھوڑا سا ہے بیانات جہاں ہے تو فیصلہ کیا جاتا ہے. DAVID J. MALAN: تو آپ کو معلوم کر سکتے ہیں، یہ تھا بل گیٹس جیسے لوگ، پال ایلن، اور دوسروں واقعی لات ماری کہ ذاتی کمپیوٹر نہاد انقلاب کچھ سال پہلے. ہم ڈوبکی سے پہلے میں نے سوچا، کچھ administrivia میں، ہم، ہے Albuquerque کی طرف سے ایک کہانی سے متعلق تھا نیچرل ہسٹری کے نیو میکسیکو میوزیم اور سائنس جہاں بل گیٹس کے کچھ ' اور پال ایلن کی قدیم ترین کہانیاں اب ہم کس طرح بیان کر رہے ہیں آج کے پی سیز اور میکس اور زیادہ. اس کے لئے، اگرچہ، ہم دو رضاکاروں کی ضرورت جو بہت اچھی روایت کی آواز ہے ایک سکرپٹ بلند آواز سے پڑھنے کے لئے. ٹھیک ہے، کس طرح وہاں کے بارے میں. پر چلو. اور کس طرح سامنے یہاں کے بارے میں. نیچے چلو. یہاں اپنی جگہ لے لو. آپ لوگ آئے کے طور پر، ایک جوڑے انتظامی اعلانات. sectioning، عمل ایک حصے کو منتخب کرنے کے، یہ شروع ہو جائے گا جمعہ کے ذریعے بدھ. اس پر مزید یہ آنے والے لیکچر میں بدھ. سپر حصوں، دریں اثنا، ہیں ہم اگلے ہفتے پیش کرتے ہیں کہ کچھ جس کے تحت پوری کلاس کی دعوت دی ہے کافی بڑے پیمانے پر میں شرکت کرنے حصوں، زیادہ آرام سے ایک، ایک کم آرام دہ اور پرسکون. اور ہم تفصیلات کا اعلان کریں گے اس کے، کے ساتھ ساتھ، اس ہفتے کے آخر. دریں اثنا حصوں، خود شروع ہو جائے گا ہفتے کے کورس کے تین میں، صفر انڈیکس، جو ہفتے کے ایک جوڑے ہیں کا مطلب ہے باہر. تو فکر نہیں. ابھی تک آپ کو یاد نہیں ہے ان خطوط پر کچھ. دریں اثنا اس دوران میں، اگر آپ انتظامی کوئی سوالات ہیں، اپنے آپ کو اور ڈیون اور Gabe کی ای میل اور روب یہاں اس پتے پر. آخر میں، مسئلہ سیٹ 0 سے باہر، کورس کی، ہے. تم نے اسے محسوس کیا ہو سکتا کورس کی ویب سائٹ پر. اس کے ساتھ آپ فراہم کرنی چاہیے کے تمام سوالات کے جوابات آپ کے راستے کے لئے ساتھ ہو سکتا ہے مسئلہ سیٹ کے ساتھ شروع ہو رہی ہے. لیکن تم اپنے آپ کو تلاش ہے تو مدد کی ضرورت ہے، سب کا مطلب ہے کی طرف سے دفتری اوقات میں شرکت، پیر، منگل، بدھ، جمعرات شام میں اس ہفتے کے چار کھانے کے ہال میں. تفصیلات کے لئے وہاں اس یو آر ایل ملاحظہ کریں دفتر گھنٹے ہو جائے گا جہاں. اب ملنے ہیں ہمارے دو مہمانوں آج یہاں. آپ کا نام کیا ہے؟ JAY PAUL: جے پال. DAVID J. MALAN: جے پال، آپ سے مل کر اچھا لگا. سے Hikari: سے Hikari. DAVID J. MALAN: سے Hikari؟ سے Hikari: سے Hikari. DAVID J. MALAN: سے Hikari. کے طور پر بھی آپ سے مل کر اچھا لگا. جے پال اور سے Hikari میں ان کی موسیقی پر ان کے سامنے میں چھپی ہوئی ہے کہ دو سکرپٹ کھڑا ہے نیو میکسیکو سے آج صبح باہر نیچرل ہسٹری اور سائنس میوزیم. اور میں نے سوچا کیا میں ہیڈ پر کروں گا آپ قرآن پاک کی تلاوت کے ساتھ ہے سکرپٹ اور اس کی تاریخ کے کچھ بصری تصاویر، کوئی حیرت کے ساتھ. اور میں پہلے سے کیا کیا ہے آپ کے سکرپٹ پر prehighlight ہے کیا تم پڑھ چاہئے، اور آپ کو پڑھنا چاہیے کیا. اور ہم نے بنیادی طور گے صرف متبادل پیرا. آپ ہو سکتا ہے کی طرح تو یہ زیادہ ہے انگریزی کی کلاس میں کیا ہے. یہ واقعی سامعین مجبور ہے یہاں آپ کی کہانی میں یقین کرنے کے لئے. ہم چلیں؟ تو یہاں ہم ایک کہانی ہے، ہے بنیادی، اور اس کیمبرج میں شروع ہوتا ہے. JAY PAUL: یہ موسم سرما، 1974 تھا، کیمبرج، میسا چوسٹس میں جہاں سردیوں ٹھنڈے ہو سکتا ہے. ایک داڑھی والے، لمبے بالوں کالج سے بھاگنے والے نام پال ایلن ہارورڈ بھر drudging تھا اپنے خیالات میں جذب اسکوائر،. ان دنوں میں ان کے اہم کے preoccupation ، کس طرح ان کے دوست، بل گیٹس کو حاصل کرنے کے لئے تھا اسکول چھوڑ دیا اور جانے کے لئے اس کے ساتھ کاروبار میں. سے Hikari: دو پہلے ہی چلے گئے تھے کاروبار کی ایک بڑی تعداد کے ذریعے ایک ساتھ مل کر، لیکسائڈ میں شروع سیٹل جہاں میں اسکول وہ مفت کمپیوٹر وقت میں ادا کیا گیا ایک مقامی وقت میں ایک پی ڈی پی 10 کمپیوٹر ٹیسٹ کمپنی کے اشتراک. سب سے زیادہ حال ہی میں کی منصوبہ بندی کو چھوڑ دیا گیا تھا اسکول اور ایک سافٹ ویئر کمپنی کی تشکیل. ایلن واشنگٹن چھوڑ دیا تھا اسٹیٹ یونیورسٹی. لیکن آخری وقت میں، دروازے پر ہارورڈ کے ساتھ رہنے کا فیصلہ کیا. JAY PAUL: اس دن، ہارورڈ سے تجاوز کر اسکوائر، ایلن، جنوری دیکھا ڈاؤن لوڈ، اتارنا الیکٹرانکس 1975 مسئلہ زمین روکنے کی سرخی کے ساتھ، دنیا کا پہلا منی کمپیوٹر کٹ کمرشل ماڈلز حریف. شہ سرخی تھی نیچے ایک چھوٹے سے باکس کی ایک تصویر روشنی اور سوئچ کے ساتھ آراستہ کیا. یہ 8800 MITS وال بلایا گیا تھا. اور ایلن یہ تھا کیا انہوں نے کے لئے تلاش کیا گیا تھا. سے Hikari: بحث کے دنوں کے بعد. ایلن اور گیٹس سمجھ وال کی اہمیت. وہ اکثر بات کی تھی مائکروپروسیسروں کے بارے میں اور کیا دیکھنے کے لئے انتظار کر رہے تھے ان کے ساتھ کیا جائے گا. اب ایک منی کمپیوٹر کٹ پر نہیں تھا ڈاؤن لوڈ، اتارنا الیکٹرانکس کے احاطہ کرتا. یہ بظاہر ابھی تک کوئی سافٹ ویئر تھا. انہوں نے کی ایک قوم کا تصور پروگرامرز MITS پر اترتے. اور تاکہ وہ، ایڈ رابرٹس نامی کمپنی کے سربراہ، کا ایک ورژن ہے کا دعوی بنیادی پروگرامنگ زبان تقریبا تیار کے لئے وال. وہ نہیں کیا. اور رابرٹس وہ نہیں کیا جانا جاتا ہے ضروری ہے. انہوں نے کہا کہ 10 کالز کی طرف سے ایک دن ہو رہی تھی ایک بنیادی تقریبا تیار تھا جو لوگوں کے. اور ان کے اسٹاک جواب "، پہلے شخص تھے جو کام کر رہے ہیں کے ساتھ ظاہر کرتا ہے بنیادی معاہدہ ہو جاتا ہے. " JAY PAUL: گیٹس اور ایلن ایک وال کبھی نہیں دیکھا تھا. وہ بھی کبھی نہیں دیکھا تھا انٹیل 8080 مائکروپروسیسر وال کے دل میں. لیکن سال کے ایک جوڑے پہلے ایلن ایک پروگرام لکھا تھا نقالی کرنا کہ ایک مین فریم کمپیوٹر پر گزشتہ انٹیل کے آپریشن مائکروپروسیسر. اور وہ ارد گرد اس وقت ایک ہی بات کروں گا. سے Hikari: ایک انٹیل کے ساتھ ان کی طرف 8080 دستی، ایلن ایک پر بیٹھ ہارورڈ پی ڈی پی 10 کمپیوٹر اور ایمولیٹر اور سافٹ ویئر لکھا ضروری آلات پروگرامنگ کرنے کی. دریں اثنا گیٹس جانا بند کر دیا کلاس کے لئے اور خود کو وقف بنیادی ڈیزائن کرنے کے لئے، ہر چال کا استعمال کرتے ہوئے وہ سائز حاصل کرنے کے لئے جانتے تھے نیچے 4 کلو بائٹ نیچے. JAY PAUL: Albuquerque میں سے، ایڈ رابرٹس گیٹس سے ایک فون آیا کس طرح کے بارے میں تفصیلات کے لئے پوچھ وال مخصوص معمولات سنبھالا. کوئی بھی اس سے پہلے کہ کہا تھا. اور رابرٹس دلچسپی حاصل کرنے کے لئے شروع کر دیا. سے Hikari: ترقی کے ساتھ فورم کے اوزار اور ڈیزائن کے لئے تیار، گیٹس اور ایلن نے لکھا ہے پی ڈی پی 10 پر کوڈ، ایک اور ہارورڈ طالب علم کیلئے، مونٹی Davidoff سیریز، ریاضی کے معمولات کو لکھنے کے لئے. کے آخری رات کے بعد پروگرامنگ، ایلن ایک ہوائی جہاز پر مل گیا MITS کو ان کے بنیادی فراہم کرنے کے لئے. انہوں نے کہا کہ طیارے میں فکر باہر سوار خرچ. اور واپس کیمبرج میں گیٹس فکر تھا. انہوں نے تجربہ کیا تھا ان کے بنیادی اور یہ ایمولیٹر پر کام کیا تھا. لیکن ایمولیٹر غلط کیا تھا تو کیا؟ JAY PAUL: ہوائی جہاز کے طور پر ، ہے Albuquerque رابطہ ایلن احساس ہوا کہ ان کے بنیادی، اب صفائی شامل کے ایک چھوٹے سے رول پر ، کاغذ ٹیپ گا چھدرت ایک علیحدہ بغیر بیکار ہو پروگرام، کہ، ایک لوڈر کہا کس طرح وال بتائے گا کاغذ ٹیپ کیا جا رہا ہے پڑھنے کے لئے ٹیلٹائپ مشین میں کھلایا. انہوں نے اپنی نوٹ بک لے لیا اور فوری طور پر ایک لوڈر پروگرام نیچے لکھا اسمبلی زبان میں، پھر دستی 1s اور 0s میں ہے کہ ترجمہ وال سمجھ گی. سے Hikari: ایلن امید کر رہا تھا ایک صاف، تھوڑا، ہائی ٹیک کمپنی کاروبار سوٹ میں مردوں کی طرف سے چلائے. رابرٹس سے ملاقات کی تو وہ حیران تھا اس ہوائی اڈے پر ایک کھیت کی طرح لگ ہاتھ. رابرٹس بھی حیران تھا. انہوں نے ہارورڈ گرا دیا ایک مہنگا ہوٹل میں پروگرامر، ایلن اقرار کرنا پڑا وہ کمرے متحمل نہیں ہو سکتا. JAY PAUL:، خود، MITS تھا ایک دھول پٹی مال میں واقع. ایک cluttered اندر ورک بینچ ایک وال تھا 5 کلو بائٹ کے ساتھ بھری ہوئی میموری اور ایک کیبل کی طرف سے منسلک ایک ٹیلٹائپ مشین. رابرٹس اور چیف انجینئر، بل Yates کی، امید انتظار ایلن نے لوڈر ٹوگل کے طور پر وال میں پروگرام. ٹیلٹائپ یہ نکالا chugging کیا شروع کر دیا ٹیپ کے ذریعے پڑھنے کاغذ ٹیپ. یہ شاید 15 منٹ لیا پروگرام لوڈ کرنے کے لئے. پھر ٹیلٹائپ اچانک طباعت میموری فوری طور پر، اس کے بعد ایک کے لئے تیار فوری طور پر، اور ایلن ٹائپ کرنا شروع کر دیا چند ٹیسٹ کا حکم دیا ہے. سب کے amazement کے لئے، سافٹ ویئر کے کام کیا. کیڑے کورس کے، وہاں تھے. لیکن اہم بات یہ کام کیا تھا. سے Hikari: بعد میں، ان کے راستے پر کرنے کے لئے ایک Pancho کی کے میں $ 3.00 دوپہر کے کھانے، ایک تتییا پرواز اٹھا کی کھڑکی میں ٹرک اور بازو پر ایلن ڈنک. لیکن اس نقطہ کچھ بھی نہیں موڈ خراب کر سکتے ہیں. وال اب اس کے بنیادی، تھا ایک گھر کے لئے سب سے پہلے تجارتی سافٹ ویئر پال ایلن اور بل کی طرف سے بنایا کمپیوٹر، گیٹس، مائیکروسافٹ کے طور پر کاروبار کرنے. DAVID J. MALAN: بہت سے ہمارے دو قارئین کے لئے شکریہ. [تالیاں] DAVID J. MALAN: اب آپ کو آپ کے انتخاب ہے، آپ ایک sparkly کے، جانے سے پہلے یا اوہ dark-- میں چمک، ایک سیکنڈ انتظار، چمکتی wait-- اور سیاہ ہاتھی میں ایک چمک CS50 اپنے چیانگ گانگ سے. سے Hikari: AW، آپ کا شکریہ. DAVID J. MALAN: تمام حق، بہت بہت شکریہ. [تالیاں] DAVID J. MALAN: تو سچی کہانی. یہ ان میں سے ہے کہ تمام کہنا ہے مشینیں اور آسانی جس کے ساتھ ہم اب ان استعمال کرتے ہیں اور لے حاصل کی جاچکی کے لئے، واقعی ، یہاں صرف چند قدم کے فاصلے شروع یہ اصل تھیٹر سے. اور اب آج، آپ نہیں کیا گیا ہے تو، اس میکسویل Dworkin، کمپیوٹر ہے سائنس عمارت، بھی کونے کے ارد گرد. اور اس کی دوسری منزل پر عمارت تین صفحات لٹکا ہے اصل منبع کوڈ سے بل گیٹس اور پال ایلن نے لکھا ہے. اصل میں، استعمال کرتے ہیں تو آپ زوم آپ کو نہ صرف دیکھ سکتے ہیں میں میں ان کے نام اصل قسم، بلکہ وہ ایک آراستہ کیا کہ ان کے دستخط چند سال پہلے انہوں نے گزشتہ دورہ کیا. لیکن خاص طور پر مجبور کیا تھا اس کے بارے میں انہوں نے ایسا کرنے کے لئے باہر قائم کیا ہے اس کو ایک پروگرام لکھنے کے لئے تھا لکھنے کے لئے دوسرے لوگوں کو چالو ان کے اپنے پروگراموں. وقت سب کے ساتھ وہاں تھا MITS کی طرف سے بنایا اس وال مشین. اور وہ کی ضرورت ہے تمام کے کچھ طریقہ تھا hobbyists اور لوگوں کے لئے آسان بنانے اصل پروگرام میں اس کمرے میں ہماری طرح کہ ضروری سمجھنے کے بغیر اسمبلی کوڈ، یا مشین کوڈ، یا خدا، 0s اور 1s کرے. ہم پروگرامرز، طرح اس کمرے میں ان لوگوں کے، ہم اظہار کرنے کے قابل ہونا چاہتے ہیں خود چھدم کوڈ کی طرح بہت زیادہ یہ تھوڑا سا زیادہ این آئی ٹی ہے یہاں تک کہ اگر ہم نے گزشتہ ہفتے بات سے میں picky. ہم اس طرح کوڈ لکھنے کے لئے نہیں کرنا چاہتے ہیں، جس پال ایلن اور بل گیٹس نے کیا. ہم، اس کے بجائے، کوڈ لکھنے کے لئے چاہتے ہیں کہ تھوڑا زیادہ صارف دوستانہ لگتا ہے. اب یہ بنیادی طور پر جانا جاتا زبان ہے. اور لائن تعداد میں موجود ہیں جو آپ بس کوڈ کی لائنوں کی تعداد کو استعمال کہ آپ لکھ رہے ہیں. ہم بھی کرنے کی ضرورت نہیں ان دنوں ایسا. لیکن آپ یہاں دیکھ سکتے ہیں کس طرح پرنٹ "ہیلو، دنیا" یقینا شاید صرف یہ ہے کہ پرنٹ گی. اور تو کیا بل اور پال نے کیا تھا اس طرح کے کوڈ لکھنے کے لئے لوگوں کو بااختیار بنانے اس کے بجائے آپ پر ایک نظر ڈالیں تو of-- کمپیوٹر سائنس کے اس طرح کے کوڈ wall--. اصل میں، CS50 نے حال ہی میں ایک موقع تھا پروفیسر ہیری لیوس کے ساتھ بیٹھ کمپیوٹر سائنس کے سیکشن، میں کون اصل بل سکھایا کچھ سال پہلے گیٹس، اور اس سے پہلے یہاں کھڑا ہے حوالہ جات کے ان تین صفحات. چلو ایک نظر ڈالیں. ہیری LEWIS: کیا تم یہاں ایک ہے سافٹ ویئر کی ایک ابتدائی ٹکڑا کی لسٹنگ بل گیٹس اور پال کی طرف سے لکھا ایلن، مائیکروسافٹ کے بانی. تو کوڈ دلچسپ ہے دو وجوہات کے لئے. سب سے پہلے، یہ بن گیا مائیکروسافٹ کی پہلی مصنوعات، کے لئے ایک مترجم تھا جس بنیادی پروگرامنگ زبان. اور دوسری بات، یہ تھا سب سے پہلے کرنے کی کوشش کی ایک تو عام ایک مترجم پیدا کرنے کے لئے لوگوں پرسنل کمپیوٹر استعمال کر سکتے ہیں. تو بل گیٹس ایک تھا ہارورڈ میں انڈر گریجویٹ. میں نے 1974 میں ہارورڈ یونیورسٹی میں تعلیم شروع کر دیا. یہ 1975 ء میں کیا گیا تھا. تو یہ ان کے کیریئر میں ابتدائی تھا اور ابتدائی اپنے پیشے میں. میں اصل میں بل سکھایا اس وقت کے ارد گرد ایک کورس. پال ایلن نہیں تھا ہارورڈ طالب علم، لیکن وہ ایک ہائی اسکول گیا تھا بل گیٹس کے سہپاٹھی. آپ آئے اور نظر آتے ہیں لسٹنگ میں، تمہیں اصل میں ایک تہائی تلاش نام، مونٹی Davidoff سیریز، جو گیٹس کی سہپاٹھی تھا یہاں ہارورڈ میں. ٹھیک ہے، تو یہاں ایک ہے یہاں دلچسپ تبصرہ اپ. یہ 4K میں مربع کی جڑ ختم کر سکتے ہیں "کا کہنا ہے کہ لیکن loops کے اب بھی کام کرنا چاہئے کے لئے. " ٹھیک ہے، تو کیا اس کا مطلب ہے کہ وہاں ہے اس پروگرام مرتب کرنے کے دو طریقے تھے. ایک ورژن پر چلانے کے لئے تھا اس وال کمپیوٹر کے صرف کے 4K الفاظ تھے میموری، میموری کی 4،096 الفاظ. لیکن بڑی ورژن 8K تھا. اور تو کیا اس کا کہنا ہے کہ ہے کہ 4K ورژن میں آپ کو کچھ کو خارج کرنے کے لئے تھا کوڈ یہ فٹ بنانے کے لئے. اور چیزوں میں سے ایک اس کو خارج کر دیا جائے گا مربع جڑ معمول ہو گا. لیکن بظاہر loops کے اب بھی چاہئے آپ نیچے مرتب کر رہے ہیں اس وقت بھی جب کام کمپیوٹر کے صرف 4K ورژن کے لئے. DAVID J. MALAN: موضوعات کے حوالے سے تو ایک، ہم کمپیوٹر سائنس میں دیکھیں گے کے طور پر، کے اس اصول کی ہے layering اور تجرید، اور واقعی کندھوں پر کھڑے ہم سے پہلے آئے ہیں جو لوگ، نہیں بل گیٹس سے کچھ کے برعکس یہاں اور پال ایلن داستان. اور کیا اس کا مطلب یہ ہے ہم نے کے لئے لے جا سکتے ہیں کہ آج چیزوں کو اصل ہیں عطا کی ہے کہ ہم کوڈ لکھنے کے لئے آسان ہے. ہم نے جمعہ کو کہا کہ درحقیقت کوڈ،، ہے تکنیکی ماخذ کوڈ کے طور پر جانا جاتا ہے. اور یہ نحو کی طرح یہ انگریزی ہے کہ زیادہ مناسب اور زیادہ اچھی طرح سے وضاحت کی گئی ہے چھدم کوڈ کی طرح کچھ کے مقابلے میں، کے لئے جس میں کوئی رسمی تعریف ہے. اور آج ہم کیا جا رہے ہیں پر توجہ مرکوز کرنے کے منبع کوڈ ہے کہ، اس طرح لگ رہا ہے جس میں اقرار پہلی نظر میں مکمل طور پر خفیہ لگتا ہے. اور واضح طور سے، یہ طریقہ زیادہ جمالیاتی اعتبار سے ہے پیچیدہ بنیادی پروگرام ہے کے مقابلے میں. یہ سب پروگرام، کرتا ہے یاد، ہم نے کیا کہا ہے؟ یہ صرف "ہیلو دنیا." پرنٹ اور ابھی تک ہم نے کی ضرورت سب کے سب پر نظر کہ بہت سادہ جملے کے ارد گرد لپیٹ. لیکن تمام طویل عرصے سے پہلے ان لائنوں اور زیادہ آپ کے لئے زیادہ بہتر احساس کرے گا. مندرجہ ذیل کے طور پر اور بہاؤ ہے. کیا ہم اپنے کو ضائع کرنے میں ضرورت ہے ذریعہ کی طرح، کوڈ لینے کے لئے ہے ہم نے ابھی دیکھا ہے کہ کوڈ. اور ہم ایک نئے پروگرام کی ضرورت اس کے ذریعے چلانے کے لئے. ہم کر سکتے ہیں کہ یلگوردمز کی ضرورت اس طرح، ماخذ کوڈ میں تبدیل، اعتراض کوڈ، 0s اور 1s میں. دوسرے الفاظ میں، کیا آج ہم سیکھنے کے لئے جا رہے ہیں ایسا کرنے کے لئے کس طرح، لکھنا ہے ماخذ کوڈ کے سب سے اوپر، ایک خصوصی کے لئے ان پٹ کے طور پر اس کے پاس ایک سنکلک کے طور پر جانا پروگرام، اور ہم نے اعتراض کے کوڈ پیدا کرنے کے لئے جا رہے ہیں. جن میں سے صرف ایک پسند ہیں طریقہ ہے ہم کچھ لے جائے گا کہہ ہے کہ اس طرح لگ رہا ہے، اس کے پاس ایک سنکلک کے نام سے ایک پروگرام میں، اعتراض کے کوڈ پیدا ہے کہ اس طرح لگ رہا ہے. تو یہ لفظی ہیں 0s اور 1s مراسلے ایک کی طرف سے سمجھ رہے ہیں کہ انٹیل کے کمپیوٹر میں ان دنوں، CPU کی طرف سے تشریح ہے کہ، ایک کمپیوٹر کے اندر دماغ، لفظی پرنٹ، بہت صرف، "ہیلو دنیا." اب آپ راستہ زیادہ 0s اور 1s ہے اس کے لئے ضروری ہو سکتا ہے امید ہے کہ گے. ہم تعمیر کر رہے ہیں کی وجہ سے لیکن ہے کہ پیچیدگی کا ایک اچھا سودا پر حاصل کی جاچکی کے لئے ہم آگے لے جا سکتے ہیں. دوسرے الفاظ میں، ہوشیار لوگوں کی ایک بہت ہم ڈاؤن لوڈ، اتارنا، فورم کے اوزار کی ایک بہت کچھ دیا ہے اور طاقتور سافٹ ویئر ہے جس کے ساتھ ہم اب ہمارے اپنے کے منصوبوں کر سکتے ہیں. تو شروع کرنے کے دو. گزشتہ جمعہ، اور جبکہ مسئلہ سیٹ 0 اس ہفتے کے لئے، آپ کو ایک میں کھیلنے گے اس طرح لگ رہا ہے کہ دنیا. آج شروع اور مسئلہ کے لئے ، اگلے ہفتے کوڈ 1 سیٹ تھوڑا تلاش کرنے کے لئے کی جا رہی ہے خفیہ، لیکن فعل ہے رہا ایک ہی. تو نوٹس، سب سے اوپر سکریچ، ہے نیچے C. سچ کہوں تو سکریچ ہے ایک سے زیادہ بہت صارف ہے دوستانہ اور قابل رسائی. لیکن اگر آپ اب ضعف سب سے اوپر کا موازنہ کرتا ہے تو نیچے، ایک ایک کے لئے کی طرح ہے درمیان خط و کتابت پہیلی ٹکڑے ٹکڑے اور زبان ہم ساتھ کھیلنے کے لئے کے بارے میں ہیں. خاص طور پر،، کا کہنا ہے کہ بلیو پہیلی ٹکڑا اوپر، کیا مطلوبہ الفاظ بظاہر برابر ہے اس زبان میں یا خصوصی جملہ C بلایا؟ سامعین: printf کے. DAVID J. MALAN: printf کے. فارمیٹ پرنٹنگ کا مطلب ہے. اور یہ کہ صرف پسند ہے C میں printf کہنے کا طریقہ ایک بیان یا ایک تقریب ہونے جا رہا ہے کہ پردے پر کچھ پرنٹ. اس کی سکرین پر پرنٹ ہوتا ہے؟ جو کچھ بھی آپ کے اندر یہ بتا قوسین کے اندر کی قیمت درج کرنے، کے. تو ایک بار پھر، اس کا اقرار، سامان کی ایک بہت کچھ ہے آپ کے دماغ میں رکھنے کے لئے ہے کہ، قوسین، کی قیمت درج کرنے، سیمی، اور اس کے تمام. لیکن اس کی تمام طرح کی ہے کے نقطہ نظر کے سوا. اب کے لئے دلچسپ takeaway ہے کہ شروع میں کہنا ہے کہ بلاک بہت برابر کرنے کے لئے ہے C. میں printf بیان دریں اثنا، پیلے پہیلی ٹکڑا سب سے اوپر، سبز پرچم پر کلک کیا جب، شاید برابر ہے یہاں مطلوبہ الفاظ کیا ہیں؟ سامعین: مین. DAVID J. MALAN: تو اہم. شاید ہو سکتا ہے باطل ہے، int. لیکن کی طرح آواز کے اہم قسم یہ ضروری ہے، اور یقینا یہ ہے. تو سبز پرچم پر کلک کیا جب پھر، ہے، پہیلی ٹکڑا کہ آغاز ایک پورے سکریچ پروگرام. لیکن اب ہم بلا شروع کرنے جا رہے ہیں بنیادی طور پر جانا جاتا ہے کہ اہم، اس تقریب. اب اس دوران ہم کریں گے مندرجہ ذیل کے طور پر اس وسیع. ہم کہتے ہیں ایک تقریب کا کہنا ہے کہ ہو سکتا ہے. اور یہ نظر ہو سکتا ہے خاص طور پر اس طرح. ٹھیک ہے، loops کے بارے میں؟ ہم تبدیل شروع کرنا چاہتے ہیں یا C کے لئے شروع میں ترجمہ، یہاں یہ بات بظاہر صرف "ہیلو دنیا" ہمیشہ کے لئے کہتے ہیں. تو آپ کو ان سے منسلک ہے تو شروع میں ایک بلی کے ساتھ سکرپٹ، یہ صرف کہہ رکھنے کے لئے جا رہا ہے کارٹون بلبلا کے کچھ قسم میں، "ہیلو، دنیا، دنیا ہیلو ہیلو دنیا، "اشتھاراتی nauseum، ہمیشہ کے لئے. ہم میں اسی طرح کے کچھ کرنے کے لئے چاہتے ہیں تو C، یہ تھوڑا خفیہ تلاش کرنے کے لئے جا رہا ہے. لیکن ہم ایک ہی حاصل کر سکتے ہیں ہم آخر میں کریں گے، نتائج اس طرح نحو کے ساتھ، باہر تلاش. میں، پھر printf کا استعمال کرنے کے لئے جا رہا ہوں کیونکہ دن کے آخر میں میں پرنٹ کرنے کے لئے چاہتے ہیں "ہیلو دنیا." اور میں بظاہر ایک استعمال کر رہا ہوں ہمیشہ کے لئے نہیں ہے کہ مطلوبہ الفاظ کی. اس کی بجائے، جبکہ لفظ ہے. لیکن صرف semantically میں انگریزی، جبکہ قسم کے لوپ یا سائیکل کے کچھ قسم سے پتہ چلتا ہے. تو اس پر ہوتا ہے C استعمال کرتا ہے کہ مطلوبہ الفاظ کی. اور سچ ہے، کیوں جبکہ کرتا ہے مؤثر طریقے سے ہمیشہ کے لئے سچ ہے؟ ویسے،، جبکہ ہم جلد ہی کروں گا سب سے زیادہ کی تعریف کرتے ہیں، اس کے اگلے اس parenthetical ہے جہاں آپ کو ایک بولین اظہار ڈال کر سکتے ہیں. اور یہ کہ جب تک اظہار سچ ہے، اس کوڈ کو، ان دونوں کے درمیان ظاہر کے طور پر گھوبگھرالی منحنی خطوط وحدانی ہم انہیں فون کروں گا کے طور پر، بار بار صرف چل رہا ہے رکھیں گے. تو سچ سچ ہے. تو سچ کا مطلب ہے جبکہ صرف یہ ہمیشہ کے. یہ تقریبا ایک بیوکوف ہے خود کا اظہار کرنے کے لئے تعمیر. لیکن ہمیشہ کے لئے نہیں تھا سی میں مطلوبہ الفاظ جبکہ تھا. اور ایک بہت سادہ تھا سچ کی طرح بولین اظہار. اور اس طرح یہ، ہم، دیکھیں گے ایک ہی نتیجہ حاصل. اور تم کس طرح ایک لوپ لاگو ہو سکتا ہے؟ ویسے، شروع میں آپ کو ہو سکتا ہے ایک مخصوص تعداد میں مشکل کوڈ یہاں لوپ میں تکرار کی. اور تو ہے کہ بالکل وہی جو ہم C کے اس ورژن میں کر سکتا ہے، ہم ایک ہے جس میں لوپ کے لئے نام نہاد. اور یہاں لوپ کے لئے کی جا رہی ہے کسی حد تک cryptically، iterate کرنے کے لئے، پر قیمت 0 سے لیکن کم 10. شروع میں اب متغیر. تم نے نہیں ہو سکتا موقع ان کا استعمال کرنے کے لئے. لیکن عام طور پر نقطہ، کیا ہے، ایک متغیر کی ہم نے گزشتہ ہفتے کہا تھا؟ یہ کیا ہے؟ سامعین: پوائنٹس. DAVID J. MALAN: نقطہ کرنے کے لئے؟ اوہ، بتاتے ہیں. ٹھیک ہے، پوائنٹس کا ٹریک رکھنے، مثال کے طور پر، ایک کھیل میں. یا اس سے زیادہ عام طور پر کر رہے متغیر کے ساتھ کیا ہے؟ ان کی افادیت کیا ہے؟ سامعین: میموری. DAVID J. MALAN: جی ہاں، تو میموری. یہ کچھ ذخیرہ کرنے کے لئے ہے. اور پاگل بصری میں کی طرح استعمال کیا جاتا ہے آخری بار اس گلاس کٹورا کی طرح تھا. اور ہم نے ذخیرہ کرنے کے لئے کرنا چاہتا تھا ایک متغیر کے اندر کچھ، مثال کے طور پر اب قیمت چھ ہے کیونکہ وہاں یہاں میں چھ پنگ پونگ گیندوں ہیں. یہ سٹوریج کی کچھ قسم ہے کنٹینر کہ ہڈ کے نیچے بٹس، 0s اور 1s کے ساتھ لاگو کیا جاتا ہے، تاہم ایک کمپیوٹر ایسا کرنے کے لئے ہوتا ہے. شروع میں، اگر ایسا ہے تو ہم ایک متغیر کرنا چاہتے ہیں، ہم اس طرح ایک سنتری بلاک استعمال کر سکتے ہیں. ہم نے انسداد فون کروں گا اس خاص معاملے میں. میں 0 سے initialized یہ. اور پھر میں نے کیا ہے؟ ہمیشہ،، انسداد کا کہنا ہے کہ اگر آپ، شروع میں اس کے ساتھ کھیلنے کے آپ کو صرف سکریچ دیکھیں گے. آپ پر ڈال بلی یا جو کچھ بھی کپڑے اس سوال میں بڑی تعداد میں بات کریں گے. 1 کی طرف سے تبدیلی کا انسداد ہے 1 کی طرف سے incrementing کی طرح. اور اس طرح یہ جا رہا ہے کیا تو کیا سے شمار؟ 0 سے انفینٹی تل، یا سکریچ ٹوٹ جاتا ہے جب تک، یا آپ تک طرح کی دیکھ میں دلچسپی کھو وہ اصل میں شمار کر سکتے ہیں کس طرح اعلی. تو ہم کس طرح C یہ تبدیل ہو سکتا ہے؟ یہ تھوڑا خفیہ تلاش کرنے کے لئے جا رہا ہے. لیکن پھر، تو آپ کو ہر ایک پر نظر ان لائنوں کے انفرادی عام طور پر اپ کی وہ قسم. تو بظاہر جا رہا ہے INT سی میں کچھ خاص معنی ہے ہم نے ایک بار پھر دیکھ لیں گے. ایک طرف ایک کے طور پر یہ عددی مطلب. تو یہ صرف تعداد کا مطلب ہے کہ. تو اس کی قسم ہے میں چاہتا ہوں گلاس کٹورا، ایک کہ، تعداد محفوظ کر سکتے ہیں پونگ گیندوں پنگ نہیں. اور میں برابر علامت استعمال کرنے کے لئے جا رہا ہوں یہ 0 کے ایک قیمت تفویض کرنے کے لئے. تو یہ بہت سیٹ کی طرح ہے انسداد 0، لیکن سی میں دریں اثنا، یہ سچ ہے، یہ تھا کہ برابر، کورس کی، ہمیشہ کے لئے کرنے کے لئے، یہ ایک چھوٹا سا خفیہ ہے، اگرچہ، اور پھر گھوبگھرالی منحنی خطوط وحدانی کے اندر. اور اگر آپ ان گھوبگھرالی منحنی خطوط وحدانی کے بارے میں سوچ کر سکتے ہیں، جس سے آپ، اپنے کی بورڈ پر ٹائپ کر سکتے ہیں کے طور پر واقعی گھماو کی طرح کیا جا رہا ہے شروع میں ان پیلے رنگ لوپ بلاکس. یہ کوڈ کا ایک سے زیادہ لائنوں پر استوار ہے. printf ایک ہو رہی ہے اب خوفناک سا میں کیونکہ نہ صرف قوسین میں حوالہ دیکھیں. لیکن اس میں نیا کیا ہے syntactically ہے اس مثال میں؟ ایک فیصد D ہے. اور پھر الٹا سلیش (ن) ہے. ہم بھی، اس سے پہلے کہ دیکھا میں نے اس کا ذکر نہیں کیا ہے. پھر ایک علامت ہے. اور پھر ایک کاؤنٹر ہے. لیکن ہم صرف ایک میں دیکھیں گے یہ صرف ہے کہ لمحے پرنٹ ایک کہنے کا ایک معیاری طریقہ "دشملو تعداد،" اقتباس، اختتام اقتباس، کچھ دشملو تعداد. لیکن میں تم سے بعد میں بتانے جا رہا ہوں کہ دشملو تعداد کیا ہے. ایک علامت ہے حقیقت یہ ہے کہ تو اس لائن کہاوت printf میں، آگے بڑھو اور پرنٹ کا مطلب کچھ دشملو تعداد. اوہ، اور راہ کی طرف سے، نمبر ہے جو کچھ بھی اس متغیر کی قدر ہے. اور اس طرح یہ زیادہ بنانے کے لئے ، ہم ایک مثال واضح نظر آئے گا طویل عرصے سے پہلے بالکل printf کے شامل حقیقی C پروگراموں کے تناظر میں. اب کچھ لپیٹ ان تشکیل کی. بولین اظہار، آپ نہیں کر سکتے ہیں موقع آپ کے پروگرام میں ان کا استعمال کرنے کے لئے لیکن آپ کو، بہت اچھی طرح سے ہو سکتا ہے خاص طور پر حالات کا استعمال کرتے ہوئے ہے. اور ان دو مثالیں XY سے کم ہے تو مطلب سکریچ، XY سے کم ہے اور اگر یا Y کم ہے Z سے، کہ ہم کس طرح ترجمہ کر سکتے ہیں؟ ویسے، C میں یہ صرف ہے اس طرح نظر آئے جا رہا ہے. ایک چھوٹا سا خفیہ، زیادہ قوسین، کچھ عجیب ہے ampersands، لیکن بنیادی طور پر خیالات وہ کے طور پر آسان ہے پہیلی ٹکڑا دنیا میں ہیں. ہم صرف کچھ ہے تو جانچ پڑتال کر رہے کچھ اور بھی کم ہے. کس طرح کے حالات کے بارے میں؟ انگریزی میں ایک مختصر میں، اس کا کیا ہے سکریچ کوڈ کا حصہ آپ کا کہنا ہے کہ ہے؟ سامعین: دو نمبروں موازنہ. DAVID J. MALAN: دو موازنہ تعداد، اور XY سے کم ہے تو یہ بہت کے طور پر کہتے ہیں. X Y سے بڑا ہے اس کے طور پر زیادہ سے زیادہ، اور کا کہنا ہے کہ ایکس کے برابر ہے تو اس کے طور پر زیادہ کا کہنا ہے کہ Y. اب X اور Y کہاں سے آیا؟ کون جانتا ہے. سکریچ کے اس حصہ کوڈ کے سیاق و سباق سے باہر ہے. لیکن اب ہم کیا کرنا چاہتے ہیں کا ترجمہ ہے صرف ایک لمحے کے لئے اس کو دیکھنے کے لئے. آپ آرام ملتا ہے تو مسئلہ سیٹ میں اس ہفتے 0 اس دنیا میں کھیل بائیں پر، احساس خیالات تبدیل نہیں کر رہے ہیں اگلے یا باہر یا اس ہفتے. ہم صرف کرنے کے لئے جا رہے ہیں چیزیں لکھنا شروع کے ساتھ ایک مختلف انداز میں ہماری بجائے ہماری ماؤس کی بورڈ. تو XY سے کم ہے، اور وہاں کچھ قوسین ہے، پھر کچھ گھوبگھرالی منحنی خطوط وحدانی ہے پھر اس قسم کی encapsulate کی پیلے رنگ کی پہیلی کے ٹکڑے ٹکڑے کرتے طرح. اور میں نے ایکس printf سے جا رہا ہوں تو آگے Y اور سے بھی کم ہے. کیا سی کے بارے میں اچھا ہے، آپ یہاں دیکھ سکتے ہیں کے طور پر، آپ کو اس nesting کے حاصل نہیں ہے، nesting کے، کہ ضروری ہے nesting قیمت درست کرنے کے لئے اپنے کوڈ کو دھکا کرنے کے لئے جا. آپ اس کے بجائے سب کچھ کر سکتے ہیں تصویر صفائی اس طرح. لیکن یہ صرف ایک جمالیاتی ہے ہم طویل عرصے سے پہلے ایک بار پھر دیکھ لیں گے تفصیل. ٹھیک ہے. تو اس کے لئے ہمیں واپس لاتا ہے اس خفیہ لگ پروگرام. اصل میں کچھ کوڈ لکھنے. اب کس طرح آپ کو کوڈ لکھنے کے بارے میں جانا ہے؟ آپ کی ملکیت ہے کہ ان تمام سال ایک میک یا پی سی، ڈیسک ٹاپ یا لیپ ٹاپ، آپ اصل صلاحیت پڑا ہے پروگرامنگ کوڈ لکھنے شروع کرنے کے لئے. لیکن آپ کو شاید یاد کر رہے ہیں پروگرام کی ایک خاص قسم. آپ یقینی طور پر کوڈ لکھ سکتے ہیں. لیکن تم، ضروری نہیں کر سکتے ہیں باکس سے باہر، کہ منبع کوڈ میں تبدیل اعتراض کوڈ، 0s اور 1s میں آپ کے کمپیوٹر پر کیا بغیر؟ سامعین: کمپائلر. DAVID J. MALAN: تو ایک سنکلک، صحیح. اب آپ کے سب سے زیادہ شاید ایک سنکلک کے مالک نہیں ہیں، ایک سنکلک ڈاؤن لوڈ کبھی نہیں کیا ہے. لیکن آپ اسے ڈاؤن لوڈ کر سکتے ہیں دیکھیں گے سافٹ ویئر کی سب سے زیادہ کسی بھی دوسرے ٹکڑے کی طرح. میک OS کی دنیا میں، آپ کو ہو سکتا ہے ڈاؤن لوڈ، اتارنا یا پہلے سے ہی ڈاؤن لوڈ کیا ہے Xcode ہے یا جی سی سی یا بجنا کہا جاتا ہے کچھ. آپ کی طرف سے آئے ہیں تو ونڈوز دنیا تم ہو سکتا ہے وژول اسٹوڈیو ڈاؤن لوڈ کیا ہے، بصری بنیادی، اس طرح کے ماحول. compilers کے درجنوں ہے آپ استعمال کر سکتے ہیں کہ ان دنوں. لیکن یہاں اس کا مختصر یہ ایک درد ہو جائے گا ہے اور، واضح طور سے، ایک تکنیکی سینکڑوں کے لئے ڈراؤنا خواب مختلف کے ساتھ لوگوں کے سب کے لئے کمپیوٹر کی تفصیلات ان مشینوں کی تشکیل بالکل اسی طرح میں تاکہ ہم سب ایک ہی صفحے پر ہو سکتا ہے. تو ہم اس کے بجائے، کیا CS50 میں ہم آپ کو دے رہا ہے ایک معیاری ماحول، ایک ہے کہ لینکس کے ماحول ایک چھوٹا سا دیکھنے کے لئے جا کچھ اس طرح. تم میں اس سے زیادہ نظر آئے گا مسئلہ 1 سیٹ تفصیلات جس یہ جمعہ کی رات آن لائن ہو جائے گا. اور اس کا کیا مطلب ہے آپ اس کے بعد ہے کرنے کے لئے کے قابل ہو جائے کرنے کے لئے جا رہے ہیں ڈاؤن لوڈ، اتارنا اور ایک پروگرام کو انسٹال ملاقات کی CS50 آلات. اور آپ کو ڈاؤن لوڈ کرنے کے لئے جا رہے ہیں اور نامی ایک پروگرام کو انسٹال صرف ایک ہے جو ایک hypervisor کی، اس کے حصول کی پسند کا طریقہ. اگر آپ ایک میک یا PC یا ایک مالک چاہے لینکس کمپیوٹر یا ایک کمپیوٹر سولیرس، یا جو کچھ بھی پاگل آپریٹنگ نظام آپ چلا رہے ہیں، آپ کو ایک پروگرام ڈاؤن لوڈ، اتارنا کرنے کے لئے جا رہے ہیں ہے کہ کہا جاتا ہے hypervisor CS50 چلانے کے لئے جا آپ کے کمپیوٹر پر آلات کوئی بات نہیں ہے آپ کے آپریٹنگ سسٹم کیا ہے. دوسرے الفاظ میں ایک hypervisor کی بدلتا جو کچھ بھی زبان میں ہماری چیزیں، جو بھی ہدایات آپ اپنے کمپیوٹر سمجھتا ہے. تو یہ ایک layering کی ہے. اور پھر، اس طرح ہے کمپیوٹر میں موضوعات کے سائنس، چیزوں کی سب سے اوپر پر عمارت. آپ ونڈوز کو ہو سکتا ہے. آپ میک OS ہو سکتا ہے. لیکن اگلے ہفتے شروع ہونے والے تم ڈاؤن لوڈ کرنے کے لئے جا سافٹ ویئر کی ایک مفت ٹکڑا کہا جاتا ہے hypervisor. آپ ایک ٹکڑا ڈاؤن لوڈ کیا ہے کرنے کے لئے جا رہے ہیں سافٹ ویئر کی ملاقات کی CS50 آلات. کہ، hypervisor کی میں چلانے کے لئے جا رہا ہے جو آپ کے کمپیوٹر پر چلانے کے لئے کی جا رہی ہے. اور آخر نتیجہ ہے ہم سب اس کے کہ کی طرح ایک سادہ ونڈو اپنے میک یا پی سی پر اس کہ ہم سب کی برم دیتا ہے ایک ہی آپریٹنگ سسٹم چل رہا ہے، کسی بھی دوسرے کے بغیر آپ کے کمپیوٹر پر اثر. اور آپ کو مکمل سکرین کر سکتے ہیں یہ اور بنیادی طور پر برتاؤ آپ چلا رہے ہیں کے طور پر ایک کہا جاتا لینکس آپریٹنگ سسٹم، جس میں کیا CS50 ہے آلے پر مبنی ہے. تو اصل میں اس کا استعمال کرتے ہیں اب ایک پروگرام لکھنے کے لئے. آپ کو ایک پروگرام لکھ سکتے ہیں مائیکروسافٹ ورڈ کا استعمال کرتے ہوئے. آپ کو ایک پروگرام لکھ سکتے ہیں TextEdit، یا نوٹ پیڈ کا استعمال کرتے ہوئے، یا WordPad، یا بہت زیادہ کسی بھی لفظ پروسیسنگ پروگرام آپ نے کبھی استعمال کیا ہے. لیکن حقیقت یہ ہے تم نہیں کرنا چاہئے واقعی ان پروگراموں میں سے کسی کا استعمال کرتے ہیں. آپ یقینی طور پر استعمال نہیں کرنا چاہئے مائیکروسافٹ ورڈ، کچھ اس طرح ہے جس جلی کا سامنا اور italics، اور ہے بڑے فونٹ اور چھوٹے فونٹ، کمپیوٹر نہیں ہے اس میں سے کسی کے بارے میں پرواہ. تمام کمپیوٹر ہے کے بارے میں دیکھ بھال کرنے کے لئے جا سی میں تحریری ہدایات طرح انگریزی تو ہم اندر کیا کریں گے CS50 آلات کا آزادانہ طور پر ایک پروگرام استعمال کیا جاتا ہے دستیاب، یہ اور ہے اس میں پہلے سے نصب آلات، کہا جاتا gedit. اور gedit صرف ایک سپر آسان ہے میک OS کے TextEdit جیسے ٹیکسٹ ایڈیٹر، جا رہا ہے کہ ونڈوز نوٹ پیڈ کی طرح اس طرح کچھ نظر آتے ہیں. تو اصل کی نہیں ہیں اس کی سلائڈ پر نظر. لیکن اصل میں جانے ماحول خود. میں آگے جانے کے لئے جا رہا ہوں اور اس دوسرے ونڈو میں، لاگ ان، میں نے جو اپنے CS50 آلات، کے لئے یہاں اپنے لیپ ٹاپ پر پہلے سے نصب. ونڈوز اور طرح، نوٹس میک OS، یہ کچھ مینو ہے. کھڑکیوں کی طرح رکھتا ہے یہ وہاں کی بجائے وہاں اس کے نیچے رکھتا ہے جس میک OS، کے. لیکن حقیقت یہ ہے ہے اسی کے تمام قسم کے. اور یہاں میں ایک پوری ہے سافٹ ویئر کے گروپ. ڈراپ باکس نہیں ہے. اشیاء کی ایک پوری چڑھانے ہے، گرافیکل پروگراموں کہ ہم کریں گے مسئلہ سیٹ کے لئے مدت میں بعد میں استعمال. تو میں تعمیر ایک ویب براؤزر ہے یہ ایک مکمل کمپیوٹر ہے ایک کمپیوٹر کے اندر. لیکن میں نے اس پر کلک کریں کرنے کے لئے جا رہا ہوں یہاں سفید آئکن کہ leftmost، جس Gedit نے کے لئے آئکن ہے. اور یہ ایک ونڈو کھولنے کے لئے جا رہا ہے کہ، اس کے تین پینل ہے ایک بائیں، ایک سب سے اوپر ایک، اور ایک نیچے ایک. اب اس سب سے اوپر دائیں سے ایک میں ہے کہ میں اصل میں کچھ کوڈ لکھنے کے لئے جا رہا ہوں. تو ایسا کرنے دو،. میں، فائل کو محفوظ کریں پر جانے کے لئے جا رہا ہوں. اور تم نے کبھی دیکھا ہے نہیں ہو سکتا اس سے پہلے خاص طور پر ونڈو. لیکن یہ میک OS یا ونڈوز کی طرح ہے. یہ صرف ایک ونڈو ہے فولڈر کے ساتھ میں نے اس کمپیوٹر کے اندر ہے کہ. اور میں کو بچانے کے لئے جا رہا ہوں hello.c کے طور پر فائل. اور میں جا رہا ہوں آگے اور محفوظ کریں پر کلک کریں. اور اب میں ایک ٹیب ہے نوٹس سب سے اوپر بائیں میں کہا جاتا hello.c. تو شاید بہت واقف اگر آپ نہیں ہے یہاں تک کہ اگر سے پہلے اس مخصوص پروگرام استعمال کیا جاتا ہے. اور اب میں ان لوگوں میں ٹائپ کرنے کے لئے جا رہا ہوں حکم دیتا ہے کے کافی خفیہ ترتیب کہ ہم ایک لمحے پہلے دیکھا. شامل، معیار I / O.h. کہ جلد ہی مزید. int اہم باطل، کھلی گھوبگھرالی تسمہ، گھوبگھرالی تسمہ بند. اور پھر وہاں کے اندر میں ہے ہم کہاں "ہیلو دنیا" نیم وقفہ تھا. اور اب کو بچانے کے. تو اس C میں لکھا ایک پروگرام ہے، منبع کوڈ میں، اس وجہ سے، لکھا. لیکن میں صرف اس پروگرام کو چلانے نہیں کر سکتے ہیں. میں اس قسم کی دوگنا کرنے کے لئے چاہتے ہیں کہیں ایک آئکن پر کلک کریں، لیکن کوئی آئکن دیگر موجود ہے منبع کوڈ فائل سے. کیا، پھر، عمل اب یہ ہے کہ میں کے ذریعے اس فائل کو چلانے کے لئے کی ضرورت ہے؟ سامعین: کمپائلر. DAVID J. MALAN: تو ایک سنکلک. تو مختلف کمپیوٹرز میں آپ مختلف طریقوں سے ایسا. لیکن ہم میں یہاں کیا کیا ہے ہے کہ CS50 آلات کے نمائندے آپ کو کس طرح ہو سکتا ہے اس کے بہت سے مختلف سسٹمز پر کیا، میں صرف کرنے جا رہا ہوں میک نامی ایک کمانڈ چلائیں. اور بنانے کے لفظی ہے کہ کیا جا رہا ہے. مجھے ایک پروگرام بنائیں. تو جا رہا ہے بنانے کے میرے لئے ایک سنکلک چلانے. اور پروگرام کے نام میں خوش ہے بنانے کے لئے چاہتے ہیں. اب ایک پروگرام ہے. اور بنانے کے لئے کافی ہوشیار ہے ، میں نے کا کہنا ہے کہ ہیلو احساس ہے کہ یہ خود کار طریقے تلاش کرنے کے لئے جا رہا ہے ایک فائل کہا جاتا hello.c کے لئے صرف یہ ہے کہ کیونکہ طرح تشکیل. تو اب میں یہاں، اس کو درج کریں مارا جب پاگل خفیہ لائن صرف پھانسی ہو گئی. اور اس سے پہلے، مجھ پر اعتماد طویل، صرف دن کے اندر اندر، کیا آپ سمجھ گے اس قسم کی معمولی ہدایات کا مطلب ہے کے. لیکن اب کے لئے، صرف ہے کہ جانتے ہیں ایک سنکلک کے ٹرگر پھانسی. دوسرے الفاظ میں، یہ محسوس کیا میرے کمپیوٹر پر ایک سنکلک کہ پہلے سے نصب ہے CS50 آلات پر ہم مسئلہ 1 سیٹ میں آپ کو حوالے کریں گے کہ. اور اس کے بعد کے طور پر میں hello.c لے لیا ان پٹ، اور بظاہر تیار 0s اور پیداوار کے طور پر 1S. اور پہلے سے طے شدہ کی طرف سے کیا کرتا ہے اسے بچاتا ہے ایک فائل میں ان 0s اور 1s کہا ہیلو. اور یہ نحو اگرچہ بھی ہو سکتا ہے بس ڈاٹ کہہ کر، آپ کو نئے ہو سلیش خوش ہونے جا رہا ہے جس کی طرف سے میں اس پروگرام چلاتے مطلب. اب کے لئے اور کم از کم ایک جوڑے کے لئے پروگراموں کے ہفتے کے، تقریبا تمام ہم جا رہے ہیں لکھنے سیاہ اور سفید متن ونڈوز. کوئی چوہوں، کوئی پر کلک کرنے، کوئی ونڈوز، کوئی شبیہیں. ہم یہ آسان رکھنے کے لئے جا رہے ہیں اور بنیادی خیالات پر توجہ مرکوز ہم کچھ حاصل کرنے کے لئے ابتدائی طور پر اس سے پہلے اعلی سطح، مثال کے طور پر، ہم بات کہ وقفے کے باہر کھیل ہی کھیل میں کی طرح پہلا لیکچر گزشتہ ہفتے میں. میں یہاں درج کریں مارا جب، یہ ہے ایک متن صرف ماحول میں برابر خوش نامی ایک آئکن پر کلک دوگنا کرنے کے لئے. آپ اپنی مرضی کی توقع کیا پھر میں درج کریں مارا، جب ہو؟ سامعین: یہ "ہیلو دنیا." پرنٹ کریں گے DAVID J. MALAN: امید یہ "ہیلو دنیا." پرنٹ اور یقینا یہ کیا. اب رہا کچھ یہاں خفیہ نحو. صرف کے لئے ماضی ایک لمحے اور دیکھیں تو ہم صرف کی طرف سے inferring شروع نہیں کر سکتے ہیں ، ایڈجسٹمنٹ کی کوشش کر رہی ہے اور میں ناکامی، یہاں کیا چل رہا ہے کے طور پر. کیا میں الٹا سلیش (ن) سے چھٹکارا حاصل ہے؟ اب آپ کچھ ہے جو شاید اس سے پہلے پروگرام کیا اس کا مطلب فوری طور پر معلوم ہے. لیکن ہے جو تم میں سے ان لوگوں کے لئے پہلے پروگرام کبھی نہیں، کم از کم کیا جا رہا ہے اپنے آپ کو لگتا میں نے اس پروگرام rerun جب تبدیل کرنے کے لئے؟ تو میں نیچے واپس جانے کے لئے جا رہا ہوں میرا چھوٹی سیاہ اور سفید ونڈو، جس میں ونڈو ہے جس میں میں نے اس کو مرتب کر سکتے ہیں. میں نے ہیلو recompile کرنے جا رہا ہوں. ہم ایک ہی کو دیکھنے کے لئے جا رہے ہیں حکم کے خفیہ ترتیب. اور میں خوش ڈاٹ سلیش کرنے جا رہا ہوں. اور اب کسی کو، اگر آپ چاہتے ہیں تو، جو، سے پہلے پروگرام کبھی نہیں اس وقت مختلف کیا ہو سکتا ہے؟ جی ہاں. سامعین: اس کو روکنے کے نہیں کرے گا پرنٹنگ "ہیلو دنیا." DAVID J. MALAN: یہ to-- معذرت رہا ہے؟ سامعین: یہ پرنٹنگ روکنے کے نہیں کرے گا؟ DAVID J. MALAN: یہ نہیں چھپائی کو روکنے کے "ہیلو دنیا." تو برا خیال نہیں ہے. دوسرے کے خیالات؟ جی ہاں. سامعین: خرابی کا پیغام؟ DAVID J. MALAN: خرابی پیغام، ٹھیک ہے، ہو سکتا ہے. اور کیا؟ سامعین: اس کو پرنٹ کر سکتے ہیں اس کے ساتھ ساتھ نیم وقفہ کے ساتھ بریکٹ؟ DAVID J. MALAN: پرنٹ کر سکتے ہیں اس کے ساتھ ساتھ نیم وقفہ کے ساتھ بریکٹ. تو ہو سکتا ہے کہ الٹا سلیش ہے تو کچھ ضروری ہے کہ terminous کی قسم. کسی دوسرے کے خیالات؟ تو تمام اچھے خیالات. اور حقیقت میں، یہ جا رہا ہے ایک غلطی پیغام ہو جائے. سب سے زیادہ امکان شاید عام طور پر اس کا جواب کرنے کے لئے اگلے چند ہفتوں کے لئے ہم یہاں کوڈ کے لئے سیکھنے کے طور پر. لیکن اب کے لئے کمپیوٹر کے یاد رکھیں کہ صرف آپ ان کو بتا کیا. مضحکہ خیز مونگفلی کی طرح مکھن اور جیلی مثال. ہمارے انسانی کمپیوٹر صرف والے تھے کیا آپ ان سے کہا کہ کیا کرنا ہے. اس صورت میں، اگر ایسا ہے تو آپ کمپیوٹر بتا نہیں ہے کہ ٹمٹمانے والے کرسر منتقل کرنے کے لئے اگلی لائن، یہ ایسا نہیں ہے. تو میں نے اس پروگرام چلاتے ہیں اب، فرق محسوس. ایک مسئلے کی طرح لگتا ہے. یہ شاید، ایک جمالیاتی بگ ہے. لیکن اس کے بارے میں مختلف کیا ہے ظاہر ہے گزشتہ ایک کے مقابلے میں پیداوار؟ جی ہاں. سامعین: یہ ایک نئی لائن نہیں کیا. DAVID J. MALAN: یہ ایک نئی لائن نہیں کیا. اب آپ ان لوگوں کو جو شاید بنا ویب صفحات سے پہلے، آپ کا پتہ کر سکتے ہیں BR ٹیگ یا پیراگراف ٹیگ، روح میں بہت ہی. ایک ویب براؤزر ہے جب تک آپ کو نظر انداز کرے گا تم بالکل کیا کرنا ہے یہ بتانے کے. اسی طرح، C کی طرح ایک زبان ہے صرف آپ کیا کرنے کی یہ بتا کیا کیا جا رہا. وجہ تو یہ ہے کہ ان مثالوں کے تمام، اس طرح اب تک، اس قسم کی ہے اتفاق سے یہ الٹا سلیش تھا وہاں میں، اس کا مطلب ہے جس کی طرف سے آپ کو اپنے آپ کا اظہار ایک نئی سطر کے کردار کے طور پر، تو بات کرنے کی. اور آپ کی قسم، شاید، تعریف کر سکتے ہیں اس قسم کے بیوکوف نظر آئے گا کہ اگر اور کچھ نہیں. میں ایک نئی سطر چاہتا تھا، تو، صرف مارنے قسم تو کریں اور کی طرح کوڈ butchering سے واقعی آپ کو صحیح طریقے سے رگڑنا نہیں ہونا چاہئے. اور آپ ایسا نہیں کرتے یہاں تک کہ اگر واقعی اس وقت کی پرواہ، آپ کو اس کا احساس کریں گے یہ ایک خاص طور پر نہیں ہے کوڈ کی اچھی لگ ٹکڑا. اور تو کیا دنیا فیصلہ کیا سال پہلے ہے کہ آپ کو ڈال کرنے کے لئے چاہتے ہیں جب واضح طور پر ایک نئی لائن پر کرسر، آپ کو واضح طور کہنا ضروری ہے نئی لائن، الٹا سلیش (ن). اور کچھ دیگر ہے اس طرح علامات. لیکن اب ہم کریں گے الٹا سلیش (ن) پر توجہ مرکوز. اب پروگرام بنانے ایک چھوٹا سا زیادہ دلچسپ. میں آگے جانے کے لئے جا رہا ہوں اور اس وقت ایک نئی فائل کھولنے. میں اس کے طور پر ہیلو 1.c کو بچانے کے لئے جا رہا ہوں. اور صرف کک کے لئے، میں جا رہا ہوں میرے ڈراپ باکس کے فولڈر میں ڈال جاؤ. آپ CS50 میں دیکھیں گے کے طور پر آلات کے لئے دستاویزی، مسئلہ کے لئے اس ہفتے کے آخر 1 سیٹ، ہم حوصلہ افزائی کریں گے آپ ڈراپ باکس استعمال کرنے کے لئے یا کچھ مساوی سروس، اپنے کوڈ کی تو وجہ جا کے خود کار طریقے سے حمایت حاصل کرنے کے لئے. میں نے کیوں اور اس طرح ہے کہ یہاں اس فولڈر میں چلی گئی. اور اب میں ایک لکھنے کے لئے جا رہا ہوں تھوڑا سا مختلف پروگرام. معیار I / O.h، int اہم باطل، شامل. اور پھر printf یہاں، خوش دنیا میں، جس سے پہلے کے طور پر بالکل ایک ہی ہے. لیکن اب میں کچھ پرنٹ کرنے کے لئے چاہتے ہیں کہ تھوڑا سا مختلف ہے. میں، باہر پرنٹ کرنے کے لئے چاہتے ہیں "ہیلو، ڈیوڈ."، کا کہنا ہے کہ ٹھیک ہے، ظاہر ہے تو، یہ امید کرنا چاہئے میں recompile ہے کہ کیس ہو اس پروگرام کے، یہ ہے rerun، یہ کہا جا رہا ہے "ہیلو، ڈیوڈ." لیکن کیا اگر میں چاہتا متعارف کرانے متغیر کی اس طرح، جا رہا ہے کہ ایک کنٹینر کے تصور کوڈ یہ D ایک وی میں ڈی اور مشکل نہیں ذخیرہ کرنے کے لئے میرے پروگرام میں. ویسے میں نے شروع کیا ہے تو کچھ اس طرح کر رہے ہو؟ سٹرنگ، تو یہ ایک متغیر ہے. آپ کو ایک تار کرنا چاہتے ہیں، ایک لفظ یا ایک جملہ a.k.a.. حروف کی ترتیب کیا ہے ہم پروگرامنگ میں ایک تار کہتے ہیں. ہم صرف عام فون کرنے جا رہے یہ ایک اچھا آسان نام ہے کیونکہ یہ ہے. لیکن میں کچھ بھی کہہ سکتے ہیں. میں سٹرنگ کے برابر کہنے جا رہا ہوں unquote جو، "ڈیوڈ،" نیم وقفہ اقتباس. اور اب میں داخل کرنا چاہتے ہیں D ایک وی میں-D میں چھپائی رہا ہوں کیا میں. اور ہم سے پہلے ایک جھلکی دیکھا کچھ خاص نحو کی سکرین اس کے لئے ہمیں اجازت ایک قدر میں متبادل. خصوصی کیا تھا علامت چند سلائڈ پہلے؟ تو فیصد. وقت میں یہ فیصد تھا دشملو تعداد کے لئے D. یہ واقعی یہاں متعلقہ نہیں لگتا. بدل جاتا ہے وہاں ایک فیصد کی علامت، کھڑا ہے جس فیصد کی، ایک تار کے لئے ایک پلیس ہولڈر کے لئے. تو اب، بہت صرف، میں ہوں خوش 1 بنانے جا رہا، اس فائل کہا جاتا ہے کیونکہ ہیلو 1.c، اور درج کریں مارا. اور میں مصیبت میں. کیا ہو رہا ہے؟ ہم شروع کرنے کے لئے ہے جہاں ویسے، یہاں ہے ہم اس حکم میں ہیں اس کی تعریف لائن کے ماحول، اس صرف ماحول متن. شبیہیں پر کلک نہیں ہے ابھی فولڈرز کی طرح. اور ایک لمحے پہلے واپس لگتا ہے. کیا میں فولڈر میں نے میں اپنے کوڈ کو بچانے گیا تھا؟ تو ڈراپ باکس کے فولڈر. کچھ کہا جا سکتا تھا. لیکن یہ ڈراپ باکس بلایا جائے ہوتا ہے. تو میں نے کسی نہ کسی طرح کے پر کلک کریں دوگنا کرنے کی ضرورت ہے کہ ڈراپ باکس کے فولڈر حاصل کرنے کے لئے اور اس میں میں حاصل میرا کوڈ ہیلو 1.c کہا. اصل میں، مجھے آگے بڑھو اور کم سے کم دو صرف ایک لمحے کے لئے اس ونڈو. صرف ونڈوز اور میک OS کی طرح، لینکس میں فولڈر ہیں. CS50 آلات میں فولڈر ہیں. یہ صرف ٹھیک ہے اب ہم تک محدود رہے ہیں ہے اس متن کے ماحول کے لئے خود کو. لیکن میں پر کلک کریں دوگنا ہے تو ڈراپ باکس پر، وہاں نوٹس میں مرتب کرنے کے لئے چاہتے ہیں کہ فائل ہے. لیکن میں اس سیاہ اور سفید کی ضرورت ٹرمنل ونڈو، تو بات کرنے کی. لیکن مجھے اس کی ضرورت، لہذا، منتقل کرنے کے لئے اس فولڈر یا ڈائریکٹری میں. تو تھوڑا سا پراسرار، لیکن آپ بھی اس کی عادت ہو جائے گی. لینکس کی دنیا میں، جس دوبارہ کام کر رہا ہے نظام ہم CS50 کے اندر چلا رہے ہیں آلات، CD نامی ایک کمانڈ ہے. جس میں سی ڈی، خلائی، ڈراپ باکس کر سکتے ہیں کا مطلب ہے. سی ڈی، تبدیلی کی ڈائریکٹری. حق. دن میں واپس لوگ تھے جب کمپیوٹر inventing اور کام اس طرح کے نظام، وہ چاہتا تھا بہت کم keystrokes کے ممکن ٹائپ. سب سے آسان طریقہ کہنا تو تبدیل ڈائریکٹری CD تھا. تو میں نے سی ڈی، خلائی ڈراپ باکس مارا، یہاں تبدیل کر دیا ہے محسوس کیا. قوسین کے اندر آلات قسم ہے مجھے humoring میں اور جہاں میں ہوں مجھے یاد. کھلی فولڈر ڈراپ باکس ہے. میں اب کے لئے LS ٹائپ کریں فہرست، پھر succinct کے، لوگوں کو نہیں کرنا چاہتے تھے کیونکہ دن ایل میں ایس ٹی میں واپس ٹائپ. تو وہ اس کی بجائے یہ LS بنایا. درج کریں. ، میں، ہیلو 1.c دو چیزوں کو دیکھنے کے نوٹس اور پھر اس خفیہ بات، ذریعہ 1M. کہہ رہے ہیں کہ میں صرف اپنے طریقہ ہے 1 ہفتہ پیر کے لئے ماخذ کوڈ. کہ میں نے سے ڈاؤن لوڈ ایک فولڈر ہے میں نے پہلے آج کیا کہ CS50 کی ویب سائٹ اور صرف میں ڈال پیشگی آلات. لیکن اب صرف ایک ہی چیز کے لئے ہم اس پروگرام کر رہا ہے کے بارے میں پرواہ. تو میں خوش-1، درج کریں ٹائپ جب. ارے. کچھ غلط ہو گیا. تو اس کے علاوہ چڑھاو ہیں. اور بدقسمتی سے یہ جہاں چیزیں ہے سب سے پہلے میں ایک چھوٹا سا دباؤ حاصل، کم از کم آپ کو ہے تو پہلے پروگرام کبھی نہیں. میرے خدا. میں نے ایک دو لائن پروگرام لکھا اور میں غلطیوں کے چار لائنوں میں ہے. تو یہاں کیا ہو رہا ہے. سب سے پہلے ہمیشہ واپس سکرال اپ اور پہلی غلطی پیغام مل جائے، اکثر صرف compilers کی وجہ آپ اور میں کیا کی طرف سے الجھن میں. compilers کے خوبصورت گونگا ہیں. وہ صرف کیا کروں گا کیا آپ ان کو بتا. آپ ان کو الجھانے اور اگر وہ صرف کر رہے ہیں قسم کے ان کے ہاتھ ہے پھینک جا رہا اور شاید زیادہ خرابی کے پیغامات پھینک سے اصل میں متعلقہ ہیں. تو سب سے پہلے دیکھو. سب سے پہلے میں سپر خفیہ. لیکن نوٹس، یہاں کا نام ہے فائل ہے جس میں میں بظاہر خراب. بڑی آنت 5، بڑی آنت 5 صرف کا مطلب ہے کہ پانچویں کردار میں آن لائن 5. تو حروف کی پانچویں کالم، غلطی، اگر آپ. اگھوشیت شناخت کنندہ سٹرنگ کا استعمال. آپ کو معیاری ن کا مطلب کیا؟ نہیں، میں سٹرنگ کا مطلب ہے. اور پھر اس قسم کی ہے کاپی اور پیسٹ میں واقعی میں اپنی طرف متوجہ کرنے کے لئے ٹائپ کیا میرا میں مصیبت میں جہاں پر توجہ. کسی وجہ سے سی لئے تو، یا کم از کم سنکلک لفظ سٹرنگ سمجھ نہیں ہے. ہم اس بنا کیونکہ اور یہ کہ ہے. تو سٹرنگ موجود نہیں ہے C. کیا CS50 کرتا ہے میں، پہلے چند ہفتوں کے لئے صرف کلاس کی، ہم کچھ تربیت فراہم کر رہا ہے پہیوں، تو بات کرنے کی. اور ہم نے ان کی تربیت پہیوں ڈال CS50.h. نامی ایک خصوصی فائل کے اندر تو اس سے دو فائل کی دوسری ہے بظاہر ڈاٹ ایچ میں ختم ہے کہ نام. کے ماضی. printf ایک بیان یا تقریب ہے کہ بظاہر کچھ پرنٹ سکرین پر. لیکن تم نے مجھے نہیں دیکھا حق، printf کا لاگو. کسی سال پہلے printf کا لاگو. کیا فائل میں آپ کو وہ دانو یا وہ عمل درآمد ڈال printf کے، printf کے لئے کوڈ کے لئے؟ معیار I / O.h نامی ایک فائل میں. اصل میں، اس میں شاید دو فائلوں، معیار I / O.h، جو ہیڈر کے لئے کھڑا ہے فائل، اور معیاری I / O.c، جس C منبع کوڈ کے لئے کھڑا ہے. تو وہ کچھ سال پہلے گئے plopped وہ اس فائل میں لکھا ہے کہ کوڈ تاکہ ہم جیسے لوگوں سال کے بعد اس میں شامل کر سکتے ہیں، ہمارے اپنے پروگراموں میں، بات کرنے کے لئے. اور یقینا، یہ کیا پونڈ نشانی ہے لفظ کے بعد کرتا ہے شامل ہیں. یہ مقامی ہارڈ ڈرائیو پر لگ رہا ہے ، معیار I / O.h نامی فائل پائے اور پھر مؤثر طریقے کاپیاں اور میری اپنی فائل کے اندر pastes ہے. تو اب اپنے پروگرام جانتا ہے کس طرح کی سکرین پر پرنٹ کرنے کے لئے. اس منطق، جہاں کی طرف سے سٹرنگ بیان کیا جاتا ہے؟ سامعین: CS50.h. DAVID J. MALAN: CS50.h. اور یقینا، کہ ہم کیا، کور کے عملے، کیا کیا ہے. ہم کچھ اعداد و شمار اقسام کی ایجاد ہے، تو ایک تار کی طرح، بات کرنے کے لئے، ہیں کے علاوہ میں آپ ایک int کی طرح، مفت کے لئے حاصل. اور ہم نے ایک چار طرح دوسروں کو نظر آئے گا ایک کردار اور چند سے زیادہ کے لئے. CS50.h شامل ہیں بنانے بظاہر ہے کے اندر سٹرنگ کے کم از کم کچھ ذکر. تو اب مجھے آگے بڑھو اور دوبارہچلانے بنانے ہیلو-1. میں ایک بار پھر میں زوم اور میری انگلیوں کو پار کریں گے. اب ایک بنا دیا ہے میں سب سے زیادہ چیزوں کو طے تبدیل. لیکن یہ لات. اعداد و شمار کے دلائل سے زیادہ فیصد. کیا میں اس وقت غلط کیا؟ تو یہ اب بھی بہت خفیہ ہے. لیکن اس غلطی پر ہے 7 لائن اور کردار 21. تو یہاں نظر جانے. یہ ایک چھوٹا سا ٹھیک ٹھیک ہے. لیکن اگر آپ کے بارے میں سوچتے ہیں تو کیا یہاں بنیادی خیالات، ہیں شاید ہم اس کے علاوہ چڑھاو کر سکتے ہیں. تو printf تقریب کا نام ہے. قوسین، اس طرح اب تک، ہے ہم کے ارد گرد ڈال کی طرح ہم گزر رہے ہیں چیزیں ایک تقریب آدانوں کے طور پر. ٹھیک ہے، صرف ایک صوابدیدی انسانی کنونشن. قوسین کا استعمال کریں. ان قوسین کے اندر ہم ڈبل قیمت درج کرنے ڈال دیا گیا ہے، اور پھر اس طرح ایک سٹرنگ "ہیلو دنیا." لیکن اس سے پہلے مثال کے طور پر میں بہت مختصر طور پر ہم سکریچ کے ساتھ پر نظر کیا. اور ہم فیصد D، تھا اور کیا ان قوسین کے اندر تھا میں زبانی طور پر کہا جاتا ہے؟ جی ہاں. سامعین: یہ تو آپ کو لے جا رہے ہیں کیا [اشراوی] کے اندر سے [اشراوی] ان [اشراوی]؟ DAVID J. MALAN: بالکل. تو ہم فیصد D تھا. لیکن پھر ہم قریب تھا اقتباس، کوما، انسداد. حق. ہم کیا چاہتے ہیں کی وضاحت پلیس ہولڈر کے طور پر ایسا کرنے کی. تو کیا میں یہاں کیا کرنے جا رہا ہوں کوما، آپ مجھے ڈال کرنے کے لئے کیا چاہتے ہیں؟ سامعین: ایس DAVID J. MALAN: S، کیونکہ اس صورت میں سٹوریج کنٹینر کے نام پر ہے. یہ گلاس کٹورا کا نام ہے. اس میں انسداد تھا جبکہ اس سے پہلے سادہ سکریچ مثال ہم نے دیکھا. تو اب دو بنایا ہے تبدیلیاں، مجھے میں زوم اور ایک بار پھر کوشش کریں اس پروگرام مرتب. اب میں نے اس خفیہ لائن دیکھیں. لیکن یہ اصل میں ہے سنکلک کے نام پر. بجنا سنکلک کے نام پر ہے. صرف مجھ سے بچا رہا ہے بنائیں کبھی سردرد کہ طویل پاگل کمانڈ ٹائپ. تو اب میں ڈاٹ خوش 1 سلیش ہے تو، میں "ہیلو، ڈیوڈ." دیکھنا چاہئے خوبصورت اور underwhelming، اگرچہ، ہے نا؟ ہم کیا کر سکتے ہیں یہ ایک بہت زیادہ صرف متغیر کے بارے میں بات کر کے بغیر cs50.h اور اس کے سب اور. تو یہ ایک بنا تھوڑا زیادہ دلچسپ. CS50.h شامل ہیں بنانے کے علاوہ میں، تار کی طرح چیزوں کے اعلان، CS50 لائبریری بھی کچھ کام کرتا ہے. تو صرف کی طرح سال پہلے، کسی نے لکھا ہے printf اور معیار I / O.h میں ڈال دیا اور کچھ دوسری فائل. ہم CS50 عملے، ایک تقریب لکھا GetChar کہ، GetDouble، GetFloat کو بلایا، میں GetInt، GetLongLong، GetString کے، اور ہم نے ایک فائل کے اندر ان کو ڈال cs50.h اور CS50.c. کہا اور ہم اندر ڈال CS50 آلات کی. اور لوگوں کو بھی کر سکتے ہیں اگر وہ ان کے آن لائن ڈاؤن لوڈ، اتارنا پر ڈال کرنا چاہتے ہیں ان کے اپنے کمپیوٹر کے ساتھ ساتھ. ہم نے پیدا کیا ہے کا کہنا ہے کہ کے لئے ہے جو صارف سے ان پٹ حاصل ہے کہ کام کرتا ہے. میں کیا سب نہیں جانتے ان اعداد و شمار کے اقسام ہیں. میں GetInt کی طرح، قسم کی براہ راست ہے صارف کی طرف سے کسی نہ کسی طرح ایک عددی حاصل. اور GetString حاصل کی طرح شاید ہے ایک لفظ یا صارف کی طرف سے ایک سزا ہے. تو اس پر توجہ مرکوز کرتے ہیں. اور میں میں واپس جانے کے لئے جا رہا ہوں آلات اور میں آگے جانے کے لئے جا رہا ہوں اور کے طور پر اس فائل کو بچانے کے، کی کال دیں میرا دوسرا ورژن کے طور پر ہیلو 2.c. اور تبدیلیوں کے ایک جوڑے بنانے. بجائے اس وقت مشکل کوڈنگ ڈیوڈ، جس ایک ناقابل یقین حد تک مسلسل ہے لیکن underwhelming کے پروگرام، میں بجائے GetString کا کیا کرنا ہے؟ اب GetString کے نوٹس ایک کھلی خانے ہے، بند قوسین، کیونکہ یہ کسی بھی ان پٹ کی ضرورت نہیں ہے. یہ صرف حاصل کرنے کے لئے جا رہا ہے صارف سے ایک تار. اور اب دیگر نحو پر ایک لفظ. نیم وقفوں صرف کوڈ کا ایک لائن ختم. آپ کو ہر جگہ ان کی ضرورت نہیں ہے. لیکن یہ صرف میں ہوں کا مطلب کوڈ کی اس لائن کے ساتھ کیا کیا. مجھے ایک اور پر منتقل کرتے ہیں بیان یا تقریب. سلک ایک متغیر کا اعلان. سلک کہہ طرح ہے ، مجھے ایک کٹوری براہ مہربانی دے. اور مجھے اس میں ایک تار ڈال دو. اور اب برابر علامت. برابر علامت کیا ہے بنیادی طور پر کے برابر؟ سامعین: تفویض. DAVID J. MALAN: جی ہاں، ایک قیمت مقرر. اگر ایسا ہے تو میں، مثال کے طور پر، کال اس تقریب GetString، اور ہم ہے کہ ایک لمحے میں نظر آئے گا ایک تار کے لئے صارف کو فوری طور کرنے کے لئے جا. یہ مجھے تو لکھنا دے کی طرح ہے D ایک وی میں ڈی کاغذ کے ایک ٹکڑے پر. اور میں سٹرنگ کہنا ہے کہ جب کی، GetString برابر برابر واقعی مطلب یہ نہیں ہے C پروگرامنگ میں برابر. یہ دائیں سے تفویض کا مطلب ہے کہ بائیں ہاتھ کی طرف کرنے کے لئے ہاتھ کی طرف. تو میں نے ایک تار ہو گیا ہے. اور برابر علامت ڈال کا مطلب اسٹوریج میں کنٹینر کے نام. اور پھر دور اس کے پاس printf اصل میں اس کے کام کرنے کے لئے. تو پھر آخر نتیجہ جا رہا ہے تھوڑا مختلف تلاش کرنے کے لئے. ہیلو-2 کرتے ہیں. یا تو کام کر سکتے ہیں. آپ کے ساتھ ساتھ مندرجہ ذیل کر رہے ہیں. ہیلو-2 کام بنائیں. ڈاٹ خوش-2، درج سلیش. میں ایک لامحدود ہے لگ رہے ہو لوپ یا کچھ اور. کچھ بھی نہیں ہو رہا ہے. کیوں؟ سامعین: یہ ایک لامحدود لوپ بنا رہا ہے. DAVID J. MALAN: یہ ایک لامحدود لوپ ہے. اس قسم کی میرے لئے انتظار کر رہا ہے اصل میں کچھ ان پٹ کے ساتھ فراہم. تو مجھے آگے بڑھیں اور ٹائپ ڈیوڈ میں، اور درج کریں مارا. اور اب یہ "ہیلو، ڈیوڈ." کہتے ہیں میں نے پھر اسے چلاتے ہیں. کی روب، میں ٹائپ کریں "ہیلو، روب." اب یہ سب سے زیادہ ہے کبھی یوزر انٹرفیس. صارف بظاہر ہے ایسا کرنے کے لئے کیا جاننا چاہیے. لیکن کوئی بات نہیں. یہ وہی عمارت کا استعمال کرتے ہوئے صرف شروع میں چاہیں بلاکس، ہم نے اس مسئلہ کو حل کرنے اور کہہ سکتے ہیں براہ مہربانی آپ کے نام کی طرح کچھ، بڑی آنت، خلائی، بند، اقتباس بند قوسین، نیم وقفہ. اس کی ایک بہت کچھ ایک بار پھر نحو کے ساتھ حماقت. لیکن میں صرف ایک شامل ہے نوٹس یہ ایک اوپر پہیلی ٹکڑا اور یہ ایک اوپر. تو اب میں اس rerun، تو خوش-2، درج کریں. ایک منٹ رکو. کیا غلط ہے؟ یہ مختلف کسی بھی برتاؤ نہیں ہے. جی ہاں. سامعین: آپ کو دوبارہ چلانے نہیں کیا. DAVID J. MALAN: میں نے نہیں کیا حق، دوبارہ چلانے. تو میں اپنے منبع کوڈ کو تبدیل کر دیا ہے. لیکن پھر، وہ بہاؤ ہے. سنکلک ذریعے ماخذ کوڈ دیتا ہے آپ نئے اعتراض کوڈ، 0s یا 1s. تو میں نے اصل میں کرنے کی ضرورت ہے ہیلو-2 درج دوبارہچلانے بنانے. ٹھیک ہے، کچھ ہوا ہے لگتا ہے. ڈاٹ خوش-2 سلیش. آپ کا نام، براہ مہربانی. اور اب واضح ہو، یہی وجہ ہے ایک ہی لائن پر کرسر؟ بالکل ٹھیک. میں الٹا سلیش نہیں ڈالی N یہاں اپنے کوڈ میں. تو اب میں لکھ سکتے ہیں Daven طرح کچھ، درج کریں. میں اسے دوبارہ چلائیں اور ٹائپ کر سکتے ہیں Gabe کی طرح کچھ،، درج کریں اور ہم ایک مختلف پروگرام حاصل دوبارہ اور بار بار. اب آخر میں ہم نے ضرورت کے لئے جا رہے ہیں کچھ مختلف صلاحیتوں کو استعمال کرنے کے لئے. ہم کچھ بالآخر متعارف کرانے کی ضرورت حالات مشروط چیزیں کرنے کے لئے. شاید تو ہم کیا کر سکتے ہیں loops کے بار بار چیزوں. شاید یہ ہم تو اچھا ہو گا ہمارے اپنے افعال پر عملدرآمد کر سکتے، کی طرح ہم اپنے عملدرآمد کر سکتے ہیں printf یا GetString کے ہمارے اپنے ورژن اور GetFlow، کیونکہ بالآخر بھی یہ کمانڈ لائن کے ماحول کا استعمال کرتے ہوئے ہم بھی سب سے زیادہ کر سکتے ہیں چیزوں کے ضعف دلچسپ. بے شک آخر میں مجھے ایسا. میں آگے جانے کے لئے جا رہا ہوں اور ان کھڑکیاں بند اور یہاں یہ آئکن کھولنے، جس میں صرف ایک بڑا ہے اس کے ورژن سرایت ٹرمنل ونڈو. تو ہم gedit نہ صرف ہے میرا کوڈ کے لئے جگہ، لیکن یہ بھی ایک ٹرمنل ونڈو میں تعمیر، میں کہاں چلا سکتے ہیں سیاہ اور سفید ونڈو حکم دیتا ہے. میں صرف کھولنے کے لئے ہوا اس کا ایک بڑا ورژن. اور اب میں میں جانے کے لئے جا رہا ہوں میں نے پہلے ہی کیا ہے کہ فولڈر کورس کی ویب سائٹ پر پیشگی میں ڈال دیا. اور میں آگے جانے کے لئے جا رہا ہوں اور ، thadgavin.c نامی ایک فائل کو کھولنے کے جس کسی کی طرف سے لکھا گیا ہے. اور ہم نے اس میں نظر آتے ہیں، اس ضابطے کی قسم نہیں ہے ہم سے تحریری گے اس کوڈ کا مقصد سب سے خوبصورت لکھنا تھا کہ وہ یا وہ کر سکتے ہیں کوڈ کی تلاش، سے قطع نظر یا نہیں کسی دوسرے انسان کبھی سکتا اس کوڈ کو سمجھنے. بے شک، ہر سال کیا ہے ایک obfuscated C مقابلہ، جس لکھنا جو اصلی گیکس کے لئے ہے کوئی نہیں پڑھ سکتے ہیں اس کوڈ کو، لیکن اس سے تو کچھ کرتا ہے واقعی سادہ یا واقعی حیرت انگیز. اور ہم نے سوچا اس نظر کے ساتھ یہ نتیجہ اخذ بہت حیرت انگیز ہے کہ کچھ میں آپ کو ایک بار پہلے دیکھا ہے ہو سکتا ہے. لیکن ہم اس کو ختم کر دیں گے نوٹ، ڈاٹ سلیش، thadgavin. یہ تو انتظار کر رہا ہے. یہ CS50 کے لئے ہے. ہم آپ کو بدھ کو دیکھیں گے. [موسیقی بجانے]