شرح اساسيات البرمجة و انواعها بالتفصيل و كيف ابدأ تعلم البرمجة
السلام عليكم ورحمة الله و بركاته

في ظل التطورات الراهنة في العصر الحالي اصبحت التكنولوجيا و الانترنت من اقوى المجالات و تصدرت سوق العمل في هذا الوقت, حيث اصبحت البرمجة والغرافيك ديزاين و الفريلانسر و العمل على الانترنت بشكل عام تشكل اكبر مصدر دخل لكثرة الطلب عليها و لقوتها في اسواق العمل
و في هذا المقال سوف تنتحدث عن البرمجة , الكثير منكم يتسائل ما هي البرمجة و كيف ابدأ بالتعلم و من اين ابدأ و كيف تعمل البرمجة و الكثير من الاسئلة سنجيب عنها في هذا المقال
A-في البداية ما هي البرمجة:
نعتبر لغات البرمجة من اهم الاساسيات في عالم تطوير البرمجيات , و تعد من اهم الوسائل للتواصل بين المبرمج والحاسوب لانشاء تطبيقات و برامج و مواقع للمستخدمين , و يستطيع المبرمجين التعبير عن افكارهم باستخدام لغات برمجية تتم ترجمتها الى لغة الالة و اعطائها للحاسوب
-اما اذا اردنا ان نعرف البرمجة :
البرمجة:
هي اعطاء مجموعة من الاوامر والتعليمات للحاسوب عن طريق لغة برمجية لتنفيذ اوامر مححدة مثل معالجة البيانات و حل المشكلات و الكثير من الامور حيث تعتمد في عملها على الخوارزميات و المنطق و لغات البرمجة لتحويل الافكار الى نطبيقات
B-ما الهدف من البرمجة :
ببساطة الهدف من البرمجة :
1- انشاء تطبيقات
2- انشاء مواقع
3- انشاء انظمة ذكاء اصطناعي
4- انشاء العاب
و نستطيع انشاء الكثير من الامور الاخرى
C- ما هي اساسيات البرمجة :
- تعتمد البرمجة على امور رئيسية يجب على كل مبرمج ان يفهمها و يتعلمها قبل البدء:
1- الخوارزميات (Algorithms): تعتبر من العمود الفقري لكل برنامج و تطبيق و يجب على كل مبرمج ان يفهمها
2- المتغيرات (Variables): تعمل على حفظ البيانات مثل ( النصوص و الارقام )
3- الدوال (Functions): تعمل على تقسيم الكود الى اقسام حيث تستطيع اعادة استخدامها
4- الحلقات النكرارية (Loops) : لها دور اساسي لانها تعمل على تكرار المهام مثل (For, While)
5- الهياكل الشرطية (Conditionals) : وظيفتها اتخاذ القرارات مثل ( If_else )
D- ما هي الخوارزميات في البرمجة و ما هو دورها :
– تعتبر الخوارزميات من اهم الاساسيات في البرمجة يلي المفروض كل مبرمج يفهمها و يتعلمها قبل البدء بالبرمجة لان هي حجر الاساس بالبرمجة
- اما اذا اردنا ان نعرف الخوارزمية :
الخوارزمية ببساطة هي مجموعة من الخطوات المنظمة والتعليمات الواضحة التي نحتاجها لحل مشكلة معينة ( يعني اذا واجهنا مشكلة منمشي ع خطوات واضحة مرتبة لنحل المشكلة )
- دور الخورزميات في البرمجة :
تتميز الخوارزميات في البرمجة ب :
1- التنطيم : حيث تعمل على التفكير بترتيب و تشاعد في تحديد الخطوات من اجل سهولة كتابة الكود بطريقة مبسطة و سهلة و منظمة
2- الاداء و الكفاءة : جيث تعمل على انجاز البرامج بشكل اسرع و استهلاك اقل للذاكرة
3- حل المشكلات المعقدة : عندمت نواجه مشكلة نستطيع حلها باستخدام خوارزميات مناسبة ( يعني منقدر نحل مشاكل كبيرة مثل البحث و التصنيف في قواعد البيانات )
4- التأسيس لهياكل البيانات : نستطيع استخدامها مع هياكل البيانات لتنظيم المعلومات ومعالجتها ( مثل المصفوفات )
E- كيف نصمم خوارزمية :
- ببساطة نتبع خطوات مرتبة و واضحة :
-هي ببساطة مجموعة خطوات مرتبة لحل مشاكل معينة , يعني اذا واجهنا مشكلة موجود عنا خطوات واضحة
1- يجب ان نفهم المشكلة ونحللها بدقة ( يعني ان نبحث عن المدخلات و المخرجات )
2- ان نحاول نقسيم المشكلة الى اقسام صغيرة قابلة للحل
3- ان نختار الهيكل المناسب
4- ان نعمل على تحليل الكفاءة ( كحساب التعقيد الزماني و المكاني )
5- محاولة التنفيذ والاختبار ( يعني عند كتابة الكود و تنفيذه منجربه ع حالات مختلفة )
F- من اين ابدأ دراسة الخوارزميات :
- هناك عدة كورسات مجانية على الانترنت و اليوتيوب مثل :
1- كورس مجاني من الصفر حتى الاحتراف علة قناة Elzero Web School:
- للدخول اضغط هنا
2- كورس مجاني على اليوتيوب على قناة Codezilla :
- للدخول اضغط هنا
G- ما هي لغات البرمجة و ما هي انواعها :

- هناك تنوع كبير في لغات البرمجة من حيث الانماط و التركيبات والعمل , حيث يوجد لدينا لغات تركز على السهولة في القراءة و الكتابة و لغات تركز على السرعة والاداء و هناك لغات تعمل على تطوير تطبيقات محددة و يوجد العديد من اللغات المشهورة مثل :
| اللغة | الوظيفة الاساسية |
| Java Script/PHP | تطوير الويب |
| Java | تطبيقات Android |
| C/C++ | الانظمة و الالعاب والبرامج |
| #C | تطوير العاب و برامج Windows |
| Python | الذكاء الاصطناعي |
ملاحظة :
-ويوجد العديد من اللغات ولكن هؤلاء اللغات من اشهرها
F-احتيار اللغة المناسبة :
- من اكثر الاسئلة التي يفكر بها المبرمج في بدايته من اي لغة ابدأ , في بداية نعلم البرمجة ستواجه تحدي اختيار اللغة المناسبة للمهمة التي نريد تنفيذها و عند البدء بأول تجربة ستتأثر هذه التحربة بعدة عوامل مثل ( مستوى الخبرة , الاهداف , نوع البرنامج , سهولة التعلم , الاداء) ويمكن ان يكون هذه التجربة مهمة جدا
- في اليداية يجب ان نبدأ بلغة سهلة الفهم و بسيطة يعني مثل (Paython, JavaScript , ++C..)
- لا يجب ان نبدأ التعلم بأكثر من لغة يعني منبلش فيهن يالترتيب (مثلاً بلشنا ب Paython ما منبلش بلغة تانية لحتى نخلصها )
- حاول التركيز على مشاريعك ( مثال : اذا بدك تطوير ويب ركز ع اللغات الخاصة بالويب اما اذا تطوير العاب و برامج منركز على اللغات الخاصة فيهن …..)
- الخلاصة: لغات البرمجة نشبه الاداة التي تسطيع من خلالها تحويل الافكار الى واقع و مع مرور الوقت من تعلم البرمجة و اساسياتها و لغاتها ستبدأ بأكتشاف عالم جديد من التميز والابداع
G- ما هي وظائف البرمجة المرغوبة:
1- انشاء مواقع و برامج ( مثل واتساب – فيسبوك ..)
2- صنع الذكاء الاصطناعي ( مثل النعرف على الصوت والصور يعني مثل Chat Gpt )
3- تطوير العاب ( مثل PUBG _ Clash OF Clans)
4- اتمتة المهام ( مثل برامح الحسابات )
5- تحليل البيانات ( مثل البورصات و اسعار الاسهم )
- طبعاً لكل وظيفة لغات محددة نختار اللغات حسب الوظيفة التي نريد الدخول بها
H- انواع البرمجة الرئيسية:
- هناك عدة انواع للبرمجة و كل نوع له لغات محددة مثل:
1- البرمجة الكائنية ( OOP):
- تعتبر البرمجة الكائنية نمط من انماط البرمجة حيث تعتمد على مفاهيم رئيسية مثل:
– الكائنات (Objects): تمثل العناصر الاساسية و تتضمن البيانات و الوظائف
–الفئات ( Classes): هي عبارة عن قوالب تستخدم لانشاء الكائنات
– التغليف ( Encapsulation): يعمل على حماية الداخلية للكائنات من التعديل المباشر
– تعدد الاشكال ( Polymorphism): تعمل على تنفيذ نفس الوظيفة بطرق مختلفة
مميزات البرمجة الكائنية :
1- اعادة الاستخدام : نستطيع اعادة استخدام الكود بسهولة و استخدام الكلاسات في مشاريع متعددة
2- المرونة: نستطيع تغيير اقسام واجزاء من البرنامج دون التاثير على الاجزاء الاخرى
3- الصيانة: منقدر تعمل تعديل جزء دون التاثير على اجزاء اخرى
4- التنظيم : منقدر من خلالها تقسيم البرنامج الى كائنات
لغات منقدر نستخدمها بالبرمجة الكائنية:
1-Java
2-Paython
3-++C
4-#C
2- البرمجة الوظيفية:
– تعتمد على استخدام (الدوال) كغرض اساسي مع الحفاظ على عدم حصول تغيير في البيانات
مميزات البرمجة الوظيفية :
– منقدر نكتب كود اكثر امان و سهولة في الاختبار
- لغات منقدر نستخدمها بالبرمجة الوظيفية :
1- Java SCript
2- Scala
3- البرمجة النصية :
– تعتمد في عملها على اتمتة المهام من دون الحاجة لتجميع (Compile)
مميزات البرمجة النصية:
–سهولة في التعامل
– سريعة في التطوير
-تدعم لغات بسيطة
لغات منقدر نستخدمها بالرمجة النصية :
1-Power Shell
2-Python
4- البرمجة الاجرائية :
– بتركز على تقسيم البرنامج الى اجراءات
- مميزات البرمجة الاجرائية :
-منقدر من خلالها تصصم مشاريع بسيطة
-سهولة وسرعة في التنفيذ
- لغات منقدر نستخدمها بالبرمجة الاجرائية :
1- C
2- Pascal
K- قد تسأل نفسك ما هو الكود :
-الكود:
هو عبارة عن مجموعة من التعليمات والاوامر التي يكتبها المبرمج و يتم اعطاؤها لجهاز لتنفيذ مهمة معينة
-يجب ان يكون الكود واضح و مفهوم لكي يتم فهمه من قيل الجهاز الذي نبرمجه
_يجب اتباع مجموعة من القواعد لكتابة الكود
L- ما هي لغات البرمجة و ماهي انواعها :
- يوجد لدينا نوعين اساسين مثل :
1- لغات عالية المستوى :
هذه اللغات صممت خصيصا ليفهما البشر , و يجب تحويلها الى شيفرة الية و من ثم اعطاؤها للحاسوب حتى يفهمها و من اكثر اللغات التي نستخدمها في هذا الوقت:
– Java Script
-Pyathon
-Java
-Html
-++c
-#C

2- لغات منخفضة المستوى :
هذه اللغات يصعب على البشر فهمها لانها غير ممصمة لهم , بل صممت لتعالج و تفهم بكفاءة بواسطة الآلات .
M- كيف ابدأ بكتابة برنامج :
- اذا بدنا نكتب برنامج لازم نتبع خطوات مثل:
1- يجب وضع هدف للبرنامج و تحديد نوع البرنامج مثل ( الة حاسبة )
2- يجب ان نصمم خوارزمية خاصة بالبرنامج و على اساسها منبلش
3-كتابة الكود و هي عملية تحويل الخوارزمية الى لغة برمجة
4-عند النتهاء من كتابة البرنامج يجب اختبار البرنامج عن طريق اكتشاف الاخطاء (Debugging)
5- بالنهاية منقدر نضيف ميزات جديدة لتطوير و تحسين الاداء
N-كيف ابدأ / أو من اين ابدأ:
1- يجب اختيار لغة سهلة وبسيطة و واضحة في البداية و من ثم نبدأ بلغة اصعب قليلا و هكذا بالتدريج
2-يجب فهم اساسيات البرمجة و قواعدها قبل البدء
3- بالبداية تبدأ بتنفيذ مشاريع و برامج بسيطة مثل ( موقع ويب بسيط – برنامج بسيط – ..)
4- يجب تحديد هدف يعني اذا بداية بالبرمجة بلش ب (Python), اما اذا تطوير ويب ( Java Script- Python ..) اما اذا تطوير العاب (++C, #C) يعين منحاول نختار اللغة يلي بتاسب المشروع تبعنا
O- من اين ابدأ التعلم بالبرمجة:
- يوجد العديد من المصادر و الكتب و قنوات اليوتيوب التي تستطيع البدء منها مثل :
1- قناة Elzero Web School على اليوتيوب يوجد شرح مفصل عن البرمجة واساسياتها
- للدخول اضغط هنا
2-قناة The Net Ninja على اليوتيوب
- للدخول اضغط هنا
3- قناة Programming With Mosh على اليوتيوب
- للدخول اضغط هنا
4- قناة Codezilla على اليوتيوب
- للدخول اضغط هنا
– و يوجد العديد من المواقع والقنوات التي تهتم بمجال البرمجة.
P- نصائح مهمة:
1- حاول الالتزام بقناة واحدة عند البدء حتى لا تشتت افكارك
2- عند نعلم اي شيء جديد حاول تطبيقه عملياً
3- ركز على وضع خطة و التقيد بها
4- ابدأ بتصميم المشاريع الصغيرة والبسيطة
5- الممارسة يومياً لان الممارسة هي التي تحول المعرفة الى مهارة
– نتمنى ان ينال اعجابكم و شكراً لكم




تعليقات: (0) إضافة تعليق