ডেভিড জে MALAN: সুতরাং এই CS50. এবং এই CS50 এর নিজস্ব Colton, Ogden, ছিল আরো জন্য যারা সঙ্গীত আপনি করতে পারেন soundcloud.com/cs50 এ ডাউনলোড করুন. আজ তাই আমরা সব মনোনিবেশ প্রোগ্রামিং এর শিল্প. আমরা যেখানে আপনি বাম এবং আমরা নিতে গত সপ্তাহে বন্ধ, মনোযোগ নিবদ্ধ ভূত, এই যা ছিল গ্রাফিক্যাল প্রোগ্রামিং ভাষা. এবং, একটি নিম্ন স্তরের নিচে জিনিষ নিতে আরো একটি ঐতিহ্যগত প্রোগ্রামিং ব্যবহার করে ভাষা সি হিসাবে পরিচিত কিন্তু পথ ধরে, বুঝতে একই ধারণা যে আমরা গত শুক্রবার সম্পর্কে বললাম না শুধুমাত্র এই আবৃত্তি করা হবে ভাষা সি, কিন্তু অধিকাংশ প্রত্যেক অন্যান্য আমরা এই সেমিস্টারে তাকান যে. সুতরাং আমরা এই জিনিস বলা এখানে কি শেষ সময়? এটি একটি বিবৃতি প্রতিনিধি. সুতরাং আমরা এই একটি বিবৃতি বলা হয়. এবং এটা কিছু না. এটি একটি নির্দেশ যে একটি কম্পিউটার বা ভূত চালানো হতে পারে. এবং অত: পর, এছাড়াও শুরু করা যাক এই একটি ফাংশন ভালো কিছু আহ্বান কারণ আমরা শীঘ্রই দেখতে হইবে. এদিকে, আমরা ভালো জিনিস দেখেছি. এবং এই সাধারণত হয় গঠন করা কি হিসাবে পরিচিত? শ্রোতা: লুপ. ডেভিড জে MALAN: একটি লুপ. তাই বেশ সহজবোধ্য. এটা আক্ষরিক আছে কি বলছেন. এবং ভূত, যদি আপনি চান সেখানে আরো পাজল টুকরা ঠুসা, টুকরা এটি মাপসই চাইবে. এবং আমরা সি মধ্যে দেখতে পাবেন যে আমরা একই জিনিস করতে পারেন. লুপ আরেক ধরনের, যদিও, ভূত চিরতরে হতে পারে, বা কোন সংখ্যা আছে অন্যান্য পন্থা. কিন্তু এর আরো একটি নিতে একটি মুখ সঙ্গে সাধারণ চেহারা, যে, সম্ভবত বেশ পরিচিত আরো সাধারণত loops. মার্ক জুকারবার্গ: এক বিষয় কম্পিউটার যে হয় সত্যিই ভাল হয় কমান্ড পুনরায়. একজন ব্যক্তি হিসাবে, আপনি পেতে চাই সত্যিই উদাস আপনি যদি একই জিনিস ছিল না একটি সারিতে বার প্রচুর. কিন্তু একটি কম্পিউটার একই জিনিস করতে পারেন লক্ষ লক্ষ বা বার এমনকি কোটি কোটি, এবং উদাস পেতে, এবং সক্ষম হবে না সত্যিই ভাল যে চালায়. উদাহরণস্বরূপ, যদি তাই আমি সবাই ইচ্ছুক চেয়েছিলেন ফেসবুক একটি সুখী জন্মদিন তাদের একটি ইমেইল পাঠিয়ে, এটা আরো বেশী আমাকে নিতে পারে শতাব্দীর আসলে লিখতে সবাই যারা ইমেল সব. কোড দিয়ে মাত্র কয়েক লাইন কিন্তু, আমি যা করতে পারেন একটি সিস্টেম প্রত্যেকের একটি ইমেইল পাঠান ফেসবুক তবেই উপর তাদের একটি শুভ জন্মদিন. যাতে loops, কি এবং কেন তারা মূল্যবান এবং কিছু কম্পিউটারের যে খুব ভাল করতে পারেন. ডেভিড জে MALAN: তাই আপনি যদি আপনি প্রাপক হয়েছে CS50 এর কিছু এবং দেরী ড্রপবক্স এর স্থান, যে অবিকল আসলে কি আমরা যে বেশ ভালো কোড ব্যবহার করে, না. আমরা মূলত একটি বড় আছে স্প্রেডশীট যা লোকেরা inputting করা হয়েছে তাদের নাম ও ইমেইল ঠিকানা. এবং আমরা একটি কোড অতি ক্ষুদ্র লিখেছেন যারা অ্যাড্রেস উপর পুনরুক্তি করতে পারেন এবং অনন্য ঠিকানা থুতু কেস যে কেউ একাধিক বার জমা দেওয়া হয়েছে. এবং তারপর, আমরা একটি পাঠান CS50 এর বট থেকে ইমেল স্বয়ংক্রিয়, কুপন কোড সহ. এখন আমরা দিকে তাকিয়ে এই শেষ সময় গঠন করা. এবং এই একটি নির্দিষ্ট হয় কি উদাহরণ? সুতরাং, হাঁ, একটি বুলিয়ান অভিব্যক্তি. এবং আকৃতি বোঝানো হয় যে হিসাবে ভাল ক্যাপচার. সমস্ত যেমন প্রশ্ন সত্য বা ভূত মিথ্যা গঠন এই মত সামান্য কিছু হবে. এবং আমরা এই একটি বুলিয়ান অভিব্যক্তি কল. যে প্রকৃতপক্ষে সত্য বা মিথ্যা, হ্যাঁ অথবা না. এটি একটি প্রশ্নের উত্তর একটি উপায়. এবং ইতিমধ্যে আপনি এই বুলিয়ান ব্যবহার করতে পারেন নির্মানের ভিতরে এক্সপ্রেশন যা এই মত অবশ্যই শর্ত বা শাখা, প্রবাদতুল্য রোড কাটাচামচ. এবং তারা না শুধুমাত্র করতে পারেন ভালো, কিন্তু তারা করতে পারেন তাদের সঙ্গে elses যুক্ত হয়েছে. এবং আপনি আসলে একটি তিনটি উপায় থাকতে পারে রাস্তা কাঁটাচামচ বা চার উপায় কাঁটাচামচ রাস্তা, কেবল দ্বারা এই জিনিস পাখির বাসা, আপনি ভূত দেখতে পাবেন আপনি ইতিমধ্যে আছে. এবং আপনি হিসাবে ভাল সি কি করতে পারেন. এর অন্য সাধারণ নিতে , হিসাবে ভাল, একটি alumnist তাকান যারা একটি ভিন্ন পদ্ধতির উপস্থিত হতে পারে শর্ত বলা এই জিনিষ. বিল গেটস: মানুষ না সিদ্ধান্ত প্রতিদিন. উদাহরণস্বরূপ, যদি আপনি আপনি বাইরে যান আগে ধরনের, যে যদি একটি বিবৃতি আছে তারপর বৃষ্টি হচ্ছে যদি আমি আমার জ্যাকেট পেতে হবে. এবং কম্পিউটার আপনি একবার আশ্চর্যজনক , বিবৃতি ঐ ধরণের সিদ্ধান্ত তারা নির্ভরযোগ্যভাবে নির্বাহ করতে পারেন অবিশ্বাস্য গতিতে সেগুলো. তাই একটি কম্পিউটার প্রোগ্রাম সত্যিই গণিত এবং কিছু একটি সামান্য বিট বিবৃতি যেখানে যদি সিদ্ধান্ত হয়. ডেভিড জে MALAN: তাই আপনি জানতে পারেন, এটি ছিল বিল গেটস মত লোকেরা, পল অ্যালেন, এবং অন্যদের সত্যিই লাথি বন্ধ যে ব্যক্তিগত কম্পিউটার তথাকথিত বিপ্লব কিছু বছর আগে. আমরা আকর্ষণীয় আগে আমি চিন্তা কিছু administrivia মধ্যে, আমরা, Albuquerque, থেকে একটি গল্প কহা চাই প্রাকৃতিক ইতিহাস নিউ মেক্সিকো যাদুঘর এবং বিজ্ঞান যেখানে বিল গেটস এর কিছু ' এবং পল অ্যালেন এর নিকটতম গল্প আমরা এখন কিভাবে recounted হয় আজকের পিসি এবং Macs এবং আরো. এই জন্য, যদিও, আমরা দুই স্বেচ্ছাসেবকদের প্রয়োজন যারা খুব ভাল আখ্যান আওয়াজ একটি স্ক্রিপ্ট জোরে জোরে পড়তে. সমস্ত অধিকার, কিভাবে ফিরে সেখানে প্রায়. উপর আসা. এবং কিভাবে সামনে এখানে. নিচে চলো. এখানে আপনার জায়গা নিন. আপনি যদি না আসা পর্যন্ত, একটি দম্পতি প্রশাসনিক ঘোষণা. sectioning, প্রক্রিয়া একটি অধ্যায় নির্বাচন করে, এই শুরু হবে শুক্রবার মাধ্যমে বুধবার. আরো যে এই আসছে বক্তৃতা বুধবার. সুপার বিভাগে এদিকে, হয় আমরা আগামী সপ্তাহে প্রস্তাব কিছু যেখানে সমগ্র বর্গ আমন্ত্রণ জানানো হয় মোটামুটি বড় স্কেল অংশগ্রহণের বিভাগে, আরো আরামদায়ক এক, এক কম আরামদায়ক. এবং আমরা বিবরণ ঘোষণা করতে হবে যে হিসাবে ভাল, পরে এই সপ্তাহে. এদিকে বিভাগে, নিজেদের, শুরু হবে সপ্তাহে অবশ্যই তিনটি, শূন্য সূচক, যারা যা কয়েক সপ্তাহ মানে আউট. তাই চিন্তা করবেন না. আপনি এখনও মিস না যারা লাইন বরাবর কিছু. এদিকে ইতিমধ্যে, আপনি যদি প্রশাসনিক কোনো প্রশ্ন থাকে, নিজেকে এবং ডিভন এবং গেব ইমেইল ও রব এখানে এই ঠিকানায়. অবশেষে, সমস্যা সেট 0 আউট, অবশ্যই, হয়. আপনি এটা লক্ষ্য করে হতে পারে অবশ্যই এর ওয়েবসাইটে. এটি দিয়ে আপনি প্রদান করা উচিত সব প্রশ্নের উত্তর আপনি পথ বরাবর থাকতে পারে সমস্যা সেট দিয়ে শুরু. কিন্তু আপনি নিজেকে খুঁজে একটি সাহায্য হাত প্রয়োজন, সব উপায়ে অফিসে ঘন্টা পরিচর্যা, সোমবার, মঙ্গলবার, বুধবার, বৃহস্পতিবার সন্ধ্যায় এই সপ্তাহে চার ডাইনিং হল. বিবরণ জন্য যে URL দেখুন অফিসে ঘন্টা হবে যেখানে. এখন দেখা যাক আমাদের দুই গেস্ট আজ এখানে. আপনার নাম কি? JAY পল: জে পল. ডেভিড জে MALAN: জে পল, আপনি দেখা করতে চমৎকার. Hikari: Hikari. ডেভিড জে MALAN: Hikari? Hikari: Hikari. ডেভিড জে MALAN: Hikari. পাশাপাশি দেখা হলাম. জে পল এবং Hikari আছে এই গান তাদের সামনে আমি মুদ্রিত দুটি স্ক্রিপ্ট দাঁড়িয়েছে নিউ মেক্সিকো থেকে এই সকালে আউট প্রাকৃতিক ইতিহাস এবং বিজ্ঞান যাদুঘর. এবং আমি চিন্তা আমি মাথার উপরে করতে চাই আপনার আবৃত্তি সংসর্গে হয় স্ক্রিপ্ট এবং এই ইতিহাস কিছু চাক্ষুষ ইমেজ, কোন চমকের সঙ্গে. এবং আমি আগাম সম্পন্ন করেছি আপনার স্ক্রিপ্ট prehighlight হয় আপনি পড়া উচিত কি, এবং আপনি পড়তে উচিত. এবং আমরা মূলত করব শুধু বিকল্প অনুচ্ছেদ. আপনি বল মত তাই এটি অনেক ইংরেজি বর্গ মধ্যে সম্পন্ন করা হয়েছে. যে সত্যিই শ্রোতা বাধ্য হচ্ছে এখানে আপনার গল্প বিশ্বাস. আমরা করবো? তাই এখানে গল্প আমরা একটি আছে, হয় বেসিক, এবং এটি কেমব্রিজ মধ্যে শুরু হয়. JAY পল: এটি শীতকালীন, 1974 ছিল, কেমব্রিজ, ম্যাসাচুসেটস যেখানে শীতকালে ঠান্ডা হতে পারে. একটি শ্মশ্রুধারী, দীর্ঘ কেশিক কলেজ ড্রপআউট নামে পল অ্যালেন হার্ভার্ড জুড়ে drudging ছিল তার চিন্তা শোষিত স্কয়ার,. ঐ দিন তাঁর প্রধান তন্ময়তা , কিভাবে তার বন্ধু, বিল গেটস পেতে ছিল স্কুল ছেড়ে যেতে তার সাথে ব্যবসা করে. Hikari: দুই ইতিমধ্যে চলে গেছে ব্যবসায়িক উদ্যোগ একটি নম্বর দিয়ে একসঙ্গে, হ্যাঁ সময়ে শুরু সিয়াটেল যেখানে স্কুল তারা বিনামূল্যে কম্পিউটার সময়ের মধ্যে দেওয়া হয়েছে একটি স্থানীয় সময় একটি পিডিপি-10 কম্পিউটার পরীক্ষা কোম্পানী ভাগ. সবচেয়ে সাম্প্রতিক পরিকল্পনা প্রস্থান করার জন্য হয়েছে স্কুল এবং একটি সফটওয়্যার কোম্পানি গঠন করে. অ্যালেন ওয়াশিংটন ছেড়ে চলে গেছে স্টেট ইউনিভার্সিটি. কিন্তু শেষ মিনিটে, গেটস এ হার্ভার্ড দিয়ে বিদ্ধ করার সিদ্ধান্ত নিয়েছে. JAY পল: যে দিন, হার্ভার্ড উত্তরণ স্কয়ার, অ্যালেন, জানুয়ারী সমঝোতার প্রচেষ্টা জনপ্রিয় ইলেকট্রনিক্স 1975 সমস্যা পৃথিবী বাঁধন শিরোনামটি সঙ্গে, ফোটোস এর প্রথম মিনিকম্পিউটার কিট বাণিজ্যিক মডেল প্রতিদ্বন্দ্বী. শিরোনামটি ছিল নীচে একটি ছোট বক্স একটি ছবি লাইট এবং সুইচ সঙ্গে সুশোভিত. এটা 8800 MITS Altair বলা হয়. এবং অ্যালেন এই ছিল জানত কি তিনি খুঁজছেন হয়েছে. Hikari: আলোচনার দিন অনুসরণ করে. অ্যালেন এবং গেটস বোঝা Altair তাত্পর্য. তারা প্রায়ই বলত ছিল মাইক্রোপ্রসেসর সম্পর্কে এবং তা দেখতে অপেক্ষা করছে তাদের সঙ্গে কাজ করা হবে. এখন একটি মিনিকম্পিউটার সজ্জা উপর ছিল জনপ্রিয় ইলেকট্রনিক্স কভার. এটা দৃশ্যত এখনো কোনো সফ্টওয়্যার ছিল. তারা একটি জাতি কাল্পনিক প্রোগ্রামারদের MITS উপর সাজানো. এবং তাই তারা, এড রবার্টস বলা কোম্পানির প্রধান, একটি সংস্করণ আছে দাবি বেসিক প্রোগ্রামিং ভাষা প্রায় প্রস্তুত Altair জন্য. তারা না. এবং রবার্টস তারা না পরিচিত নয়. তিনি 10 কল থেকে একটি দিন পেয়ে ছিল একটি বেসিক প্রায় প্রস্তুত ছিল যারা. এবং তার স্টক প্রতিক্রিয়া ", প্রথম ব্যক্তি ছিল যারা একটি কাজ দিয়ে দেখায় বেসিক চুক্তি পায়. " JAY পল: গেটস ও অ্যালেন একটি Altair দেখা ছিল না. এমনকি তারা দেখা ছিল না ইন্টেল 8080 মাইক্রোপ্রসেসর Altair অন্তরে. কিন্তু বছর দুয়েক আগে অ্যালেন একটি প্রোগ্রাম লেখা ছিল অনুকরণের যে একটি মেইনফ্রেম কম্পিউটার পূর্ববর্তী ইন্টেল অপারেশন মাইক্রোপ্রসেসর. এবং তারা এই সময় একই জিনিস করতে হবে. Hikari: একটি ইন্টেল সঙ্গে তার দিকে 8080 ম্যানুয়াল, অ্যালেন একটি বসলেন হার্ভার্ড পিডিপি-10 কম্পিউটার এবং এমুলেটর এবং সফ্টওয়্যার লিখেছেন প্রয়োজনীয় সরঞ্জাম প্রোগ্রামিং করতে. এদিকে গেটস থামানো যাচ্ছে ক্লাস এবং নিজেকে নিরত বেসিক নকশা, প্রতি কৌতুক ব্যবহার করে তিনি আকার পেতে জানতাম নিচে 4 কিলোবাইট নিচে. JAY পল: Albuquerque মধ্যে আউট, এড রবার্টস গেটস থেকে একটি কল পেয়েছেন কিভাবে সম্পর্কে বিস্তারিত জানার জন্য জিজ্ঞাসা Altair নির্দিষ্ট রুটিন ঘাঁটা. কেউ কখনও আগে যে জিজ্ঞাসা ছিল. এবং রবার্টস আগ্রহী পেতে শুরু করেন. Hikari: উন্নয়নের সঙ্গে সরঞ্জাম এবং নকশা প্রস্তুত, গেটস ও অ্যালেন লিখেছেন পিডিপি-10 কোড, অন্য হার্ভার্ড ছাত্র enlisting, মন্টে Davidoff, গণিত রুটিন লিখুন. একটি চূড়ান্ত রাতের পর প্রোগ্রামিং, অ্যালেন একটি সমতল উপর পেয়েছিলাম MITS তাদের বেসিক প্রদান করা. তিনি সমতল উদ্বেজক অশ্বারোহণে আউট কাটিয়েছি. এবং ফিরে কেমব্রিজের গেটস উদ্বেজক ছিল. তারা পরীক্ষা ছিল তাদের মৌলিক এবং এটা এমুলেটর উপর কাজ করেছেন. কিন্তু এমুলেটর কি ভুল ছিল? JAY পল: সমতল হিসাবে , Albuquerque, তটস্থ অ্যালেন বুঝতে পারেন যে তাদের বেসিক, এখন সুন্দরভাবে রয়েছে একটি ছোট রোল , কাগজ টেপ হবে পাঞ্চ একটি পৃথক ছাড়া অকাজের প্রোগ্রাম, যে, একটি লোডার বলা কিভাবে Altair বলতে হবে কাগজ টেপ হচ্ছে পড়া টেলিটাইপ মেশিন খাওয়ানো. তিনি তার নোটবুক বের করে এবং দ্রুত একটি লোডার প্রোগ্রাম নিচে লেখা বিধানসভা ভাষা, তারপর নিজে 1s এবং 0 সেঃ মধ্যে যে অনুবাদ Altair বুঝতে হবে. Hikari: অ্যালেন আশা ছিল একটি পরিষ্কার, সামান্য, উচ্চ কারিগরি কোম্পানি ব্যবসা মামলা পুরুষদের দ্বারা চালানো. রবার্টস পূরণ যখন তিনি বিস্মিত ছিল তাকে বিমানবন্দরে একটি র্যাঁশে মত এখানে ক্লিক করুন হাত. রবার্টস আরো বিস্মিত ছিল. তিনি হার্ভার্ড ছেড়ে যখন একটি ব্যয়বহুল হোটেলে প্রোগ্রামার, অ্যালেন কবুল ছিল তিনি রুম সামর্থ্য না পারে. JAY পল: নিজেই গেটস ও অ্যালেন MITS ছিল একটি ধূলিমলিন ফালা মলের অবস্থিত. একটি cluttered উপর ভিতরে workbench একটি Altair ছিল 5 কিলোবাইট সঙ্গে আপ লোড মেমরি এবং একটি তারের দ্বারা সংযুক্ত একটি টেলিটাইপ মেশিন. রবার্টস এবং প্রধান প্রকৌশলী, বিল ইয়েটস, হাসে অপেক্ষা অ্যালেন তার লোডার toggled হিসাবে Altair মধ্যে প্রোগ্রাম. টেলিটাইপ এটি টানা হিসাবে chugging শুরু টেপ রিডার মাধ্যমে কাগজ টেপ. এটা সম্ভবত 15 মিনিট সময় নেয় প্রোগ্রাম লোড করার. তারপর টেলিটাইপ হঠাৎ মুদ্রিত একটি মেমরি প্রম্পট, তারপর একটি প্রস্তুত প্রম্পট, এবং অ্যালেন টাইপ শুরু একটি পরীক্ষা কয়েক কমান্ড. সবাই এর আশ্চর্য করার জন্য, সফ্টওয়্যার কাজ করেন. বাগ অবশ্যই, ছিল. কিন্তু মূল বিষয় এটা কাজ ছিল. Hikari: পরে তাদের পথে একটি Pancho এর এ $ 3.00 লাঞ্চ, একটি বোলতা আসেন পিক উইন্ডোতে ট্রাক ও হাত অ্যালেন দংশিত. কিন্তু যে বিন্দু কিছুই মেজাজ লুণ্ঠন পারে. Altair এখন তার মূল ছিল, একটি বাড়ির জন্য প্রথম বাণিজ্যিক সফ্টওয়্যার পল অ্যালেন ও বিল দ্বারা তৈরি কম্পিউটার, গেটস, মাইক্রোসফট হিসাবে ব্যবসা করছেন. ডেভিড জে MALAN: অনেক আমাদের দুই পাঠকদের ধন্যবাদ. [সাধুবাদ] ডেভিড জে MALAN: এখন আপনি আপনার পছন্দ আছে, আপনি একটি sparkly এর, ছেড়ে আগে বা উহু dark-- একটি ভাস, এক সেকেন্ড অপেক্ষা করুন sparkly, wait-- এবং অন্ধকার হাতির একটি ভাস CS50 এর নিজস্ব চেং গং থেকে. Hikari: হুম, আপনাকে ধন্যবাদ. ডেভিড জে MALAN: সমস্ত ঠিক আছে, তাই আপনাকে অনেক ধন্যবাদ. [সাধুবাদ] ডেভিড জে MALAN: তাই সত্য গল্প. এই এই যে সব বলতে হয় মেশিন এবং আরাম সঙ্গে যা আমরা এখন তাদের ব্যবহার এবং নিতে মঞ্জুর জন্য, সত্যিই এখানে মাত্র কয়েক কদম শুরু এই প্রকৃত থিয়েটার থেকে. এবং এখন আজ, আপনি হয়েছে না করেছি, এই ম্যাক্সওয়েল Dworkin, কম্পিউটার বিজ্ঞান ভবন, এছাড়াও কোণার কাছাকাছি. এবং এই দ্বিতীয় তলায় ভবন তিন পৃষ্ঠা স্তব্ধ মূল সোর্স কোড থেকে যে বিল গেটস এবং পল অ্যালেন লিখেছেন. আসলে, ব্যবহার যদি আপনি জুম আপনি না দেখতে পারেন তাদের নাম মূল টাইপ, কিন্তু তারা একটি সুশোভিত যে তাদের স্বাক্ষর কয়েক বছর আগে তারা গত পরিদর্শন করেন যখন. কিন্তু বিশেষ বাধ্যকারী কি ছিল এই সম্পর্কে তারা কি সেট আউট কি যে হবে একটি প্রোগ্রাম লিখতে ছিল লিখতে অন্য মানুষ সক্রিয় তাদের নিজস্ব প্রোগ্রাম. এ সময় সব সঙ্গে ছিল MITS দ্বারা তৈরি করা এই Altair মেশিন. এবং তারা প্রয়োজনীয় সব কিছু উপায় hobbyists এবং মানুষের জন্য সহজ এটি তৈরি আসলে প্রোগ্রাম এই রুমে আমাদের পছন্দ যে অগত্যা বুঝতে ছাড়া সমাবেশ কোড, বা মেশিন কোড, অথবা ঈশ্বর, 0 সেঃ এবং 1s নিষেধ. আমরা প্রোগ্রামার, মত এই রুমে যারা, আমরা প্রকাশ করতে সক্ষম হতে চান নিজেদের ছদ্ম কোড মত আরো অনেক কিছু এটি একটি বিট আরো নিকী এমনকি যদি আমরা গত সপ্তাহে বললাম তুলনায় picky. আমরা এই মত কোড লিখতে চাই না, যা পল অ্যালেন এবং বিল গেটস করেনি. আমরা পরিবর্তে, কোড লিখতে চান যে একটু বেশি ব্যবহারকারী বন্ধুত্বপূর্ণ দেখায়. এখন এই বেসিক নামে পরিচিত একটি ভাষা. এবং লাইন নম্বর আছে কি আপনি কেবল লাইনের কোড নম্বর ব্যবহার যে আপনি লেখার. আমরা এমনকি আছে না এই দিন যে. কিন্তু আপনি এখানে দেখতে পারেন কিভাবে প্রিন্ট "হ্যালো, দুনিয়া" প্রকৃতপক্ষে সম্ভবতঃ ঠিক যে প্রিন্ট হবে. তাই কি বিল এবং পল করেনি ছিল এই মত কোড লিখতে ক্ষমতাবান এর পরিবর্তে আপনি কটাক্ষপাত করা হলে র কম্পিউটার বিজ্ঞান এই কোড wall--. আসলে CS50, সম্প্রতি একটি সুযোগ ছিল অধ্যাপক হ্যারি লুইস সঙ্গে বসতে কম্পিউটার বিজ্ঞান বিভাগ, যারা আসলে বিল শেখানো কিছু বছর আগে গেটস, এবং আগে এখানে স্থায়ী হয় উদ্ধৃতাংশ যারা তিন পেজ. এর কটাক্ষপাত করা যাক. হ্যারি LEWIS: আপনি কি এখানে আছে একটি হল সফ্টওয়্যার একটি প্রাথমিক টুকরা তালিকা বিল গেটস এবং পল দ্বারা লিখিত অ্যালেন, মাইক্রোসফট এর প্রতিষ্ঠাতা. তাই কোড আকর্ষণীয় দুটি কারণে. প্রথম সব, এটি হয়ে ওঠে মাইক্রোসফট এর প্রথম পণ্য, জন্য একজন দোভাষী ছিল বেসিক প্রোগ্রামিং ভাষা. এবং দ্বিতীয়ত, এই ছিল প্রথম প্রচেষ্টা এক তাই সাধারণ একজন দোভাষী তৈরি করতে মানুষ ব্যক্তিগত কম্পিউটার ব্যবহার করতে পারে. তাই বিল গেটস ছিল একটি হার্ভার্ড এ স্নাতক. আমি 1974 সালে হার্ভার্ড এ শিক্ষার শুরু. এই 1975 সালে করা হয়. সুতরাং এটা তার কর্মজীবনের প্রথম দিকে ছিল এবং প্রথম দিকে আমার কর্মজীবনের. আমি আসলে বিল শেখানো এই সময় একটি কোর্স. পল অ্যালেন ছিল না হার্ভার্ড ছাত্র, কিন্তু তিনি একটি উচ্চ বিদ্যালয় হয়েছে বিল গেটস এর সহপাঠী. আপনি এবং আসা তাকান তালিকা, আপনি হবে আসলে একটি তৃতীয় খুঁজে নাম, মন্টে Davidoff, যারা গেটস এর সহপাঠী ছিল এখানে হার্ভার্ড এ. ঠিক আছে, তাই এখানে একটি এর এখানে আকর্ষণীয় মন্তব্য আপ. এটা 4K ইন বর্গমূল মুছে দিতে পারেন বলে " কিন্তু loops, এখনও কাজ করা উচিত জন্য. " ঠিক আছে, তাই কি যে মানে যে আছে এই প্রোগ্রাম কম্পাইল করার দুটি উপায় ছিল না. এক একটি সংস্করণ চালানো ছিল এই Altair কম্পিউটার যে শুধুমাত্র 4K শব্দ ছিল মেমরি, মেমরি 4,096 শব্দ. কিন্তু বড় সংস্করণ 8K ছিল. তাই কি এই বলে যে 4K সংস্করণ আপনি কিছু মুছে দিন ছিল কোড উপযুক্ত করা. এবং জিনিস এক যে মুছে ফেলা হবে বর্গমূল রুটিন হবে. কিন্তু দৃশ্যত loops, এখনও উচিত আপনি নিচে কম্পাইল করছি এমনকি যখন কাজ কম্পিউটার শুধু 4K সংস্করণ. ডেভিড জে MALAN: থিম তাই এক, আমরা কম্পিউটার বিজ্ঞান মধ্যে দেখতে পাবেন, এই ধারণা layering একটি এবং বিমূর্ততা, এবং সত্যিই কাঁধের উপর দাঁড়িয়ে আমাদের আগে এসে যারা ভাবেন, না বিল গেটস এর কিছু অসদৃশ এখানে এবং পল অ্যালেন আখ্যান. এবং কি এর মানে হল আমরা গ্রহণ করতে পারেন যে আজ কিছু আসলে দেওয়া যে আমাদের কোড লিখতে সহজ করার জন্য. আমরা শুক্রবার বলেন, প্রকৃতপক্ষে কোড,, হয় আরো টেকনিক্যালি সোর্স কোড হিসাবে পরিচিত. এবং এটি সিনট্যাক্স মত এই ইংরেজি যে আরো সঠিক এবং আরো সুনির্দিষ্ট এর ছদ্ম কোড মত কিছু বেশী, জন্য যা কোন আনুষ্ঠানিক সংজ্ঞা আছে. এবং আজ আমরা কি করছি যাচ্ছে ফোকাস সোর্স কোড হয় যে, এই মতো দেখায় নিঃসন্দেহে প্রথম নজরে সম্পূর্ণ রহস্যপূর্ণ. এবং সত্যি, এটা উপায় আরো aesthetically এর জটিল অন্তর্নিহিত প্রোগ্রাম তুলনায়. এই সমস্ত প্রোগ্রাম, আছে রিকল, আমরা কি বলতে হয়? এটা শুধু "হ্যালো দুনিয়া." ছাপে এবং এখনো আমরা প্রয়োজন জিনিস সব তাকান যে খুব সহজ ফ্রেইজ চারপাশে মোড়ানো. কিন্তু সব দীর্ঘ আগে এই লাইন এবং আরো আপনি অনেক ভালো অর্থে করা হবে. অনুসরণ হিসাবে প্রবাহ হয়. আমরা কি আমাদের নিষ্পত্তি প্রয়োজন উৎস মত, কোড নিতে হয় আমরা দেখেছি যে কোড. এবং আমরা একটি নতুন প্রোগ্রাম প্রয়োজন এটি দিয়ে চালানো. আমরা যে আলগোরিদিম প্রয়োজন এই মত, সোর্স কোড রূপান্তর, অবজেক্ট কোড, 0 সেঃ এবং 1s মধ্যে. অন্য কথায়, কি আমরা আজ জানতে চলুন এই কাজ করতে, কিভাবে লিখতে হয় সোর্স কোড টপ আপ, একটি বিশেষ ইনপুট হিসাবে এটি পাস একটি কম্পাইলার হিসাবে পরিচিত প্রোগ্রাম, এবং আমরা অবজেক্ট কোড উত্পাদন করতে যাচ্ছেন. যা শুধু একটি অভিনব উপায় আমরা কিছু নিতে হবে বলার অপেক্ষা রাখে না যে ভালো দেখায়, এটি পাস একটি কম্পাইলার নামক একটি প্রোগ্রাম, অবজেক্ট কোড উৎপাদন যে ভালো দেখায়. সুতরাং এই আক্ষরিক অর্থ হল 0 সেঃ এবং 1s নিদর্শন একটি দ্বারা বোঝা যায় যে ইন্টেল কম্পিউটার এই দিন, CPU দ্বারা ব্যাখ্যা করা যে, একটি কম্পিউটার এর ভিতর ঘিলু, আক্ষরিক প্রিন্ট আউট হবে, বেশ সহজভাবে, "ওহে দুনিয়া." এখন আপনি ছাড়া উপায় আরো 0 সেঃ এবং 1s আছে যে জন্য প্রয়োজন হতে পারে আশা. আমরা নির্মাণ করছেন কারণ কিন্তু যে জটিলতা একটি ভাল চুক্তি মঞ্জুর জন্য আমরা অত: পর নিতে পারেন. অন্য কথায়, স্মার্ট মানুষ অনেক আমাদের শীতল সরঞ্জাম অনেক দেওয়া হয়েছে এবং শক্তিশালী সফটওয়্যার যা দিয়ে আমরা এখন আমাদের নিজস্ব প্রকল্প করতে পারেন. তাই এর শুরু করা যাক. গত শুক্রবার, এবং যেহেতু সমস্যা সেট 0 এই সপ্তাহের জন্য, আপনি একটি মধ্যে বাজানো হবে ভালো দেখায় যে দুনিয়া. আজ থেকে শুরু এবং সমস্যা জন্য আগামী সপ্তাহে কোড 1 সেট আরো একটু তাকান যাচ্ছে রহস্যপূর্ণ, কিন্তু এই বৈশিষ্ট্যগুলি হল যাচ্ছে একই হতে হবে. সুতরাং বিজ্ঞপ্তি, শীর্ষ ভূত হয়, নীচে সি সত্যি ভূত হয় আরো অনেক ব্যবহারকারী বন্ধুসুলভ এবং প্রবেশযোগ্য. কিন্তু আপনি এখন থেকে দৃশ্যত শীর্ষ তুলনা যদি নীচে, একটি এক এক ধরনের আছে মধ্যে সাদৃশ্য পাজল টুকরা এবং ভাষা আমরা সঙ্গে খেলা করতে চলেছেন. বিশেষ করে, বলে, নীল ধাঁধা টুকরা উপরে, কি শব্দ দৃশ্যত সমতুল্য এই ভাষা বা বিশেষ ফ্রেজ বলা হয় সি? শ্রোতা: printf. ডেভিড জে MALAN: printf. যে ফরম্যাট মুদ্রণ মানে. এবং যে শুধু একটি অভিনব সি printf, বলছে উপায় একটি বিবৃতি বা একটি ফাংশন হতে যাচ্ছে পর্দা যে কিছু ছাপে. এটা পর্দায় প্রিন্ট কী কী মুদ্রণ করে? যাই হোক না কেন আপনি ভিতরে বলতে বন্ধনীর ভিতরে কোট, এর. তাই আবার, নিঃসন্দেহে, স্টাফ অনেক আছে আপনি মনে রাখা উচিত যে, প্রথম বন্ধনী, কোট, সেমিকোলন, এবং এই সব. কিন্তু যে সব ধরণের বিন্দু পাশে. এখন আকর্ষণীয় takeaway যে ভূত বলতে ব্লক অনেক সুন্দর সমতুল্য করা হয় সি printf, বিবৃতি এদিকে, হলুদ পাজল টুকরা উপরে, সবুজ পতাকা ক্লিক যখন, সম্ভবত সমতুল্য এখানে শব্দ কি? শ্রোতা: প্রধান. ডেভিড জে MALAN: তাই প্রধান. হয়তো হয়তো অকার্যকর, int. কিন্তু মত শোনায় প্রধান ধরনের এটা গুরুত্বপূর্ণ, এবং প্রকৃতপক্ষে এটা. তাই সবুজ পতাকা ক্লিক যখন আবার, হয়, পাজল টুকরা যে kicks বন্ধ একটি সমগ্র ভূত প্রোগ্রাম. কিন্তু আমরা এখন কলিং শুরু করতে যাচ্ছি প্রধান হিসাবে পরিচিত যে প্রধান, এই ফাংশন. এখন এদিকে আমরা করব এই হিসাবে অনুসরণ করে বিশ্বজনীন. আমরা কল একটি ফাংশন বলতে পারে. এবং এটি চেহারা হতে পারে বিশেষভাবে ভালো. ভাল, কি loops সম্পর্কে? আমরা রূপান্তর শুরু করতে চান বা সি ভূত আরো অনুবাদ, এখানে এই জিনিস দৃশ্যত মাত্র "ওহে দুনিয়া" সব সময় প্রবেশ বলেছেন. তাই আপনি যদি এই সংযুক্ত করে ভূত একটি বিড়াল সঙ্গে স্ক্রিপ্ট, এটা ঠিক বলছে রাখা যাচ্ছে কার্টুন বুদ্বুদ কিছু ধরনের, "হ্যালো, দুনিয়া, ওহে দুনিয়া হ্যালো দুনিয়া, "বিজ্ঞাপন nauseum, চিরতরে. আমরা অনুরূপ কিছু করতে চান সি, এটি একটি সামান্য রহস্যপূর্ণ চেহারা যাচ্ছে. কিন্তু আমরা একই অর্জন করতে পারেন হিসাবে আমরা শেষ পর্যন্ত হবে, ফলাফল এই মত বাক্য গঠন সঙ্গে, খুঁজে বের করতে. আমি আবার printf ব্যবহার করা যাচ্ছে না কারণ দিন শেষে আমি প্রিন্ট করতে চান "হ্যালো দুনিয়া." এবং দৃশ্যত: আমি একটি ব্যবহার করছি সব সময় প্রবেশ করুন না যে শব্দ. এটি পরিবর্তে যখন শব্দ. তবে শব্দার্থগতভাবে মধ্যে ইংরেজি, যখন ধরনের লুপ বা চক্রের কিছু প্রস্তাব দেওয়া হয়. সুতরাং যে হতে হবে সি ব্যবহার করে শব্দ. এবং সত্য যখন, কেন সময় আছে কার্যকরভাবে চিরকালের সত্য মানে? ওয়েল,, যখন আমরা শীঘ্রই হবে সব আরো প্রশংসা করি, পাশে এই বন্ধনীসমন্বিত আছে যেখানে আপনি একটি বুলিয়ান অভিব্যক্তি লাগাতে পারেন. এবং যে যাতে দীর্ঘ অভিব্যক্তি সত্য, এই কোড, এই দুই মধ্যে সূচিত হিসাবে কোঁকড়া ধনুর্বন্ধনী আমরা তাদের কল করব, আবার এবং আবার চলমান রাখা হবে. তাই সত্য সত্য. তাই সত্য মানে যখন শুধু চিরতরে এই কাজ. এটা প্রায় একটি মূঢ় নিজেকে প্রকাশ করার গড়া. কিন্তু সব সময় প্রবেশ করুন কোন ছিল সি শব্দ যখন ছিল. এবং একটি খুব সহজ ছিল সত্য বুলিয়ান অভিব্যক্তি. তাই এই, আমরা দেখতে পাবেন, একই ফলাফল অর্জন করা. কিভাবে আপনি অন্য একটি লুপ বাস্তবায়ন হতে পারে? ওয়েল, ভূত আপনি পারে একটি নির্দিষ্ট সংখ্যা হার্ড কোড এখানে লুপ পুনরাবৃত্তিও. তাই যে ঠিক কি আমরা সি এই সংস্করণে কি হতে পারে, আমরা একটি আছে, যেখানে লুপ জন্য তথাকথিত. এবং এখানে লুপ জন্য যাচ্ছে কিছুটা cryptically, বারবার, আপ মান 0 থেকে কিন্তু কম 10. ভূত এখন ভেরিয়েবল. আপনি হয়ে থাকতে পারে না অনুষ্ঠানে এই ব্যবহার. তবে সাধারণভাবে বিন্দু, কি কি, একটি পরিবর্তনশীল আমরা গত সপ্তাহে বলেছিলেন? কি যে? শ্রোতা: পয়েন্ট. ডেভিড জে MALAN: নির্দেশ করার জন্য? ওহ, পয়েন্ট. ঠিক আছে, পয়েন্ট ট্র্যাক পালন, উদাহরণস্বরূপ, একটি খেলা. অথবা আরো সাধারণভাবে করছেন পরিবর্তনশীল কি? তাদের উপযোগ কি? শ্রোতা: স্মৃতি. ডেভিড জে MALAN: হ্যাঁ, তাই মেমরি. এটা কিছু সংরক্ষণ জন্য. এবং মূর্খ চাক্ষুষ আমি সাজানোর ব্যবহার শেষ সময় এই কাচের বাটি মত ছিল. এবং আমরা সংরক্ষণ করতে চেয়েছিলেন একটি পরিবর্তনশীল এর ভিতরে কিছু, উদাহরণস্বরূপ অধিকার এখন মূল্য ছয় কারণ আছে এখানে ছয় পিং পং বল হয়. এটা স্টোরেজ কিছু ধরনের ধারক যে ফণা নীচে বিট, 0 সেঃ এবং 1s সঙ্গে প্রয়োগ করা হয়, তবে একটি কম্পিউটার যে কি ঘটবে. ভূত, তাই আপনি যদি আমরা একটি পরিবর্তনশীল করতে চান, আমরা ভালো একটি কমলা ব্লক ব্যবহার করতে পারেন. আমরা যে পাল্টা ডাকবো এই বিশেষ ক্ষেত্রে. আমি 0 থেকে এটি সক্রিয়. এবং তারপর আমি কি এটা? সব সময় প্রবেশ করুন, পাল্টা বলতে যা যদি আপনি, ভূত যে সঙ্গে খেলা আপনি শুধু ভূত দেখতে পাবেন. আপনি উপর করা বিড়াল বা যাই হোক না কেন পরিচ্ছদ তাকে প্রশ্ন নম্বর কথা বলতে হবে. 1 দ্বারা পরিবর্তন পাল্টা 1 বৃদ্ধিশীল মত. তাই এই যাচ্ছে কি, তাই কি থেকে গণনা? 0 থেকে অনন্ত তিল, বা ভূত বিরতি পর্যন্ত, অথবা আপনি পর্যন্ত ধরণের পর্যবেক্ষক আগ্রহ হারান তিনি আসলে নির্ভর করতে পারেন কিভাবে উচ্চ. তাই কিভাবে আমরা সি এই রূপান্তর হতে পারে? এটি একটি সামান্য রহস্যপূর্ণ চেহারা যাচ্ছে. কিন্তু আবার, যদি আপনি প্রতিটি তাকান এই লাইন স্বতন্ত্রভাবে সাধারণত লাইন আপ তারা ধরনের. তাই দৃশ্যত যাচ্ছে int সি কিছু বিশেষ অর্থ আছে আমরা যে আবার দেখতে পাবেন. একটি সরাইয়া হিসাবে এটি পূর্ণসংখ্যা মানে. তাই এটি শুধু সংখ্যা মানে. সুতরাং যে টাইপ আমি চাই কাচের বাটি, এক যে, সংখ্যা সংরক্ষণ করতে পারেন পং বল ping না. এবং আমি সমান চিহ্ন ব্যবহার করা যাচ্ছে না 0 একটি মান আছে দায়িত্ব অর্পণ করা. সুতরাং যে বেশ সেট মত পাল্টা 0, কিন্তু সি এদিকে, সত্য, যখন যে ছিল সমতুল্য, অবশ্যই, চিরকালের জন্য, এটি একটি সামান্য রহস্যপূর্ণ, যদিও এবং তারপর কোঁকড়া ধনুর্বন্ধনী ভিতরে. এবং যদি আপনি এই তরঙ্গায়িত ধনুর্বন্ধনী মনে করতে পারেন, যা আপনি আপনার কীবোর্ডের টাইপ করতে পারেন সত্যিই বক্রতা মত হচ্ছে ভূত এই হলুদ লুপ ব্লক. এটা কোড একাধিক লাইন embraces. Printf একটি হচ্ছে এখন ভয়ের সামান্য কারণ আমি না শুধুমাত্র বন্ধনীর মধ্যে কোট দেখুন. কিন্তু কি কি নতুন চিহ্নগুলি সিন্টেক্সের এই উদাহরণে? একটি শতাংশ ঘ আছে. এবং তারপর ব্যাকস্ল্যাশ এন হয়. আমরা এমনকি, আগে দেখতে হয়নি আমি এটা উল্লেখ না যদিও. তারপর একটি কমা আছে. এবং তারপর একটি পাল্টা আছে. কিন্তু আমরা শুধু একটি দেখতে পাবেন এই মাত্র যে মুহূর্ত মুদ্রণ একটি বলছে একটি আদর্শ উপায় "দশমিক সংখ্যা," উদ্ধৃতি, উদ্ধতি, কিছু দশমিক সংখ্যা. কিন্তু আমি পরে আপনি বলতে যাচ্ছি যে দশমিক সংখ্যা কি. একটি কমা আছে যে তাই এই লাইন বলছে printf মধ্যে, এগিয়ে যান এবং মুদ্রণ মানে কিছু দশমিক সংখ্যা. ওহ, এবং উপায় দ্বারা, সংখ্যা যাই হোক না কেন এই পরিবর্তনশীল এর মান. তাই এই আরো করতে , আমরা একটি উদাহরণ স্পষ্ট দেখতে পাবেন আগে দীর্ঘ ঠিক printf, জড়িত বাস্তব সি প্রোগ্রাম প্রেক্ষাপটে. এখন শুধু কিছু আপ মোড়ানো এই নির্মানের. বুলিয়ান এক্সপ্রেশন, আপনি হতে পারে না অনুষ্ঠানে আপনার প্রোগ্রাম এই ব্যবহার কিন্তু আপনি খুব ভাল হতে পারে বিশেষ করে শর্ত যদি ব্যবহার করে. থেকে তাই এই দুটি উদাহরণ এক্স Y কম হলে মানে আঁচড়ের দাগ, এক্স Y কম এবং যদি বা y কম z ভিন্ন, আমরা যে কিভাবে অনুবাদ হতে পারে? ওয়েল, সি এটা ঠিক এই মত চেহারা যাচ্ছে. একটু রহস্যপূর্ণ, আরো বন্ধনী, কিছু অদ্ভুত ampersands, কিন্তু মৌলিকভাবে ধারনা তারা হিসাবে সহজ হিসাবে পাজল টুকরা বিশ্বের হয়. আমরা কেবল কিছু যদি চেক করছি অন্য কিছু কম. কিভাবে অবস্থা সম্পর্কে? ইংরেজি সংক্ষেপে, এই কি আছে ভূত কোড খণ্ড আপনি বলতে হবে না? শ্রোতা: দুটি সংখ্যার তুলনা করে. ডেভিড জে MALAN: দুই তুলনা সংখ্যা, এবং x, y কম হলে এটা অনেক হিসাবে বলছেন. এক্স Y চেয়ে অনেক বেশী এটা যতটা, অন্য বলছেন x এর সমান হয়, এটা যতটা বলছেন Y. এখন x এবং y থেকে যেখানে আসে? কে জানে. ভূত এই খণ্ড কোড প্রসঙ্গের বাইরে. তবে কি আমরা এখন কাজ করতে চান অনুবাদ হয় শুধু একটা মুহূর্ত জন্য এই দেখুন. আপনি আরামদায়ক পেতে তাই সমস্যা সেট এই সপ্তাহে 0 এই বিশ্বের বাজানো বাম থেকে, বুঝতে পারছি ধারনা পরিবর্তন করা হয় না পরবর্তী বা অতিক্রম বা এই সপ্তাহে. আমরা কেবল যাচ্ছেন কিছু লেখা শুরু সঙ্গে বিভিন্ন ভাবে আমাদের পরিবর্তে আমাদের মাউস কীবোর্ড. যদি তাই x, y কম, এবং কিছু বন্ধনী আছে, তারপর কিছু কোঁকড়া ধনুর্বন্ধনী আছে আবার ধরনের এটি encapsulate করতে হলুদ পাজল টুকরা ঠিক মত. এবং আমি x printf যাচ্ছে না তাই ঘোষণা y এবং কম. কি সি সম্পর্কে চমৎকার, আপনি এখানে দেখতে পারেন, আপনি এই পাখির বাসা পাবেন না যে, পাখির বাসা, যে অগত্যা না পাখির বাসা অধিকার আপনার কোড ধাক্কা যাচ্ছে. আপনি পরিবর্তে সবকিছু করতে পারেন লাইন আপ সুন্দরভাবে এই চাই. কিন্তু যে মাত্র একটি নান্দনিক আমরা দীর্ঘ আগে আবার দেখতে পাবেন বিস্তারিত. ঠিক আছে. সুতরাং যে আমাদের ফিরে এনেছে এই রহস্যপূর্ণ খুঁজছেন প্রোগ্রাম. এর আসলে কিছু কোড লিখুন. এখন কিভাবে আপনি কোড লেখা সম্পর্কে যান? আপনি মালিকানাধীন করেছি যে সব এই বছর একটি ম্যাক বা পিসি, ডেস্কটপ বা ল্যাপটপ, আপনি আসলে সামর্থ্য ছিল করেছি প্রোগ্রামিং কোড লেখা শুরু. কিন্তু সম্ভবত আপনি অনুপস্থিত থাকেন প্রোগ্রাম একটি বিশেষ ধরনের. আপনি অবশ্যই কোড লিখতে পারেন. কিন্তু আপনি অগত্যা না করতে পারেন বাক্সের বাইরে, যে সোর্স কোড রূপান্তর অবজেক্ট কোড, 0 সেঃ এবং 1s মধ্যে আপনার কম্পিউটারে কি ছাড়া? শ্রোতা: কম্পাইলার. ডেভিড জে MALAN: একটি কম্পাইলার, অধিকার. এখন আপনি সম্ভবত অধিকাংশ একটি কম্পাইলার মালিক না, একটি কম্পাইলার ডাউনলোড না. কিন্তু আপনি এটা বিনামূল্যে ডাউনলোড করতে পারেন দেখতে পাবেন সফ্টওয়্যার সবচেয়ে অন্য কোন টুকরা মত. ম্যাক অপারেটিং সিস্টেম বিশ্বের, আপনি হতে পারে ডাউনলোড করুন অথবা ইতিমধ্যে ডাউনলোড Xcode অথবা জিসিসি বা ঝনঝন শব্দ বলা কিছু. আপনার কাছ থেকে আসা উইন্ডোজ বিশ্বের আপনি পারে ভিসুয়াল স্টুডিও ডাউনলোড করেছেন, ভিসুয়াল বেসিক, যে ভালো পরিবেশে. কম্পাইলার অত্যাধিক আছে আপনি ব্যবহার করতে পারে যে এই দিন. কিন্তু এখানে এটা ছোট এটি একটি ব্যথা হতে পারে যে এবং, উন্মুক্তভাবে, একটি প্রযুক্তিগত শত শত দু: স্বপ্ন বিভিন্ন মানুষের সঙ্গে সব কম্পিউটার কনফিগারেশনের তাদের মেশিন কনফিগার ঠিক একই ভাবে যাতে আমরা সব একই পৃষ্ঠায় হতে পারে. সুতরাং আমরা পরিবর্তে, কি CS50 মধ্যে আমরা আপনাকে দিতে হয় একটি আদর্শ পরিবেশ, একটি যে লিনাক্স পরিবেশ একটু তাকান যাচ্ছে ভালো কিছু. আপনি এই আরো দেখতে পাবেন সমস্যা সেট 1 স্পেসিফিকেশন যা এই শুক্রবার রাতে অনলাইন যেতে হবে. এবং এই কি মানে আপনি যে অত: পর হয় করতে সক্ষম হতে যাচ্ছে ডাউনলোড করুন এবং একটি প্রোগ্রাম ইনস্টল CS50 অ্যাপ্লায়েন্স বলা হয়. এবং যদি আপনি ডাউনলোড করতে যাচ্ছেন এবং অন্য একটি প্রোগ্রাম ইনস্টল শুধু একটি, যা একটি হাইপারভাইসর, এই অর্জন অভিনব উপায়. আপনি একটি ম্যাক বা পিসি অথবা একটি মালিক কিনা লিনাক্স কম্পিউটার বা কোনো Solaris কম্পিউটার, বা যাই হোক না কেন পাগল অপারেটিং সিস্টেম আপনি চলমান করছি, আপনি একটি প্রোগ্রাম ডাউনলোড করতে যাচ্ছেন যে হাইপারভাইসরের বলা CS50 রান যাচ্ছে আপনার কম্পিউটারে প্রয়োগ কোন ব্যাপার আপনার অপারেটিং সিস্টেম কি. অন্য কথায় একটি হাইপারভাইসর পরিবর্তন যাই হোক না কেন ভাষা আমাদের স্টাফ, যাই হোক না কেন নির্দেশাবলী আপনার নিজের কম্পিউটার বুঝতে পারে. সুতরাং এই একটি layering একটি হয়. এবং আবার, এই ধরনের কম্পিউটার বিষয়ভিত্তিক এর বিজ্ঞান, জিনিসের উপর বিল্ডিং. আপনি উইন্ডোজ থাকতে পারে. আপনি ম্যাক অপারেটিং সিস্টেম থাকতে পারে. কিন্তু পরের সপ্তাহে শুরু আপনি ডাউনলোড করা যাচ্ছে সফ্টওয়্যার একটি মুক্ত টুকরা হাইপারভাইসরের বলা হয়. আপনি একটি টুকরা আছে ডাউনলোড করতে যাচ্ছেন সফ্টওয়্যার CS50 অ্যাপ্লায়েন্স বলা হয়. যে, হাইপারভাইসরের মধ্যে চালানো যাচ্ছে যা আপনার কম্পিউটারে চালানো যাচ্ছে না. এবং শেষ ফলাফল আমাদের সব করবে মত একটি সহজ উইন্ডো আছে আপনার Mac বা পিসিতে এই আমাদের যে সব বিভ্রম দেয় একই অপারেটিং সিস্টেম চালানো, অন্য কোন ছাড়া আপনার কম্পিউটারে প্রভাব. এবং আপনি সম্পূর্ণ পর্দা করতে পারেন এটি মূলত আচরণ আপনি চলমান হিসাবে যদিও একটি লিনাক্স নামক অপারেটিং সিস্টেম, যা কি CS50 হয় গৃহ সরঞ্জাম উপর ভিত্তি করে. সুতরাং এর আসলে এই ব্যবহার এখন একটি প্রোগ্রাম লিখতে. আপনি একটি প্রোগ্রাম লিখতে পারেন মাইক্রোসফট ওয়ার্ড ব্যবহার করে. আপনি একটি প্রোগ্রাম লিখতে পারেন TextEdit, বা নোটপ্যাড ব্যবহার করে, বা WordPad, বা কাছাকাছি কোনো শব্দ প্রসেসিং প্রোগ্রাম আপনি কি কখনও ব্যবহার করেছি. কিন্তু বাস্তবতা হল আপনি না করা উচিত সত্যিই যারা প্রোগ্রাম কোনো ব্যবহার. আপনি অবশ্যই ব্যবহার করা উচিত নয় মাইক্রোসফট ওয়ার্ড, ভালো কিছু যা গাঢ় সম্মুখীন এবং italics, এবং আছে বড় ফন্ট এবং ছোট ফন্ট, কম্পিউটার না কারণ যে কোন যত্নশীল. সমস্ত কম্পিউটার সম্পর্কে যত্ন যাচ্ছেন সি লিখিত নির্দেশাবলীর মত ইংরেজি তাই আমরা ভিতরে করব CS50 অ্যাপ্লায়েন্স এর অবাধে একটি প্রোগ্রাম ব্যবহার করা হয় পাওয়া যায়, এটি এবং এর এই প্রাক ইনস্টল প্রয়োগ, gedit বলা হয়. এবং gedit শুধু একটি সুপার সহজ ম্যাক অপারেটিং সিস্টেম এর TextEdit ভালো টেক্সট এডিটর, যাচ্ছে যে উইন্ডোজ নোটপ্যাড মত এই মত সামান্য কিছু চেহারা. তাই আসলে এর না এই স্লাইড তাকান. কিন্তু আসলে এর মধ্যে যেতে পরিবেশ নিজেই. আমি এগিয়ে যান যাচ্ছে এবং এই অন্যান্য উইন্ডোতে, লগ ইন, আমি করেছি, যা আমার CS50 অ্যাপ্লায়েন্স, থেকে এখানে আমার ল্যাপটপে প্রাক ইনস্টল. উইন্ডোজ এবং মত যে, লক্ষ্য করুন ম্যাক অপারেটিং সিস্টেম, এটা কিছু মেনু পেয়েছিলাম. উইন্ডোজের মত এটা বন্ধ রাখে এটা ডাউন আছে পরিবর্তে সেখানে নিচে রাখে, যা ম্যাক অপারেটিং সিস্টেম, এর. কিন্তু বাস্তবতা এটা হয় একই সব ধরনের. এবং এখানে একটি সম্পূর্ণ হয় সফ্টওয়্যার গুচ্ছ. ড্রপবক্স আছে. জিনিসপত্র আভা আছে, গ্রাফিকাল প্রোগ্রাম যে আমরা করব সমস্যা সেট শব্দটি পরে ব্যবহার করুন. তাই সালে নির্মিত একটি ওয়েব ব্রাউজার আছে এই একটি পূর্ণ পালকযুক্ত কম্পিউটার যে একটি কম্পিউটার এর ভিতর. কিন্তু আমি এই ক্লিক করা যাচ্ছে না এখানে সাদা আইকন সর্ববাম, যা gedit জন্য আইকন. এবং এটি একটি উইন্ডো খুলতে যাচ্ছে যে, এটি তিনটি প্যানেল আছে একটি বাম, একটি শীর্ষ এক, এবং একটি নীচে এক. এখন এটি এই উপরের ডান এক যে আমি আসলে কিছু কোড লিখতে যাচ্ছি. তাই এর এই না দেওয়া ,. আমি, ফাইল সংরক্ষণ করুন যেতে যাচ্ছে না. এবং আপনি কি কখনও দেখা হয়ে থাকতে পারে না আগে এই বিশেষ উইন্ডো. কিন্তু এই ম্যাক অপারেটিং সিস্টেম বা উইন্ডোজ ভালো হয়. এটি শুধু একটি জানালা ফোল্ডার এর সব সঙ্গে আমি এই কম্পিউটার এর ভিতর আছে. এবং আমি সংরক্ষণ করা যাচ্ছে না hello.c হিসাবে ফাইল. এবং আমি যেতে চলেছি এগিয়ে এবং সংরক্ষণ করুন ক্লিক করুন. এবং এখন আমি একটি ট্যাব আছে বিজ্ঞপ্তি উপরের বাম এ, hello.c বলা হয়. তাই সম্ভবত বেশ পরিচিত আপনি না করেছি, এমনকি যদি আগে এই বিশেষ প্রোগ্রাম ব্যবহার. এবং এখন আমি ঐ টাইপ করা যাচ্ছে না কমান্ড মোটামুটি রহস্যপূর্ণ ক্রম যে আমরা একটি মুহূর্ত আগে দেখেছি. অন্তর্ভুক্ত করুন, মান ইনপুট / O.h. যে শীঘ্রই আরও. Int প্রধান অকার্যকর, খোলা কোঁকড়া যুগল, কোঁকড়া বক্রবন্ধনী বন্ধ. এবং তারপর এর ভিতরে আমি মনে করি যেখানে আমরা "ওহে দুনিয়া," সেমিকোলন ছিল. এবং এখন সংরক্ষণ করুন. তাই এই সি একটি প্রোগ্রাম, সোর্স কোড, অতএব, লিখিত. কিন্তু আমি এই প্রোগ্রাম চালাতে না পারেন. আমি ধরনের দ্বিগুণ করতে চান কোথাও একটি আইকন ক্লিক করুন, কিন্তু কোন আইকন অন্যান্য বিদ্যমান সোর্স কোড ফাইল চেয়ে. কি আবার, প্রক্রিয়া এখন যে আমি মাধ্যমে এই ফাইল চালানোর প্রয়োজন? শ্রোতা: কম্পাইলার. ডেভিড জে MALAN: একটি কম্পাইলার. তাই বিভিন্ন কম্পিউটারের মধ্যে আপনি বিভিন্ন উপায়ে এই কাজ. কিন্তু আমরা সম্পন্ন করেছি এখানে কি যে CS50 অ্যাপ্লায়েন্স প্রতিনিধি কিভাবে আপনি পারে এই বিভিন্ন সিস্টেমের মধ্যে না, আমি কেবল যাচ্ছে না হয় মেক নামক একটি কমান্ড. এবং আক্ষরিক যে কি করতে যাচ্ছে. আমাকে একটি প্রোগ্রাম তৈরি করুন. তাই যাচ্ছে না আমার জন্য একটি কম্পাইলার চালানো. এবং প্রোগ্রামের নাম আমি হ্যালো করতে চাই. এখন একটি প্রোগ্রাম. এবং যথেষ্ট স্মার্ট , যদি আমি বলে হ্যালো করতে বুঝতে পারি যে এটি স্বয়ংক্রিয়ভাবে চেহারা যাচ্ছে একটি ফাইল বলা হয় hello.c জন্য শুধু যে কারণ উপায় এটি কনফিগার করা হয়. তাই আমি এখন এখানে, এই আঘাত লিখুন যখন ছবি রহস্যপূর্ণ লাইন মৃত্যুদন্ড কার্যকর করা হবে. এবং আগে, আমার বিশ্বাস দীর্ঘ, শুধু দিনের মধ্যে, আপনি কি সব বুঝতে পারবেন যে আজেবাজে কথা মানে. কিন্তু এখন জন্য, শুধু জানি যে একটি কম্পাইলার চালিত মৃত্যুদন্ড. অন্য কথায়, এটি পাওয়া যায় নি আমার কম্পিউটারে একটি কম্পাইলার যে প্রাক ইনস্টল CS50 অ্যাপ্লায়েন্স উপর আমরা সমস্যা সেট 1 আপনি হাতে পাবেন. এবং তারপর হিসাবে, hello.c গ্রহণ ইনপুট, এবং দৃশ্যত উত্পাদিত 0 সেঃ এবং 1s আউটপুট হিসাবে. এবং ডিফল্ট দ্বারা এটি কী করে সংরক্ষণ করা হয় একটি ফাইলের মধ্যে যারা 0 সেঃ এবং 1s হ্যালো বলা হয়. এবং এই বাক্য গঠন, যদিও খুব পারে কেবল বিন্দু বলার অপেক্ষা রাখে না, আপনি নতুন হতে কাট হ্যালো হতে যাচ্ছে যার দ্বারা আমি এই প্রোগ্রাম চালানো মানে. এখন জন্য এবং অন্তত একটি দম্পতি জন্য প্রোগ্রাম সপ্তাহ, প্রায় সব আমরা হতে যাচ্ছে লিখুন কালো এবং সাদা টেক্সট জানালা. কোন মাউস, কোন ক্লিক করে, কোন জানালা, কোন আইকন. আমরা এটা সহজ রাখা চলুন এবং অন্তর্নিহিত ধারণা ফোকাস আমরা কিছু পেতে প্রথমে আগে উচ্চতর স্তর, উদাহরণস্বরূপ, আমরা বললাম যে বিরতি আউট খেলার মত প্রথম বক্তৃতা শেষ সপ্তাহে সম্পর্কে. আমি এখানে লিখুন আঘাত যখন সুতরাং, এটা একটি টেক্সট শুধুমাত্র পরিবেশে সমতুল্য হ্যালো নামক একটি আইকন ক্লিক দুবার. আপনি ইচ্ছা আশা করবেন কি আমি তারপর আঘাত লিখুন যখন ঘটবে? শ্রোতা: এটা "হ্যালো দুনিয়া." মুদ্রণ করব ডেভিড জে MALAN: আশা করছি এটি "হ্যালো দুনিয়া." মুদ্রণ করা এবং প্রকৃতপক্ষে তা. এখন আছে এর কিছু এখানে রহস্যপূর্ণ সিনট্যাক্স. এর ঠিক গুটিয়ে দেওয়া একটি মুহূর্ত এবং দেখুন যদি আমরা শুধু দ্বারা inferring শুরু করতে পারে না , tinkering চেষ্টা এবং ব্যর্থ, এখানে কি ঘটছে হিসাবে. আমি কি ব্যাকস্ল্যাশ এন পরিত্রাণ পেতে পারি? এখন আপনি কিছু করেছি যারা সম্ভবত আগে প্রোগ্রাম কি যে মানে অবিলম্বে জানি. কিন্তু করেছি যারা আপনি তাদের জন্য আগে প্রোগ্রাম না, অন্তত যাচ্ছে কি নিজেকে মনে আমি এই প্রোগ্রাম পুন: প্রকাশ যখন পরিবর্তন? তাই আমি নিচে ফিরে যেতে চলেছি আমার সামান্য কালো এবং সাদা উইন্ডোতে, যা উইন্ডো যা আমি এই কম্পাইল করতে পারেন. আমি হ্যালো পুনরায় কম্পাইল করতে যাচ্ছি. আমরা একই দেখতে যাচ্ছেন কমান্ড রহস্যপূর্ণ ক্রম. এবং আমি হ্যালো বিন্দু স্ল্যাশ করতে যাচ্ছি. এবং এখন কেউ, আপনি কি যদি, যারা আগে প্রোগ্রাম কখনো ছিল না এই সময় বিভিন্ন কি হতে পারে? হ্যাঁ. শ্রোতা: এটা বন্ধ হবে না মুদ্রণ "হ্যালো দুনিয়া." ডেভিড জে MALAN: এটা চাচ্ছি দুঃখিত যাচ্ছে? শ্রোতা: এটা মুদ্রণ বন্ধ হবে না? ডেভিড জে MALAN: এটা না করবে না মুদ্রণ থামাতে "হ্যালো দুনিয়া." তাই না একটি খারাপ ধারণা. অন্যান্য ধারনা? হ্যাঁ. শ্রোতা: ত্রুটি বার্তা? ডেভিড জে MALAN: ত্রুটি বার্তা, ঠিক আছে, হতে পারে. আর কী? শ্রোতা: এটা মুদ্রণ হতে পারে পাশাপাশি সেমিকোলন দিয়ে বন্ধনী? ডেভিড জে MALAN: মুদ্রণ পারে পাশাপাশি সেমিকোলন দিয়ে বন্ধনী. তাই হয়তো যে ব্যাকস্ল্যাশ তারপর কিছু গুরুত্বপূর্ণ যে terminous ধরনের. অন্য কোন চিন্তা? তাই সব ভাল ধারনা. এবং আসলে, এটি হচ্ছে একটি ত্রুটি বার্তা হতে. যে সম্ভবত সম্ভবত সাধারণ উত্তর হতে আগামী কয়েক সপ্তাহের জন্য আমরা এখানে কোড জানতে হিসাবে. কিন্তু এখন জন্য কম্পিউটার মনে রাখবেন, যে শুধুমাত্র কি আপনি তাদের বলতে কি. হাস্যকর চিনাবাদাম অনেক ভালো মাখন এবং জেলি উদাহরণ. আমাদের মানব শুধুমাত্র কম্পিউটার অনুমিত হয় আপনি কি তাদের জানান কি না. এই ক্ষেত্রে, যদি তাই আপনি যদি কম্পিউটার বলতে না যে জ্বলজ্বলে কার্সার সরানোর জন্য পরের লাইন, এটা কি যাচ্ছে না. তাই আমি এই প্রোগ্রাম চালানো যখন এখন, পার্থক্য লক্ষ্য করা. একটি বাগ মত মনে হচ্ছে. এটা সম্ভবত, একটি নান্দনিক বাগ. কিন্তু এই সম্পর্কে বিভিন্ন কি সম্ভবত গত এক বনাম আউটপুট? হ্যাঁ. শ্রোতা: এটি একটি নতুন লাইন না. ডেভিড জে MALAN: এটি একটি নতুন লাইন না. এখন আপনি তাদের যারা হয়তো তৈরি ওয়েব পেজ আছে আগে, আপনি জানেন হতে পারে বিআর ট্যাগ বা অনুচ্ছেদের ট্যাগ, আত্মা খুব অনুরূপ. একটি ওয়েব ব্রাউজার পর্যন্ত আপনি উপেক্ষা করা হবে আপনি ঠিক কি করতে হবে তা বলুন. একইভাবে, সি মত একটি ভাষা শুধুমাত্র আপনি কি এটা বলতে কি করতে যাচ্ছে. কারণ সুতরাং যে এই উদাহরণ সব, এখন পর্যন্ত, ধরনের আছে আকস্মিকভাবে এই ব্যাকস্ল্যাশ ছিল সেখানে, যে উপায় যার দ্বারা আপনি নিজেকে প্রকাশ একটি নতুন লাইন চরিত্র হিসাবে, তাই কথা বলতে. এবং আপনি কি ধরনের, সম্ভবত, প্রশংসা করতে পারেন এই ধরনের মূঢ় দেখাবে যে যদি কিছুই অন্যথায়. আমি একটি নতুন লাইন চেয়েছিলেন, ঠিক আঘাত ধরনের তারপর লিখুন এবং যে মত কোড butchering সত্যিই আপনি সঠিক ভাবে ঘর্ষণ করা উচিত নয়. এবং যদি আপনি না, এমনকি যদি এই সময়ে সত্যিই যত্ন, আপনি বুঝতে হবে এই একটি বিশেষ হয় না কোড ভাল খুঁজছেন টুকরা. তাই কি দুনিয়া সিদ্ধান্ত নিয়েছে বছর আগে আপনি যে লাগাতে চান যখন স্পষ্টভাবে একটি নতুন লাইন সম্মুখের দিকে কার্সার, আপনি স্পষ্টভাবে বলতে হবে নতুন লাইন, ব্যাকস্ল্যাশ এন. এবং কিছু অন্যান্য আছে যে মত চিহ্ন. কিন্তু এখন আমরা করব ব্যাকস্ল্যাশ এন ফোকাস. এখন এর প্রোগ্রাম করা একটু বেশি আকর্ষণীয়. আমি এগিয়ে যান যাচ্ছে এবং এই সময় একটি নতুন ফাইল খুলুন. আমি এই হিসাবে হ্যালো-1.c সংরক্ষণ করা যাচ্ছে না. এবং শুধু kicks জন্য, আমি যাচ্ছি আমার ড্রপবক্স ফোল্ডারের মধ্যে এটা করা যেতে. আপনি CS50 মধ্যে দেখতে পাবেন প্রয়োগ জন্য ডকুমেন্টেশন, সমস্যা জন্য পরে এই সপ্তাহে 1 সেট করুন, আমরা উত্সাহিত হবে আপনি ড্রপবক্স ব্যবহার করার জন্য বা কিছু সমতুল্য সেবা, আপনার কোড এর পরে সব কারণ যাচ্ছে স্বয়ংক্রিয়ভাবে ব্যাক আপ করা হবে. আমি করেছি কেন এবং তাই যে এখানে এই ফোল্ডার মধ্যে চলে গেছে. এবং এখন আমি একটি লিখতে যাচ্ছি কিছুটা ভিন্ন প্রোগ্রাম. স্ট্যান্ডার্ড ইনপুট / O.h, int প্রধান অকার্যকর অন্তর্ভুক্ত. এবং তারপর এখানে printf,, হ্যালো, বিশ্বের যা আগে ঠিক একই. কিন্তু এখন আমি কিছু প্রিন্ট করতে চান যে একটি সামান্য ভিন্ন. আমি প্রিন্ট আউট করতে চান "হ্যালো, ডেভিড. বলে," সমস্ত অধিকার, সম্ভবত তাই, এটা আশা করা উচিত আমি পুনরায় কম্পাইল যদি যে ক্ষেত্রে হতে এই প্রোগ্রাম, এটি পুন: প্রকাশ করা, এটা বলে যাচ্ছে "হ্যালো, ডেভিড." কিন্তু আমি চাই যদি পরিচয় করিয়ে পরিবর্তনশীল এই সাজানোর, যাচ্ছে যে একটি ধারক ধারণা কোড এটি ডি একটি বনাম আমি-D এবং হার্ড না সংরক্ষণ করা আমার প্রোগ্রাম. ওয়েল আমি কি শুরু ভালো কিছু করছেন? স্ট্রিং গুলি, তাই এই একটি পরিবর্তনশীল. আপনি একটি স্ট্রিং চান, একটি শব্দ বা একটি ফ্রেজ a.k.a.. অক্ষরের একটি ক্রম কি আমরা প্রোগ্রামিং একটি স্ট্রিং কল. আমরা শুধু জেনেরিক কল করতে যাচ্ছেন এটি একটি চমৎকার সহজ নাম, কারণ এটি হয়. কিন্তু আমি কিছু কল করতে পারে. আমি স্ট্রিং গুলি সমান বলতে যাচ্ছি উদ্ধতি, "ডেভিড," সেমিকোলন উদ্ধৃতি. এবং এখন আমি সন্নিবেশ করতে চান : D একটি বনাম আমি-D আমি মুদ্রণ করছি কি. এবং আমরা আগে একটি টিজার দেখেছি কিছু বিশেষ সিনট্যাক্স পর্দা যে অনুমতি দেওয়া একটি মান বিকল্প. বিশেষ কী ছিল প্রতীক কয়েক স্লাইড আগে? তাই শতাংশ. সময়ে এটি শতাংশ দশমিক সংখ্যা জন্য ঘ. যে সত্যিই এখানে প্রাসঙ্গিক বলে মনে হচ্ছে না. আছে দেখা যাচ্ছে অন্য শতাংশ প্রতীক, যা দাঁড়িয়েছে, যা শতাংশ গুলি, একটি স্ট্রিং জন্য একটি স্থানধারক জন্য. সুতরাং এখন, খুব সহজভাবে, আমি হ্যালো-1 করা যেতে যাচ্ছে, এই ফাইল বলা হয় কারণ হ্যালো-1.c, এবং আঘাত লিখুন. এবং আমি মাতাল আপ. কি হচ্ছে? আমরা শুরু করতে হবে যেখানে ভাল, এখানে আমরা এই কমান্ডের মধ্যে যে প্রশংসা লাইন পরিবেশ, এই শুধুমাত্র পরিবেশ টেক্সট. আইকন কোন ক্লিক আছে ডান এখন ফোল্ডার মত. এবং একটি মুহূর্ত আগে ফিরে মনে. কি ফোল্ডার আমি বলতে না আমি আমার কোড সংরক্ষণ করা হয়? তাই ড্রপবক্স ফোল্ডারে. কিছু বলা হয়েছে. কিন্তু এটা ড্রপবক্স বলা যেতে হবে. তাই আমি একরকম উপর ডাবল ক্লিক করতে হবে যে ড্রপবক্স ফোল্ডারে পেতে এবং তা পেতে আমার কোড হ্যালো-1.c বলা হয়. আসলে, আমাকে এগিয়ে যান এবং কমান দিন শুধু একটা মুহূর্ত জন্য এই উইন্ডোতে. শুধু উইন্ডোজ এবং ম্যাক OS, লিনাক্স ফোল্ডার আছে. CS50 অ্যাপ্লায়েন্স ফোল্ডার আছে. এটা ঠিক ডান এখন আমরা সীমাবদ্ধ করছি এই টেক্সট পরিবেশ নিজেদেরকে. কিন্তু আমি ডাবল ক্লিক করে ড্রপবক্স, সেখানে লক্ষ্য করা আমি কম্পাইল করতে চান যে ফাইল. কিন্তু আমি এই কালো এবং সাদা প্রয়োজন টার্মিনাল উইন্ডোতে, তাই কথা বলতে. কিন্তু আমি প্রয়োজন, অতএব, সরানো যে ফোল্ডার বা ডিরেক্টরির মধ্যে. তাই সামান্য রহস্যময়, কিন্তু আপনি এই ব্যবহার করতে হবে. লিনাক্স জগতে, যা আবার অপারেটিং হয় সিস্টেম আমরা CS50 এর ভিতরে চালাচ্ছেন গৃহ সরঞ্জাম, সিডি নামক একটি কমান্ড আছে. যা আমি সিডি, স্থান, ড্রপবক্স করতে পারেন. সিডি, পরিবর্তন করুন. রাইট. পিছনে দিনের মানুষ ছিল যখন কম্পিউটার উদ্ভাবক এবং অপারেটিং ভালো সিস্টেম, তারা চেয়েছিলেন যাও fewest স্ট্রোক সম্ভব টাইপ করুন. সবচেয়ে সহজ পদ্ধিতি হল উপায় বলে তাই পরিবর্তন ডিরেক্টরি সিডি ছিল. তাই আমি সিডি, স্থান ড্রপবক্স আঘাত, এখানে কি কি পরিবর্তন হয়েছে বিজ্ঞপ্তি. বন্ধনীর ভিতরে প্রয়োগ ধরনের আমার humoring এবং আমি কোথায় আমাকে স্মরণ. তাই খোলা ফোল্ডার ড্রপবক্স হয়. আমি এখন জন্য ls টাইপ যদি তালিকা, আবার সংক্ষিপ্ত, মানুষ চান না, কারণ দিন L-আমি-এর-টি ফিরে টাইপ করুন. তাই তারা এর পরিবর্তে এটি ls তৈরি. লিখুন. আমি হ্যালো-1.c দুটি জিনিস দেখতে লক্ষ্য করুন এবং তারপর এই রহস্যপূর্ণ বিষয়, উৎস 1 মি. বলে যে শুধু আমার উপায় সপ্তাহে 1 সোমবার জন্য সোর্স কোড. যে আমি থেকে ডাউনলোড একটি ফোল্ডার আমি তার আগে আজ যে CS50 এর ওয়েবসাইট এবং শুধু তা করা আগাম প্রয়োগ. কিন্তু এখন শুধু জন্য আমরা এই প্রোগ্রাম করছে যত্নশীল. তাই আমি হ্যালো-1, করতে লিখুন টাইপ করুন. এটা অভিশাপ. কিছু ভুল হয়েছে. তাই এর এই সরাইয়া জ্বালাতন করা যাক. এবং দুর্ভাগ্যবশত এই যেখানে কিছু প্রথমে একটু চাপ পেতে, অন্তত আপনি করেছি যদি আগে প্রোগ্রাম না. ঈশ্বর আমার. আমি দুই লাইন প্রোগ্রাম লেখেন এবং আমি ত্রুটি চার লাইন আছে. সুতরাং এখানে কি ঘটছে. প্রথম এবং সর্বাগ্রে সবসময় ফিরে স্ক্রল আপ এবং প্রথম ত্রুটি বার্তা খুঁজে, পুন: পুন শুধু কম্পাইলার কারণ আপনি এবং আমি কি দ্বারা বিভ্রান্ত. কম্পাইলার বেশ মূক. তারা শুধুমাত্র কি করব কি আপনি তাদের বলুন. আপনি তাদের গুলান এবং, যদি তারা ঠিক করছি ধরনের তাদের হাত তোলা যাচ্ছে এবং হয়তো আরো ত্রুটির বার্তা নিক্ষেপ আসলে প্রাসঙ্গিক. সুতরাং এর প্রথম তাকান. প্রথম সুপার রহস্যপূর্ণ. কিন্তু বিজ্ঞপ্তি, এখানে নাম ফাইল যা আমি দৃশ্যত মাতাল আপ. কোলন 5, কোলন 5 ঠিক মানে পঞ্চম অক্ষর লাইন 5. তাই অক্ষর পঞ্চম কলাম, ত্রুটি, যদি আপনি হবে. অঘোষিত আইডেন্টিফায়ার স্ট্রিং ব্যবহার. আপনি স্ট্যান্ডার্ড এন কথা বলছেন কি? না, আমি স্ট্রিং বোঝানো. এবং তারপর এটা কোন ধরনের আছে কপি এবং পেস্ট আমি সত্যিই আঁকা টাইপ কি আমার আমি মাতাল আপ যেখানে মনোযোগ. কিছু কারণে সি সুতরাং, বা অন্তত কম্পাইলার শব্দ স্ট্রিং বুঝতে পারেন না. আমরা এটি গঠিত এবং যে কারণ. তাই স্ট্রিং বিদ্যমান নয় সি কি এবং CS50 আছে মধ্যে, প্রথম কয়েক সপ্তাহের জন্য শুধুমাত্র বর্গ, আমরা কিছু প্রশিক্ষণ প্রদান করা হয় কায়দা করে, তাই কথা বলতে. এবং আমরা এই প্রশিক্ষণ চাকার করা cs50.h. নামক একটি বিশেষ ফাইল এর ভিতরে তাই এই দুই ফাইল এর দ্বিতীয় দৃশ্যত ডট জ শেষ নাম. এর আবার গুটিয়ে নেওয়া যাক. Printf একটি বিবৃতি বা ফাংশন যে দৃশ্যত কিছু ছাপে পর্দায়. কিন্তু আপনি আমাকে দেখতে না ডান printf, বাস্তবায়ন. কেউ কেউ বছর আগে printf, বাস্তবায়িত. কি ফাইল আপনি সে বাজী ধরার হবে সে বাস্তবায়ন করা printf, printf, জন্য কোড? স্ট্যান্ডার্ড ইনপুট / O.h নামক একটি ফাইলের মধ্যে. আসলে, এটি সম্ভবত দুটি ফাইল, মান ইনপুট / O.h, যা হেডার ঘোরা ফাইল, এবং মান ইনপুট / O.c, যা সি সোর্স কোড জন্য দাঁড়িয়েছে. তাই সে কিছু বছর আগে plopped তারা যে ফাইলে লিখেছেন যে কোড যাতে আমাদের মত মানুষ বছর পরে এটি অন্তর্ভুক্ত করা যাবে, তাই আমাদের নিজস্ব প্রোগ্রাম, কথা বলতে. এবং প্রকৃতপক্ষে, যে কি আধা কেজি সাইন শব্দ দ্বারা অনুসরণ না অন্তর্ভুক্ত. এটা স্থানীয় হার্ড ড্রাইভে দেখায় , স্ট্যান্ডার্ড ইনপুট / O.h নামক ফাইল খুঁজে বের করে এবং তারপর কার্যকরভাবে কপি এবং আমার নিজের ফাইলের ভিতরে প্রতিলেপন করা হয়. তাই এখন আমার প্রোগ্রাম জানে কিভাবে পর্দা থেকে প্রিন্ট করার জন্য. যে যুক্তি, যেখানে তাই স্ট্রিং সংজ্ঞায়িত করা হয়? শ্রোতা: cs50.h. ডেভিড জে MALAN: cs50.h. এবং প্রকৃতপক্ষে, যে কি আমরা, মূল কর্মী, কাজ আছে. আমরা কয়েক ধরনের তথ্য আবিষ্কার করেছি, তাই একটি স্ট্রিং মত কথা বলতে, বেশী ছাড়াও আপনি কোন int মত, বিনামূল্যে জন্য পেতে. এবং আমরা একটি গৃহস্থালি মত অন্যদের দেখতে পাবেন একটি অক্ষর এবং আরো কয়েকটি জন্য. CS50.h, দৃশ্যত হয় ভিতরে স্ট্রিং অন্তত কিছু উল্লেখ. সুতরাং এখন আমাকে এগিয়ে যান এবং পুন: প্রকাশ করা হ্যালো-1. আমি আবার জুম এবং আমার আঙ্গুলের ক্রুশ করব. এখন এক তৈরি হচ্ছে আমি অধিকাংশ জিনিস সংশোধন করা হয়েছে পরিবর্তন. কিন্তু এটা অভিশাপ. তথ্য আর্গুমেন্ট তুলনায় আরো শতকরায়. আমি কি এই সময় ভুল করবেন? সুতরাং এটা এখনও বেশ রহস্যপূর্ণ. কিন্তু এই ত্রুটি হয় লাইন 7 এবং চরিত্র 21. সুতরাং আসুন এখানে সন্ধান যান. এটা একটু সূক্ষ্ম. কিন্তু যদি আপনি মনে করতে কি এখানে মৌলিক ধারণা, হয় সম্ভবত আমরা এই সরাইয়া জ্বালাতন করতে পারেন. তাই printf ফাংশন এর নাম. বন্ধনী, এ পর্যন্ত, হয় আমরা কাছাকাছি রাখা ভালো আমরা পার করছি উপাদান একটি ফাংশন ইনপুট হিসাবে. সমস্ত অধিকার, শুধু একটি নির্বিচারে মানুষের রীতিনীতি. প্রথম বন্ধনী ব্যবহার করুন. যারা বন্ধনীর ভিতরে আমরা উদ্ধৃতি চিহ্ন স্থাপন করা হয়েছে, এবং তারপর মত একটি পংক্তি "হ্যালো দুনিয়া." কিন্তু যে আগে যেমন খুব সংক্ষেপে আমরা ভূত সঙ্গে তাকান না. এবং আমরা শতাংশ ঘ ছিল, কি কি যারা বন্ধনীর ভিতরে ছিল আমি মৌখিকভাবে বলা যে? হ্যাঁ. শ্রোতা: এটা সুতরাং আপনি গ্রহণ করছেন কি [শ্রবণাতীত] থেকে [শ্রবণাতীত] কি এই [শ্রবণাতীত]? ডেভিড জে MALAN: যথাযথভাবে. তাই আমরা শতাংশ ঘ ছিল. কিন্তু তারপর আমরা বন্ধ ছিল উদ্ধৃতি, কমা, পাল্টা. রাইট. আমরা কি আমরা চাই নির্দিষ্ট স্থানধারক হিসেবে কাজ করতে. তাই আমি এখানে করতে যাচ্ছি কমা, আপনি আমাকে করা কি চান না? শ্রোতা: এস ডেভিড জে MALAN: এস, কারণ এই ক্ষেত্রে এর স্টোরেজ ধারক নাম. এটা যে কাচের বাটি নাম. এটা যে পাল্টা আগে যেহেতু সহজ ভূত যেমন আমরা দিকে তাকিয়ে. তাই এখন দুই তৈরি হচ্ছে পরিবর্তন, আমাকে জুম ইন এবং আরো একবার চেষ্টা এই প্রোগ্রাম কম্পাইল. এখন আমি যে রহস্যপূর্ণ লাইন দেখুন. কিন্তু যে আসলে কম্পাইলার নাম. ঝনঝন শব্দ হয় কম্পাইলার নাম. শুধু আমাকে সংরক্ষণ করা হয় না কখনও মাথা ব্যাথা যে দীর্ঘ পাগল কমান্ড টাইপ. তাই এখন আমি বিন্দু হ্যালো-1 কাট না, আমি "হ্যালো, ডেভিড." দেখতে পাবেন চমত্কার underwhelming, যদিও, ডান? আমরা কাজ করতে পারে এই অনেক বেশি কেবল ভেরিয়েবল সম্পর্কে কথা বলা ছাড়া cs50.h এবং যে সব. তাই এর এটি একটি করা একটু বেশি আকর্ষণীয়. CS50.h, উপরন্তু, স্ট্রিং ভালো জিনিস হচ্ছে ঘোষণা, CS50 লাইব্রেরি কয়েক ফাংশন আছে. তাই ঠিক মত বছর আগে, কেউ লিখেছে printf এবং স্ট্যান্ডার্ড ইনপুট / O.h এটা করা এবং কিছু অন্যান্য ফাইল. আমরা CS50 কর্মীদের একটি ফাংশন লিখেছে GetChar, GetDouble, যাও GetFloat বলা হয়, GetInt, GetLongLong, GetString এবং আমরা একটি ফাইল ভিতরে যারা করা cs50.h এবং CS50.c. বলা এবং আমরা ভিতরে তাদের করা CS50 অ্যাপ্লায়েন্স এর. এবং মানুষ এটিও করতে পারেন তারা যদি তাদের অনলাইন ডাউনলোড তাদের করা করতে চান তাদের নিজের কম্পিউটার হিসাবে ভাল. আমরা তৈরি করেছি বলে যা ব্যবহারকারী থেকে ইনপুট পেতে যে ফাংশন. আমি কি জানি না এই তথ্য ধরনের. GetInt মত, ধরনের সহজবোধ্য ব্যবহারকারীর কাছ থেকে একরকম একটি পূর্ণসংখ্যা পেতে. এবং GetString পেতে মত সম্ভবত একটি শব্দ বা ব্যবহারকারী থেকে একটি বাক্য. তাই এর যে ফোকাস যাক. এবং আমি ফিরে যেতে চলেছি গৃহ সরঞ্জাম ও আমি এগিয়ে যেতে চলেছি এবং এই ফাইল হিসাবে সংরক্ষণ করুন, এর কল আমার দ্বিতীয় সংস্করণ হিসাবে এটি হ্যালো-2.c. এবং এর পরিবর্তনের একটি দম্পতি করতে. পরিবর্তে এই সময় হার্ড কোডিং ডেভিড, যা একটি অবিশ্বাস্যভাবে সামঞ্জস্যপূর্ণ তোলে কিন্তু, underwhelming প্রোগ্রাম, আমি পরিবর্তে GetString কি না? এখন GetString, লক্ষ্য একটি খোলা বন্ধনী আছে, বন্ধ বন্ধনী, কারণ এটি কোনো ইনপুট প্রয়োজন হবে না. এটা পেতে যেতে যাচ্ছে ব্যবহারকারী থেকে একটি পংক্তি. এবং এখন অন্য সিনট্যাক্স একটি শব্দ. সেমিকোলন ঠিক কোড একটি লাইন শেষ. আপনি সর্বত্র তাদের প্রয়োজন হবে না. কিন্তু যে আমি মানে কোড এই লাইন দিয়ে করা. আমাকে অন্য সম্মুখের দিকে অগ্রসর চলুন শুরু করা যাক বিবৃতি বা ফাংশন. স্ট্রিং একটি পরিবর্তনশীল ঘোষণা করে. স্ট্রিং বলছে ভালো হয় আমাকে একটি বাটি, দয়া করে. এবং আমাকে এটি একটি স্ট্রিং করা যাক. এবং এখন সমান সাইন ইন করুন. সমান চিহ্ন কি মূলত সমতুল্য? শ্রোতা: ধার্য করুন. ডেভিড জে MALAN: হ্যাঁ, একটি মান নির্ধারণের. সুতরাং যদি আমি, উদাহরণস্বরূপ, কল এই ফাংশন GetString, এবং আমরা যে একটি মুহূর্ত দেখতে পাবেন একটি স্ট্রিং জন্য ব্যবহারকারীকে অনুরোধ জানানো যাচ্ছে. এই সম্পর্কে তারপর লিখুন লেট ভালো হয় : D একটি বনাম আমি-D কাগজ এক টুকরা উপর. এবং আমি স্ট্রিং যখন গুলি, সমান GetString সমান সত্যিই মানে না সি প্রোগ্রামিং সমান. এটা অধিকার, দায়িত্ব অর্পণ করা মানে বাম দিকে দিকে. তাই আমি একটি স্ট্রিং অর্জিত করেছি. এবং সমান চিহ্ন এটা করা মানে স্টোরেজ ধারক এর বলা হয়. এবং তারপর থেকে বন্ধ এই পাস printf, আসলে তার জিনিস করতে. আমি তখন শেষ ফলাফল যাচ্ছে একটু ভিন্ন চেহারা. এর হ্যালো-2 করতে না দেওয়া. হয় কাজ করতে পারেন. আপনি বরাবর অনুসরণ করছেন. হ্যালো-2 কাজ করুন. বিন্দু হ্যালো-2, লিখুন কাট. আমি একটি অসীম আছে বলে মনে হচ্ছে লুপ বা কিছু. কিছুই ঘটছে. কেন? শ্রোতা: এটি একটি অসীম লুপ এর ফলে. ডেভিড জে MALAN: এটি একটি অসীম লুপ. এটা কোন ধরনের আমার জন্য অপেক্ষা করছে আসলে কিছু ইনপুট দিয়ে এটি প্রদান. তাই আমাকে এগিয়ে যান এবং টাইপ করুন ডেভিড, এবং আঘাত লিখুন. এবং এখন এটা "হ্যালো, ডেভিড." বলছেন আমি আবার চালানো. এর রব, টাইপ করা যাক "হ্যালো, রব." এখন এই খারাপ হয় কখনও ইউজার ইন্টারফেস. ব্যবহারকারী দৃশ্যত কি জানি অনুমিত. কিন্তু কোন ব্যাপার. এই একই বিল্ডিং ব্যবহার করে শয়তান মত ব্লক, আমরা যে সমস্যার সমাধান এবং বলতে পারেন দয়া করে আপনার নামের মত কিছু, কোলন, স্থান, বন্ধ, কোট বন্ধ প্রথম বন্ধনী, সেমিকোলন. তাই অনেক আবার সিনট্যাক্স সঙ্গে মূর্খতা. কিন্তু আমি শুধু একটি যোগ করেছি বিজ্ঞপ্তি এই এক উপরে পাজল টুকরা এবং এই এক উপরে. তাই এখন আমি এই পুন: প্রকাশ করা হলে, হ্যালো-2, লিখুন. একটি মিনিট অপেক্ষা করুন. কি সমস্যা? এটা ভিন্নভাবে কোনো ব্যবহার না. হ্যাঁ. শ্রোতা: আপনি আবার করতে না চালানোর জন্য. ডেভিড জে MALAN: আমি না ঠিক আছে, আবার চালানো. তাই আমি আমার সোর্স কোড পরিবর্তন করেছেন. কিন্তু আবার, যে প্রবাহ আছে. কম্পাইলার মাধ্যমে সোর্স কোড দেয় আপনি নতুন অবজেক্ট কোড, বা 0 সেঃ এবং 1s. আমি আসলে প্রয়োজন হ্যালো-2 লিখুন পুন: প্রকাশ করা. ঠিক আছে, কিছু ঘটেছে বলে মনে হয়. বিন্দু হ্যালো-2 কাট. আপনার নাম দয়া করে. এবং এখন পরিষ্কার হবে, কেন একই লাইনে কার্সারটি? ঠিক. আমি ব্যাকস্ল্যাশ করা না এন এখানে আমার কোড. তাই এখন আমি লিখতে পারেন Daven মত কিছু লিখুন. আমি আবার চালানো এবং টাইপ করতে পারেন গেব মত কিছু, লিখুন, এবং আমরা একটি ভিন্ন প্রোগ্রাম পাওয়া আবার এবং আবার এবং আবার. এখন পর্যন্ত আমরা প্রয়োজন চলুন কয়েক বিভিন্ন ক্ষমতা ব্যবহার করার জন্য. আমরা শেষ পর্যন্ত কিছু প্রবর্তন করা প্রয়োজন শর্ত শর্তসাপেক্ষে কিছু করার. হয়তো তাই আমরা কি করতে পারি loops আবার এবং আবার কিছু. হয়তো এটা আমরা যদি সুন্দর হবে আমাদের নিজস্ব ফাংশন বাস্তবায়ন করতে পারে, মত আমরা আমাদের নিজস্ব বাস্তবায়ন হতে পারে printf, বা GetString আমাদের নিজস্ব সংস্করণ এবং GetFlow, কারণ শেষ পর্যন্ত এমনকি এই কমান্ড লাইন পরিবেশ ব্যবহার করে আমরা এমনকি সবচেয়ে করতে পারেন জিনিস চাক্ষুষরূপে আকর্ষণীয়. প্রকৃতপক্ষে উপসংহার আমাকে এই কাজের জন্য. আমি এগিয়ে যেতে চলেছি এবং এই উইন্ডো বন্ধ করুন এবং এখানে এই আইকন খুলুন, যা শুধু একটি বড় যে সংস্করণ এমবেডেড টার্মিনাল উইন্ডোতে. সুতরাং gedit না শুধুমাত্র আছে আমার কোড জন্য জায়গা, কিন্তু একটি টার্মিনাল উইন্ডোর মধ্যে নির্মিত, আমি রান করতে পারেন যেখানে কালো এবং সাদা উইন্ডোতে কমান্ড. আমি খুলতে ঘটেছে এই একটি বড় সংস্করণ. এবং এখন আমি ঢোকা যাচ্ছে না আমি ইতিমধ্যে করেছি যে ফোল্ডার অবশ্যই এর ওয়েবসাইটে অগ্রিম করা. এবং আমি এগিয়ে যান যাচ্ছে এবং , thadgavin.c নামক একটি ফাইল খুলুন যা অন্য কেউ দ্বারা লিখিত হয়. এবং আমরা এই তাকান, এই কোড ধরনের নয় আমরা যেহেতু লেখা হবে এই কোড লক্ষ্য তবে prettiest লিখতে ছিল যে সে পারে কোড খুঁজছেন, নির্বিশেষে কিনা বা না অন্য মানুষের কখনও পারে এই কোড বুঝতে. প্রকৃতপক্ষে, প্রতি বছর কি আছে একটি obfuscated সি প্রতিযোগীতার, বলা যা যারা লিখতে বাস্তব geeks জন্য হয় অন্য কোন এক পড়তে পারেন যে কোড, কিন্তু যে হয় কিছু আছে সত্যিই সহজ বা সত্যিই আশ্চর্যজনক. এবং আমরা চাই এই বর্ণন সঙ্গে শেষ করা বেশ আশ্চর্যজনক কিছু যে এ আপনি একবার আগে দেখা হতে পারে. কিন্তু আমরা এই শেষ করব নোট, বিন্দু স্ল্যাশ, thadgavin. এই তারপর awaits. যে CS50 জন্য এটি. আমরা বুধবার আপনি দেখতে পাবেন. [সঙ্গীত বাজানো]