أقسام الوصول السريع (مربع البحث)

آخر الأخبار

ما هي البرمجة

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

#تعلم_البرمجة
Scratch Programming

ما هي البرمجة؟ | أساسيات البرمجة للمبتدئين

هي عملية تقسيم المهام إلى أوامر وتعليمات وتوجيهات تُقدَّم للhardware بلغة مفهومة للإنسان، ليتم بعد ذلك ترجمتها إلى لغة يفهمها الجهاز، تُستخدم هذه الأوامر في توجيه الجهاز وإخباره بكيفية التعامل مع البيانات، واستقبال المدخلات، ومعالجتها، ثم إخراجها كمخرجات. وتشمل هذه العملية أيضًا تنفيذ الخوارزميات(الخوارزميه :مجموعة خطوات تحدد ما يجب على الجهاز فعله توضح كيف يجب فلعة تستخدم لحل المشكلات الرياضية ومعالجة البيانات واتخاذ القرارات).

Scratch Example

مثال برمجة سكراتش: نرى لعبة تم تصميمها باستخدام برنامج Scratch، وهو بيئة برمجة مرئية تُستخدم لتعليم الأطفال والمبتدئين أساسيات البرمجة.

الهدف: وصول الى الكرة.

التسلسل:

  1. "تحرك خطوة واحدة إلى الأسفل"
  2. "لف لليمين"
  3. "تحرك خطوة واحدة "
  4. "لف لليسار"
  5. "تحرك خطوة واحدة"

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

كيف تعمل لغات البرمجة؟

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

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

لفهم الية عمل لغات البرمجة، من المهم أن نتعرف على ال Abstraction level يعني إخفاء التفاصيل المعقدة والتركيز فقط على ما هو ضروري في كل مستوى. لغات البرمجة تختلف في مستوى قربها من الآلة (الحاسوب) أو من الإنسان، وتقسم عادة إلى:

  1. لغات منخفضة المستوى (Low-Level Languages): أقرب ما يكون إلى لغة الآلة، تُكتب باستخدام أرقام ثنائية (0 و1) صعبة جدًا على البشر لكنها سريعة جدًا في التنفيذ مثال: لغة الآلة(Machine Language) ، ولغة التجميع (Assembly).
  2. اللغات متوسطة المستوى (Mid-Level Languages): تُوازن بين التحكم في الجهاز وسهولة البرمجة، تسمح للمبرمج بالوصول إلى مكونات الحاسوب، ولكن بلغة أقرب للفهم البشري، مثال: لغة c.
  3. اللغات عالية المستوى (High-Level Languages): تُشبه اللغة البشرية، تُستخدم لكتابة البرامج بطريقة سهلة ومبسطة، مثال:java,c++,ruby,python.

فعندما تكتب كود بلغة عالية المستوى مثل Python، يُترجم الكود (عن طريق مترجم أو مفسر) إلى لغة منخفضة المستوى يفهمها المعالج. كلما زاد مستوى الفهم البشري قلت الحاجة للتعامل مع تفاصيل الجهاز، وزادت سهولة التطوير.

هناك الاف من اللغات البرمجيه يتم اختيار اللغه المناسبة حسب الهدف المراد تحقيقه مثلا نستخدم لغه الjavascript للتطبيقات المتكاملة عبر الويب والسيرفر والألعاب ،اما لغة java تُستخدم في بناء تطبيقات المؤسسات ونظام أندرويد، ولغتي c وc++ من أقدم اللغات تستخدم في تطوير أنظمة مدمجة (IoT) وفهم أعمق للأساسيات البرمجية.

الأدوات اللازمة للبدء في تعلم البرمجة

تحتاج إلى حاسوبٍ بمواصفات جيدة (ليس من الضروري أن يكون من أفضل الحواسيب، وإنما أن يمتلك مقدارًا جيدًا من الذاكرة العشوائية الRAM)، اتصال بالانترنت للوصول للمكتبات و موارد التعلم.

أما بخصوص أدوات التطوير، فستحتاج إلى برمجية لكتابة الشيفرات، وهنالك نوعان رئيسيان لها:

  1. المحررات النصية: مثل Visual Studio Code أو Atom أو Sublime Text أو Bracktes أو Notepad++‎ وهذه المحررات النصية بسيطه، وتوفر ميزات أساسية مثل تلوين الشيفرات"الcode"، وبعض ميزات الإكمال التلقائي، وتدعم أغلبيتها إضافات لزيادة وظائفها. وظيفة هذه المحررات النصية عمومًا هي تعديل الشيفرات بسهولة وسرعة. ننصحك بتجربة Visual Studio Code لشهرته حاليًا وكثرة إضافاته ودعمه الممتاز من شركة Microsoft.
  2. بيئات التطوير المدمجة: مثل Visual Studio و Eclipse و Android Studio و NetBeans و Apple Xcode وغيرها. وهذه البيئات توفر ميزات أكثر بكثير من المحررات النصية، مثل تشغيل الشيفرات وتنقيحها (debugging) وميزات التحكم بالإصدارات (version control) والاتصال بقواعد البيانات وخلاف ذلك.