مشروع البرمجة الأول الخاص بك #
لبرمجة هي وسيلة اتصال بيننا وبين الحاسوب. إنه اتصال أحادي الاتجاه في المقام الأول: فنحن نقول للحاسوب ما يجب فعله. لا يستجيب الحاسوب إلا عندما لا يفهم شيئًا.
على عكس الاتصال بالبشر الآخرين، عند الاتصال بجهاز حاسوب، نحتاج دائمًا إلى تذكّر أننا نتحدث إلى كيان غير ذكي يحتاج إلى إخباره بكل شيء خطوة بخطوة بطريقة واضحة لا لبس فيها. لا يمكننا أن نأخذ أي شيء كأمر مسلم به.
البرمجة هي عقلية وطريقة تفكير تختلف عن طريقة تفكيرنا الطبيعي. غالبًا ما تسمع مبتدئين يقولون إنهم يتعلمون لغة برمجة. ومع ذلك، فإن أول شيء يجب تعلمه هو البرمجة. اللغة مطلوبة، لكنها ليست أهم شيء نحتاج إلى معرفته.
ما هي البرمجة ولماذا نحتاجها؟ #
أنت في المنزل في وقت متأخر من بعد ظهر أحد الأيام وتتصل بك زوجتك:Dinner will be ready in 20 minutes. Can you get the tomatoes ready, please?سيكون العشاء جاهزًا في غضون 20 دقيقة. هل يمكنك تجهيز الطماطم من فضلك؟ما ستفعله بعد ذلك يعتمد على الوصفة. قد يشمل ذلك شطف الطماطم تحت صنبور المياه في حوض المطبخ، وتقطيعها جيدًا وتتبيلها بالملح والفلفل وبعض زيت الزيتون، ربما.تخيل الآن أن زوجتك قد اتصلت بالعبارة التالية المشابهة جدًا:Dinner will be ready in 20 minutes. Can you get the children ready, please?سيكون العشاء جاهزًا في غضون 20 دقيقة. هل يمكنك تجهيز الأطفال من فضلك؟هنا، من الأفضل عدم شطف الأطفال تحت الحوض أو رشهم بالملح والفلفل. ربما ستتأكد من تنظيفهم وغسل أيديهم، على سبيل المثال.نحويًا، الجمل أعلاه متطابقة. كل ما فعلناه هو استبدال اسم الجمع “طماطم” مع اسم جمع آخر “الأطفال”. يعتمد البشر على السياق عند التواصل مع البشر الآخرين. تخبرنا خبراتنا أن تحضير الطماطم مهمة مختلفة تمامًا عن تحضير الأطفال. لا تستطيع أجهزة الحاسوب القيام بذلك.عندما نتواصل مع جهاز حاسوب، نحتاج إلى أن نكون واضحين للغاية ومحددين بشكل لا لبس فيه. فهم هذه النقطة الحاسمة هو الخطوة الأولى والأساسية نحو فهم برمجة الحاسوب.دعونا نلقي نظرة على مثال آخر. اقرأ العبارة التالية:say Happy Birthdayقل عيد ميلاد سعيدوالآن ضع في اعتبارك ما يلي:my name is Stephensay my nameاسمي ستيفنقل اسميهذه العبارات البسيطة يسهل علينا نحن البشر فهمها والاستجابة لها. جانبان مهمان يجعلان هذا ممكنا.أولاً، نتعرف على كلمة “قل” على أنها الأمر المطلوب منا القيام به. ثانيًا، كما رأيتم أعلاه، نحن نفهم سياق العبارة، وهذا هو سبب تفاعلنا بشكل مختلف مع العبارتين.في المقطع الأول، قمنا بفصل الكلمات الثلاث في الفعل والمعلومات التي يُطلب منا قولها: عيد ميلاد سعيد.يحتاج الحاسوب إلى معرفة ما هو الأمر. في بايثون Python، سنستخدم الدالة المضمنة print () للمثال أعلاه. هذه إحدى كلمات بايثون الأساسية، ويتبعها أقواس (). الأقواس، وحقيقة أن أمر الطباعة print مكتوب بأحرف صغيرة يشير إلى أن هذه دالة.فكر في الدالة كمكافئ للفعل. إنه يمثل إجراء يجب القيام به. السياق ليس كافيًا، كما هو الحال بالنسبة لنا نحن البشر، نقول عيد ميلاد سعيد.الآن دعونا نلقي نظرة على الفرق بين قول عيد ميلاد سعيد ونقول اسمي. إن بنية هذه العبارات متشابهة جدًا، ولكن ما لم يكن شخص ما مضحكا عن عمد، فإن الإجابة على التعليمات الثانية ستكون ستيفن، وليس كلمات اسمي. مرة أخرى، نحن البشر نفهم السياق بسهولة، لكن الحاسوب يحتاج إلى المساعدة في التمييز بين الاثنين.في Python، يمكنك تمثيل العبارة الأولى أعلاه بسطر الكود:print(“Happy Birthday”)يمكنك كتابة الزوج الثاني من العبارات على النحو التالي:my_name = “Stephen”print(my_name)تُخبر علامات التنصيص “” الحاسوب أن كل ما بداخلها هو مجرد سلسلة من الأحرف ليس لها معنى للحاسوب ولكن سيتمكن الإنسان من فهمها. نسمي هذا النوع من المعلومات في البرمجة باسم السلسلة String، وهي اختصار لسلسلة من الأحرف.في المثال الثاني، تطلب أولاً من بايثون Python إنشاء شيء أسمته my_name وتخزين السلسلة “Stephen” بداخلها. بعد ذلك، تطلب من الحاسوب طباعة كل ما يتم تخزينه في my_name. صندوق التخزين هذا الذي سميته my_name هو ما يشار إليه بالمتغير في بايثون Python. ستجد المزيد حول تخصيص البيانات لأسماء المتغيرات في الأقسام التالية.سيستجيب بايثون Python بطريقة مختلفة لطباعة (my_name) مقارنة بطباعة (“my_name”).لكتابة برامج يستطيع الحاسوب فهمها، عليك التفكير بطريقة مشابهة لكيفية عمل الحاسوب. من المفيد التفكير في الحاسوب كجهاز غبي يتطلب منك أن تكون واضحًا جدًا فيما تقوله له، دون اعتبار أي شيء أمرًا مفروغًا منه.