كل فرد في هذا البلد عليه ان يتعلم كيف يبرمج الكمبيوتر .. لانها (البرمجة) ستعلمك كيف تفكر!!.

ستيف جوبز (مؤسس شركة ابل)

ما أهمية البرمجة ولما نتعلمها؟

ما أهمية البرمجة؟

تدخل البرمجة programming في كل شئ تقريبا، بواسطتها نستطيع ان نتحكم في الروبوتات الصناعية و في رحلات الفضاء وايضا التي تساعد الاطباء في اجراء العمليات التي تحافظ على حياتنا.
اذا لعبت يوما لعبة الكترونية (تعتبر برنامجا program) او شاهدت فيلما مسبقا فبالطبع استخدمت برنامجا طوره بعض المبرمجين. حتى التلفزيونات تحتوي بعض انواع البرامج لعرض المحتوى ولكي نتحكم فيها!!

لما نتعلمها؟

هناك عدة اسباب لتشجع الفرد لتعلم ​البرمجة وهذا بعض منها:

  1. أهميتها كما شرحنا مسبقا.
  2. البرمجة من اكثر المهارات المطلوبة في سوق العمل للسنوات القادمة.
  3. مرتبات المبرمجين مجزية و تستطيع ان تعمل من البيت بسهولة.
  4. لا يشترط سن لاحترافها فممكن ان تبدأ من عمر 15 او أقل وممكن ان تبدأ بعد الثلاثين حتى!!.
  5. تساعد البرمجة على التفكير المنطقي.
  6. البرمجة سهلة وتحتوي على الكثير من المرح.

 ما هي البرمجة؟

البرمجة هي “اعطاء الكمبيوتر مجموعة من الاوامر لتنفيذها”. اذن البرنامج program هو مجموعة من الأوامر commands التي ينفذها الكمبيوتر. لكن يجب ان تعلم ان اللاب توب يعتبر كمبيوتر، الهاتف الذكي يعتبر ايضا كمبيوتر، لا تندهش اذا علمت ان سيارتك الشخصية قد تحتوي على كمبيوتر ايضا!! فما هو الكمبيوتراذن؟

ما هو الكمبيوتر؟

الكمبيوتر هو اي اّله تستطيع تنفيذ مجموعة من الاوامر عند تحميلها او تزويدها ببرنامج وعادة ما يتكون الكمبيوتر من 3 وحدات رئيسة:
1- وحدة معالجة مركزية (CPU): وهي المسؤولة عن تنفيذ العمليات الحسابية والمنطقية.
2- ذاكرة (Memory): وهي المسؤولة عن تخزين الاوامر والبيانات قيد التنفيذ.
3- وحدات ادخال واخراج (I/O). وهي المسؤولة عن ادخال البيانات اواخراجها بصورها المختلفة مثل الكيبورد والماوس للادخال او الشاشة و الصوت للاخراج .
لذا فالكمبيوتر قد يكون اللاب توب او الموبايل او ذراع اليه في مصنع او طائرة مسيرة (drone) او اي اّلة نستطيع ان نعطيها او نخزن فيها اوامر وتقوم يتنفيذها. اذن فكيف نعطي للكمبيوتر اوامر؟

الاجهزة مثل اللاب توب او الموبايل وغيرها في واقع الامر تتكون من اكثر من جهاز كمبيوتر!! مثلا دائرة البلوتوث او ال wifi او جزء معالجة الصور الذي يحتوي على GPU هي تعتبر كمبيوترات مدمجة في الجهاز الاصلي.

هيكلة فون نيومان (Von Neumann Architecture) مصدر الصورة هنا

الذاكرة Memory

عادة عندما نشير الى الذاكرة، نقصد بها الذاكرة الرئيسة او الذاكرة العشوائية او “رام” RAM: Random Access Memory مثلما في كمبيوتر المنزل، و هي الذاكرة التي يتم تخزين فيها البيانات النشطة للبرنامج كما يتم فيها تخزين اوامر البرنامج نفسه.

تعتمتد الذاكرة في تخزين البيانات على الترانزستور Transistors، وهي وحدات دقيقة(صغيرة الحجم) تقوم بتسجيل الشحنات في حالة فتح وغلق ON/OFF او 1 & 0 وهي تعتبر اقل وحدة تخزين ويرمز لها بال بت bit وهي اساس النظام الثنائي Binary للكمبيوتر.

وحدة ال بايت byte تتكون من 8 bit وتعتبر البايت هي اشهر وحدة تخزين (هل تعرف ما هي سعة الذاكرة العشوائية لجهازك (RAM)؟ 4GB ام 32GB ام اعلى من ذلك؟)

نستطيع ان نتخيل ان وحدات الذاكرة وكأنها مقسمه على شكل جدول يتكون من صفوف واعمده يتم تخزين فيها البيانات ولكي نستطيع الوصول الي القيم الموجودة في الذاكرة نستخدم عنوان الذاكرة (memory address) وماهو الا رقم يحدد رقم الصف والعمود التي تقع فيه البيانات (تخيل ان الذاكرة وكأنها ملف اكسل (excel) وان عنوان الذاكرة هو اسم الخلية (cell) مثل A1 و هكذا.)

ما هي لغة الالة Machine Language؟

لكل كمبيوتر/آلة لغتها الخاصة و على عكس لغة الانسان التي تتكون من حروف ابجدية، لغة الآلة تتكون من رمزين فقط 1 & 0 او ما يسمى بالنظام الثنائي Binary و تتكون منهما جميع الاوامر. فقد يقوم مصنع انسان اّلي مثلا بجعل الرمز 1001010101 ليمثل الامر سر الى اليمين و الرمز 1001010111 يمثل سر الى اليسار و الرمز 1001011101 يمثل حرك يدك الى اعلى و الرمز 1011110101 يمثل قف.
اذن لكي نكتب برنامج يقول لتلك الاّله سر الى اليمين ثم قف ثم حرك يدك الى اعلى سيكون كالتالي:
1001010111
1011110101
1001011101

هكذا كانت البداية في عالم الكمبيوتر لكن حينها كانت الالات تنفذ فقط عدد قليل من الاوامر، اما الاّن فهناك مئات الالاف من الاوامر التي نستطيع ان تعطيها للكمبيوتر، هل سيكون الامر سهلا؟!! بالطبع لا، لذا دعنا نتعرف على لغات البرمجة

ما هي لغة البرمجة؟

نجد -نحن البشر- لغة الكمبيوتر صعبة جدا ومعقدة و للاسف لا يستطيع الكمبيوتر فهم لغاتنا.اذن ما الحل؟
لغات البرمجة هي الحل، فهي تعتبر كالوسيط او حلقة الوصل بين ​لغة الآلة ولغاتنا نحن البشر. فهي قريبة الى لغات البشر ولكن ليست مثلها، فمثلا اذا اردنا ان نطبع(print) كلمة مرحبا على الشاشة باستخدام لغة بايثون python نكتب الاتي:

("مرحبا")print

هناك المئات من لغات البرمجة المتاحة والتي تطورت على مدار عشرات السنين و لكل منها ما يميزها, فهناك اللغات القريبة من لغة الاّلة / الكمبيوتر (Low level language) و هناك لغات اقرب الى لغاتنا (High Level Language). لكن الكمبيوتر لا يفهم لغات البرمجة ايضا!! فما الحل؟ نستخدم مترجمين.

ما هم المترجمين Translators؟

المترجمين هي محموعة من ​البرامج التي تقوم بترجمة/تحويل لغات البرمجة الى لغة الكمبيوتر كالشكل الاتي:

صورة توضح ترجمة ملفات البرمجة الى لغة الالة باستخدام المترجمين

من اشهر انواع المترجمين:
محول برمجي (Compiler): وهو يقوم بتحويل البرنامج المكتوب بلغة البرمجة الى برنامج مكتوب بلغة الالة.
المفسر (Interpreter): وهو يقوم بتشغيل البرنامج المكتوب بلغة الالة مباشرة (تكون عملية التحويل ضمنية).

ما هي اهم لغات البرمجة؟

لا نستطيع ان نقول ان هناك لغة برمجة مهمة أو اهم من اخرى، فغالبا ما تتميز لغات برمجة عن اخرى مثلا لغة مثل السي والسي بلس بلس C و C++ تعد من اشهر لغات البرمجة التي تستخدم في برمجة الانظمة المدمجة مثل السيارات و الروبوتات وهي تعتبر بمثابة الام للعديد من اللغات الاخرى، و هناك الجافا Java وهي تتميز لبرمجة انظمة الشركات و غيرها و هناك البايثون python و تشتهر في برمجة الذكاء الاصطناعي وهناك الجافا سكريبت Javascript و ال سي شارب (#C) و الجو (go) و غيرهم الكثير والكثير.

ترتيب لغات البرمجة في مطلع عام
لغات البرمجة الاكثر شيوعا في 2020 ، المصدر: Pypl

 


guest
0 تعليقات
Inline Feedbacks
اظهر كل التعليقات