تكنولوجيا

البرمجة

تعريف البرمجة

تعريف البرمجة

  • تعرف بأنها عملية كتابة تعليمات وتوجيه أوامر لجهاز الحاسوب أو أي جهاز آخر مثل قارئات أقراص الدي في دي أو أجهزة استقبال الصوت والصورة في نظم الاتصالات الحديثة، لتوجيه هذا الجهاز وإعلامه بكيفية التعامل مع البيانات أو كيفية تنفيذ سلسلة من الأعمال المطلوبة تسمى خوارزمية.
  • وتتبع عملية البرمجة قواعد خاصة باللغة التي اختارها المبرمج. وكل لغة برمجة لها خصائصها التي تميزها عن الأخرى وتجعلها مناسبة بدرجات متفاوتة لكل نوع من أنواع البرامج وحسب المهمة المطلوبة من هذا البرنامج. كما أن اللغات البرمجية أيضا لها خصائص مشتركة وحدود مشتركة بحكم أن كل هذه اللغات صممت للتعامل مع الحاسوب. وتتطور لغات البرمجة (السوفتوير Software) بتطور عتاد الحاسوب المرئي (الهاردوير Hardware).

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

  • لغات البرمجة تمكننا من التواصل مع الحاسوب عبر إعطائه توجيهات وتعليمات يمكن أن يفهمها وينفّذها، لغات البرمجة مثلها مثل اللغات البشرية لها قواعد صارمة يجب اتباعها والتقيد بها، يُقدر أنّ هناك ما بين 500 إلى 2000 لغة برمجة نشطة تستخدم للأغراض العامة طبقًا لبعض الإحصاءات، وهو عدد كبير جدا، لكن أغلبية المبرمجين في العالم لا يستخدمون سوى بضع عشرات منها فقط.
  • الحاسوب لا يفهم لغات البرمجة بشكل مباشر، فهو لا يفهم إلا لغة واحدة، وهي اللغة الثنائية (binary)، والتي تتكون من تتابع للقيمتين 1 و 0 (ومن هنا تأتي التسمية)، لذلك عادة ما تتم ترجمة لغات البرمجة إلى اللغة الثنائية عبر برنامج يُسمى المُترجم (compiler) قبل أن يقوم الحاسوب بتنفيذها.
  • تبدأ أساسيات البرمجة من الكود البرمجي -أو الشيفرة البرمجية كما يسميها البعض- وهي مجموعة التعليمات المكتوبة باستخدام لغة برمجة معينة، هذه الأكواد هي عبارة عن تعليمات يقوم الحاسوب بتنفيذها بالتتابع، هذه التعليمات قد تكون قراءة محتوى ملف مثلا، أو رسم شكل ما، أو القيام بعملية حسابية.

إلّا أن مفاهيم البرمجة الأساسية تكاد تكون مشتركة في أغلب اللغات، وهو ما سيسهّل عليك تعلم البرمجة بأي لغة تو إتقان مفاهيم و أساسيات البرمجة تلك مثل:

  1. الثوابت:
    وهي القيم الثابتة التي يتم تعريفها بادئ الأمر، ولا تتغير لاحقًا في أي مرحلة من مراحل تنفيذ البرنامج كالثوابت الرياضية على سبيل المثال.
  2. المتغيرات:
    عكس الثوابت؛ فهي قيم قابلة لتغيير قيمتها في الذاكرة وقتما تكون هناك حاجة لذلك ضمن آلية عمل البرنامج.
  3. الجمل الشرطية:
    وهو اشتراط تحقُّق شرط محدد ليتم تنفيذ المطلوب كقاعدة If-Then التي تشترط حدوث ما بعد (If) ليتم تحقيق ما بعد Then.
  4. الدوال:
    هي مجموعة أوامر أشبه ببرنامج صغير يقوم بمهمة واحدة فقط.
  5. الحلقات التكرارية:
    برمجية هدفها تنفيذ أجزاء محددة من الكود البرمجي عدة مرات محددًا لها متى تبدأ وتنتهي، وعدد مرات التكرار.

أنواع لغات البرمجة

يوجد من لغات برمجة ما لا يمكن عدّه أو حصره، ولكلّ من هذه اللغات ميّزاتها واستخداماتها، ومن بعض لغات البرمجة الشائعة ما يأتي:

  • لغة سي (بالإنجليزيّة: C): هي لغة برمجة عالية المستوى ذات استخدام عامّ، تمَّ إنشاؤها في السبعينات من القرن الماضي في مختبرات بيل (بالإنجليزيّة: Bell Labs) على يد دينيس ريتشي (بالإنجليزيّة: Dennis Richie)، وهي تُعد لغة مثاليّة لكتابة البرامج الثابتة (بالإنجليزيّة: Firmware) والمتنقّلة (بالإنجليزيّة: Portable).
  • لغة بايثون (بالإنجليزيّة: Python): هي لغة برمجة مُفسَّرة كائنيّة التوجُّه (بالإنجليزيّة: Object-oriented)، تتميَّز بسهولة تعلُّمها وقلّة تعقيدها، بالإضافة لإمكانيّة تشغيل برامجها على عدّة نُظُم تشغيل.
  • لغة الجافا (بالإنجليزيّة: Java): هي لغة برمجة عالية المستوى ذات استخدام عامّ، بالإضافة إلى كونها كائنيّة التوجُّه، تمَّ إنشاؤها من قِبَل شركة صَن مايكروسيستمز (بالإنجليزيّة: Sun Microsystems) في عام 1991م، وحاليّاً تخضع لشركة أوراكل (بالإنجليزيّة: Oracle)، بعد أن قامت الأخيرة بشراء شركة صَن في عام 2009م. بحسب إحصائيّة من شركة أوراكل، فإنَّه في الوقت الحالي، يوجد أكثر من 9 ملايين مبرمج يستخدم لغة جافا.
  • لغة السي بلس بلس (بالإنجليزيّة: ++C): هي لغة برمجة عالية المستوى ذات استخدام عامّ، تتميَّز بكونها شبيهة إلى حدّ كبير بلغة سي، إلّا أنّها أيضاً تدعم البرمجة كائنيّة التوجُّه، والتي يمكن للمبرمج الاستفادة منها أو البرمجة بلغة سي الاعتياديّة دون الحاجة للتقيُّد بالبرمجة كائنيّة التوجُّه.

تعلم البرمجة باللغة العربية

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

أهمية تدريس البرمجة في القرن 21

  • نعيش اليوم في عالم رقمي متجدد و متغير، فقد أصبح خلف جميع ما يحيط بنا من أعمال و تجارة و تسوق و علوم و اختراعات و صحة و طيران و حكومات برمجيات تديرها و تتحكم بها، لذا دعت الحاجة إلى التفكير بعمق في تدريس وتعليم الطلاب علوم الحاسبات و التفكير الخوارزمي (الحسابي) و البرمجة في مراحل مبكرة من التعليم.
  • علينا أن نفكر في عالمنا العربي كيف نزود أبنائنا الطلاب بمهارات القرن 21 وبذلك نجعلهم قادرين على أن يبنوا مجتمعاتهم و يطوروها، إذ تعتبر التقنية إحدى الطرق المهمة إن لم تكن هي أساس هذا التطور في العصر الحالي.
  • ولذلك نجد دولا مثل استونيا قامت بتدريس البرمجة من المرحلة الابتدائية منذ عام ،2012 و حذت حذوها بريطانيا العام الماضي، كما نجد أن الولايات المتحدة من خلال عملاقي البرامج والحاسبات (جوجل و مايكروسوفت) دعمت و أسست منظمة ساعة برمجة العالمية Code.org لدعم تعلم البرمجة في سن مبكرة، حيث تنظم سنويا حدث “ساعة برمجة” في مختلف أنحاء العالم ويقوم بالإعلان عنه و الترويج له شخصيات لها تأثير في العالم الغربي، وهذا دليل على أهمية ودعم الحكومات لتعلم البرمجة في مراحل مبكرة من التعليم.
  • إن طلابنا اليوم محاطون بالأجهزة المختلفة و البرمجيات، مما يستوجب علينا تعليمهم كيفية عملها حتى يفكروا و يبتكروا أجهزة و برمجيات و تطبيقات جديدة ومختلفة، وذلك من خلال تعزيز فهمهم للبرمجة.
  • وعلينا أن نعي أنه ليس بالضرورة كل من درس البرمجة سوف يصبح مبرمجا أو سوف يحصل على وظيفة علوم و تقنيات الحاسبات. فنحن ندرس طلابنا مواد مثل الرسم دون أن يعني هذا أن كل من درسها أصبح رساماً.

آليّة عمل لغات البرمجة

  • عند الكتابة باستخدام لغة برمجة معيّنة، فيتم اللجوء إلى استخدام برنامج معيَّن يُسمّى بالمحوِّل البرمجي (بالإنجليزيّة: Compiler)، إذ يقوم هذا البرنامج بتحويل لغة البرمجة إلى لغة الآلة (بالإنجليزيّة: Machine code) التي يستطيع جهاز الحاسوب فهمها. يقوم المبرمج بكتابة الكود باستخدام أي برنامج لتحرير النصوص (بالإنجليزيّة: Text editor) على شكل مجموعة من العبارات، ومن ثمَّ يتم استخدام المحوِّل البرمجي المُخصَّص للغة البرمجة التي تمَّت الكتابة بها عن طريق تحديد اسم الملفّ الذي يحتوي الكود.
  • يقوم المحوِّل البرمجي عند تشغيله بتحليل العبارات والتأكُّد من صحّة كتابتها، بعد ذلك يتمّ تحويل هذه الشيفرة إلى ما يُسمّى بملفّ كائن (بالإنجليزيّة: Object file)، وهو الذي يحتوي على مجموعة الأوامر المُصاغة بلغة الآلة، والتي يقوم جهاز الحاسوب بتنفيذها. قد تلي خطوة التحويل البرمجي خطوة إضافيّة وهي الدمج بين عدد من الملفّات الكائنة التي تعتمد على بعضها البعض، ومن ثمَّ إخراج ملفّ واحد قابل للتشغيل (بالإنجليزيّة: Executable)، وتُسمّى هذه الخطوة بالربط (بالإنجليزيّة: Linking).من لغات البرمجة التي تعمل بالمبدأ المذكور نفسه هي لغة سي (بالإنجليزيّة: C)، ولغة سي بلس بلس (بالإنجليزيّة: ++C)، ولغة فورتران (بالإنجليزيّة: Fortran)، وسويفت (بالإنجليزيّة: Swift)، وغيرها.
  • بعض لغات البرمجة تختلف من حيث آليّة العمل عمّا هو مذكور، ومن هذه اللغات لغة جافا (بالإنجليزيّة: Java)، إذ يتم تحويل الكود إلى أوامر معيّنة تُسمّى (بالإنجليزيّة: Bytecode)، وهذه الأوامر يمكن تنفيذها على أي جهاز حاسوب يحتوي على برنامج “الجهاز الافتراضي” (بالإنجليزيّة: Virtual machine) المُخصَّص لفهم هذه الأوامر وتحويلها إلى أوامر يمكن لجهاز الحاسوب الذي يتم تشغيل البرنامج عليه فهمها وتنفيذها.
  • من اللغات البرمجيّة أيضاً ما يسمح بتنفيذ البرنامج بشكلٍ فوري دون الحاجة إلى تحويله باستخدام برنامج محوِّل برمجي، إذ يتم اللجوء إلى استخدام برنامج يُسمّى بالمُفسِّر (بالإنجليزيّة: Interpreter)، والذي يقوم بتحويل عبارات لغة البرمجة إلى أوامر وتنفيذها بشكلٍ فوري، وممّا يميِّز هذه النوع من أنواع لغات البرمجة هو قدرة إيقاف عمل البرنامج وهو قيد التنفيذ والتعديل عليه، والذي قد يكون بهدف تصحيح أخطاء معيّنة فيه (بالإنجليزيّة: Debugging)، ولكن هذه اللغات لا تمتاز بسرعة التنفيذ التي تمتاز بها لغات البرمجة التي تعتمد على التحويل البرمجي. من لغات البرمجة التي تعمل بالآليّة المذكورة هي لغة بايثون (بالإنجليزيّة: Python)، وبيرل (بالإنجليزيّة: Perl)، وجافاسكريبت (بالإنجليزيّة: Javascript)، ولغة المعالج المسبق للنصوص الفائقة (بالإنجليزيّة: PHP).

 

 

 

 

 

 

السابق
كيف اتأكد من صحة الأحاديث النبوية
التالي
فوائد التمر

اترك تعليقاً