تهيئة بيئة العمل: تثبيت Python وVisual Studio Code

في هذا الدرس التمهيدي من سلسلة "فكّر كمبرمج بايثون"، سنُعد بيئتنا البرمجية خطوة بخطوة: سنثبت Python ونجهز Visual Studio Code لبدء كتابة وتشغيل أول أكوادك بسهولة. ستتعلم الفرق بين المفسّر ومحرر الأكواد، وكيف تدير مشروعك الصغير بثقة.

تهيئة بيئة العمل: تثبيت Python وVisual Studio Code

أهداف التعلم

بنهاية هذا الدرس، ستكون قادرًا على:

  • تثبيت لغة Python على جهازك بنجاح.
  • إعداد بيئة تطوير متكاملة باستخدام Visual Studio Code.
  • تشغيل أول ملف Python من داخل المحرر.
  • فهم الفرق بين المفسّر (Interpreter) ومحرر الأكواد (Editor).

خارطة التعلم

  • من التحضير إلى التنفيذ
  • نثبت Python ونفهم ماذا يعني "مفسّر".
  • نكتشف واجهة VS Code ونضبط الإعدادات الضرورية.
  • نكتب أول كود من داخل المحرر.
  • نتعرف على الأخطاء الشائعة أثناء الإعداد.

المتطلبات السابقة

  • إتمام الدرس الأول وفهم مفهوم البرمجة.
  • اتصال بالإنترنت لتحميل الأدوات المطلوبة.

لحظة البداية

هل يمكن أن تتعلم الموسيقى بدون آلة موسيقية؟ بنفس الفكرة، لا يمكنك أن تتعلم البرمجة دون “أدوات البرمجة”. Python هي اللغة، وVS Code هو مسرح الإبداع الذي سنكتب عليه قصصنا البرمجية. لنبدأ بإعداد المسرح.

قبل أن تكتب الأكواد، يجب أن نهيئ البيئة التي سنعمل فيها. سنقوم بخطوتين أساسيتين:

  • تثبيت Python — وهي اللغة التي يتحدث بها حاسوبك معك.
  • إعداد VS Code — وهو المكان الذي سنكتب فيه تلك اللغة بطريقة منظمة وجميلة.

كلا الأداتين مجانيتان ومتاحتان لكل أنظمة التشغيل (Windows, macOS, Linux). ستكتشف أن إعداد البيئة البرمجية ليس معقدًا كما يبدو!

🧠 سؤال تمهيدي: ما الفرق بين برنامج "يُنفذ الأكواد" وبرنامج "يكتب الأكواد"؟

شرح المفهوم خطوة بخطوة

أولًا: ما هو مفسّر بايثون (Python Interpreter)؟

كل لغة برمجة تحتاج إلى مترجم أو مفسّر يفهم أوامرك ويحولها إلى تعليمات يفهمها الحاسوب. عندما تثبت Python على جهازك، فأنت في الحقيقة تثبت هذا المفسّر.

يمكنك التحقق مما إذا كانت بايثون مثبتة عبر سطر الأوامر:

python --version

أو في بعض الأنظمة:

python3 --version

إذا ظهرت لك نتيجة مثل:

Python 3.12.0

فأنت جاهز للانطلاق ✅

ثانيًا: تحميل وتثبيت Python

انتقل إلى الموقع الرسمي: python.org/downloads

  • اختر الإصدار المناسب لنظامك (Windows / macOS / Linux).
  • أثناء التثبيت على Windows، تأكد من تفعيل خيار Add Python to PATH (يسمح للنظام بالتعرف على Python في أي مكان).

بعد التثبيت، افتح الطرفية (Terminal أو CMD) واكتب:

python

سيظهر لك مفسّر Python التفاعلي. 🤔 هل لاحظت أن بايثون تُنفّذ الأوامر فورًا؟ هذا هو سحر كونها لغة مفسّرة وليست مترجمة.

ثالثًا: ما هو Visual Studio Code؟

Visual Studio Code (VS Code) هو محرر أكواد مجاني من Microsoft. يُعد من أكثر الأدوات استخدامًا لأنه خفيف وسريع، ويدعم عشرات اللغات، ويملك إضافات (Extensions) قوية.

خطوات التثبيت:

  1. قم بزيارة الموقع الرسمي: code.visualstudio.com
  2. اختر نظام التشغيل الخاص بك، ثم ثبّت البرنامج.
  3. افتح البرنامج وستظهر لك واجهته النظيفة والبسيطة.

رابعًا: إعداد VS Code للغة Python

  1. من قائمة Extensions (رمز المربعات)، ابحث عن: Python (by Microsoft) ثم اضغط Install.
  2. افتح مجلد مشروع جديد: File → Open Folder.
  3. أنشئ ملفًا جديدًا باسم: hello.py

اكتب الكود التالي:

print("Hello from inside VS Code!")

لتشغيله، اختر:

  • Run → Run Without Debugging
  • أو استخدم الاختصار: Ctrl + F5

يجب أن ترى النتيجة في الـ Terminal:

Hello from inside VS Code!

تهانينا! لقد نفّذت أول برنامجك من داخل VS Code 

تمثيل بصري

[ فكرة برمجية ]
   ↓
[ كتابة الكود داخل VS Code ]
   ↓
[ تنفيذ الكود عبر Python Interpreter ]
   ↓
[ النتيجة على الشاشة ]

التطبيق العملي

اكتب برنامجًا بسيطًا داخل VS Code:

# تجربة تشغيل بايثون داخل VS Code
print("Python is ready!")
print("VS Code works great!")

 هل لاحظت أن كل سطر طباعة يظهر في سطر جديد؟ هذه هي طبيعة print() — تفصل بين المخرجات تلقائيًا.

تحليل الكود

السطر الكود الوصف
1 # تجربة تشغيل بايثون تعليق يشرح ما يفعله البرنامج
2 print("Python جاهزة!") دالة طباعة تظهر النص على الشاشة
3 print("VS Code يعمل بكفاءة!") سطر آخر من المخرجات

دراسة حالة واقعية

علي طالب بدأ رحلته في البرمجة. في البداية كان يكتب الأكواد في مفسّر Python مباشرة، لكن ذلك أصبح مرهقًا. بعد استخدام VS Code، أصبح بإمكانه حفظ مشاريعه وتنظيمها بسهولة، وإضافة مكتبات جديدة بضغطة زر واحدة. هذه هي قوة البيئة الاحترافية — تجعل المبرمج يفكر في المنطق بدل الأدوات.

تحدّي واقعي

جرّب تنفيذ الخطوات التالية:

  1. أنشئ ملفًا باسم intro.py.
  2. اكتب فيه سطرين: سطر يرحب بالمستخدم، وسطر يعرض تاريخ اليوم باستخدام datetime.
import datetime

print("Hey there!")
print("Today's date:", datetime.date.today())

🤔 هل يمكنك استيراد المكتبة بنفسك؟ تلميح: استخدم الكلمة import.

زاوية السوق

في بيئات العمل الحديثة، نسبة كبيرة من المطورين يستخدمون VS Code لإدارة المشاريع السريعة. تعلمك العمل عليه من البداية يمنحك ميزة احترافية في مسارك البرمجي.

تتبّع التنفيذ

الخطوة العملية النتيجة ملاحظات
1 تثبيت Python ✅ تم التثبيت بنجاح
2 تثبيت VS Code ✅ جاهز
3 تثبيت Extension الخاصة ببايثون ✅ تم
4 تنفيذ كود تجريبي ✅ المخرجات صحيحة 🎉 النجاح

التدريبات المتدرجة

  • المستوى 1: تحقق من إصدار Python على جهازك.
  • المستوى 2: اكتب كود يطبع اسمك وعمرك داخل VS Code.
  • المستوى 3 (تحدي): اكتب برنامجًا يحسب عدد الحروف في اسمك باستخدام دالة len().

أختبار تطبيقي

لو لم تعمل Python داخل VS Code، ما الخطوة الأولى التي ستفكر بها؟ (تلميح: تأكد من أن Python مضافة إلى PATH).

تقييم ذاتي

المهارة أتقنتها ✅ أحتاج مراجعة 🔁
تثبيت Python 🔁
إعداد VS Code 🔁
تشغيل كود من داخل المحرر 🔁
فهم الفرق بين المفسّر والمحرر 🔁

ما وراء الكود

إعداد البيئة البرمجية هو أول اختبار حقيقي في طريق المبرمج. ليس المهم أن تسير بسرعة، بل أن تبدأ على أرض ثابتة. اليوم هيأت بيئتك، وغدًا تبدأ التفكير المنطقي الذي يصنع المبرمجين الحقيقيين.

ملخص الدرس

  • Python تحتاج إلى مفسّر لكي يفهم الأكواد.
  • VS Code هو أفضل بيئة لتطوير مشاريعك بسرعة.
  • تثبيت الأدوات الصحيحة يوفّر عليك ساعات من المشكلات.
  • كل مبرمج محترف بدأ من إعداد بسيط مثلك اليوم.

❓ أسئلة المراجعة

  • ما وظيفة مفسّر بايثون؟
  • كيف يمكن تشغيل كود Python داخل VS Code؟
  • ما فائدة تفعيل خيار Add Python to PATH أثناء التثبيت؟
  • ما أول إضافة (Extension) يجب تثبيتها في VS Code؟

نصائح للمبرمج المبتدئ

  • فعّل Auto Save في VS Code لتجنّب فقدان عملك.
  • استخدم لوحة الأوامر (Ctrl + Shift + P) للوصول السريع لأي إعداد.
  • دوّن كل مشكلة واجهتها أثناء الإعداد؛ حلّها لاحقًا سيكون أسهل.

تلميح للمشروع القادم

في الدرس القادم سنتعلم المتغيرات وأنواع البيانات — كيف “يتذكّر” الحاسوب المعلومات ويتعامل معها بذكاء. ستبدأ ببناء برنامج يتفاعل مع المستخدم ويُخزّن بياناته.

لوحة الإنجاز

الإنجاز الشارة
ثبتّ Python بنجاح 🐍 مفسّر جاهز
أعددت VS Code للعمل 🧩 بيئة احترافية
نفذت أول كود من داخل المحرر 🚀 مطور ناشئ
عادل محمد
عادل محمد
محرر وكاتب تقني متحمس للتكنولوجيا والبحث عن أحدث الأخبار والابتكارات التقنية. يسعى لتوفير محتوى شيق ومفيد يشمل الأخبار والكورسات في مختلف المجالات التقنية. بفضل خبرته ومهاراته في التحرير والكتابة، يقوم بتحليل وتلخيص الموضوعات التقنية بطريقة سلسة.
تعليقات



function initializeIntersectionObserver(elements,options={threshold:0.1,rootMargin:'0px 0px -50px 0px'}){const observer=new IntersectionObserver((entries)=>{entries.forEach(entry=>{if(entry.isIntersecting){entry.target.style.opacity='1';entry.target.style.transform='translateY(0)'}})},options);elements.forEach(el=>{el.style.opacity='0';el.style.transform='translateY(30px)';el.style.transition='opacity 0.6s ease, transform 0.6s ease';observer.observe(el)})} function initializeSmoothScrolling(){document.querySelectorAll('a[href^="#"]').forEach(anchor=>{anchor.addEventListener('click',function(e){e.preventDefault();const target=document.querySelector(this.getAttribute('href'));if(target){target.scrollIntoView({behavior:'smooth',block:'start'})}})})} function initializeLazyLoading(images){const imageObserver=new IntersectionObserver((entries,observer)=>{entries.forEach(entry=>{if(entry.isIntersecting){const img=entry.target;img.src=img.dataset.src||img.src;img.classList.remove('lazy');imageObserver.unobserve(img)}})});images.forEach(img=>{img.dataset.src=img.src;img.classList.add('lazy');imageObserver.observe(img)})} function debounce(func,wait){let timeout;return function executedFunction(...args){const later=()=>{clearTimeout(timeout);func(...args)};clearTimeout(timeout);timeout=setTimeout(later,wait)}} document.addEventListener('DOMContentLoaded',()=>{initializeSmoothScrolling();initializeLazyLoading(document.querySelectorAll('img'));initializeHeroSection();initializeFeaturedLessons();initializeBeginnersGuide();initializeRecentProjects();initializeNewsletter();initializeFAQ();initializeLatestArticles()})