مستخدم:Technical genius/ملعب
*ما هي البرمجة؟ شرح عملي مختصر وسهل الفهم للجميع
إن كنت تريد أن تخطو خطواتك الأولى في عالم البرمجة وكيف تتعلمها فأنت في المكان الصحيح، فهذا الدليل ليس كغيره من المصادر على الانترنت التي تتحدث عن ما هي البرمجة.
المختلف في هذا الدليل أنك ستجد فيه التالي:
- شرح مبسط بالأمثلة العملية لمعنى البرمجة.
- ستعرف كيف نشأت لغات البرمجة المختلفة. ولماذا توجد العديد من لغات البرمجة؟
- ستعرف ما معنى كلمة ” برنامج ” بطريقة بسيطة ومرحة.
- ستفهم جيداً معنى بعض المصطلحات البرمجية مثل [ الخوارزميات ( ِAlgorithms ) – و Syntax ) ] وغيرها بالأمثلة العملية.
- ستتعرف على أهم تخصصات البرمجة المطلوبة في سوق العمل.
- ستتعرف على معنى أسلوب البرمجة ( Programming Paradigm )، وأشهر أساليب البرمجة المختلفة.
ليس هذا كل شيء، فأهم ما في هذا الدليل هو أنني سأضع لك العديد من الأدلة الشاملة العملية لكي تتعلم البرمجة من أفضل المصادر العربية والأجنبية.
فهذا الدليل الذي تقرأه الآن هو مجرد جزء من سلسلة كبيرة بدأنا في إعدادها مؤخراً عن مجال علم الحاسوب بكافة تخصصاته حتى نساعد الشباب العربي بتوفير كل ما يحتاجون إليه من معلومات بشكل مبسط وعملي حتى يقتحمون سوق العمل دون خوف.
لهذا أرجو أن تقرأ كل كلمة في هذا الدليل، لأنك ستجد الكثير من المعلومات المفيدة والروابط التي أضعها لك بين السطور… اتفقنا؟ جيد، هيا بنا نبدأ!
ما هي البرمجة؟
[عدل]البرمجة هي عملية بناء وتصميم برامج حاسوبية يستطيع أي كومبيوتر فهمها، وذلك من أجل تنفيذ مهام محددة – مثل العمليات الحسابية أو الرسم أو حفظ وتخزين المعلومات.
البرمجة تُعد من أهم مجالات علم الحاسوب لأنها تدخل تقريباً في كل مهام الحاسوب مهما اختلفت الصناعة أو التطبيق، فصناعة الصواريخ تعتمد على البرمجة، ولهذا دعنا نتعرف أكثر على الحاسوب ودور البرمجة في التعامل معه.
الحاسوب عبارة عن أداة غبية للغاية، فأي شخص يتعامل معها يجب أن يخبرها بكل شيء مطلوب منها خطوة بخطوة حتى تعطيه المطلوب منها… دعني أعطيك مثالاً.
تخيل معي أنك خبير في صناعة القهوة و تريد أن تشرح لأحد أصدقائك طريقة عمل فنجان قهوة ممتاز… والآن تخيل معي أن صديقك هذا ليس فقط لا يعرف أي شيء عن القهوة، بل أنه أعمى لا يرى أي شيء.
هل تتخيل دقة وحجم الخطوات التي يتوجب عليك أن تشرحها وتوصفها لصديقك حتى يقوم بتنفيذ المطلوب، فمثلاً ستخبره وأنتم واقفين في المطبخ:
- تحرّك 4 خطوات للأمام.
- ارفع يدك اليمنى لأعلى 50 سم حتى تجد البن.
- احمل كيس البن .
- انزل بيدك اليمنى 15سم حتى تصطدم بالمنضدة.
- ضع كيس البن على المنضدة.
- تحرّك 3 خطوات لليسار.
- ارفع يدك اليمنى لأعلى 30 سم.
- ستجد أمام يدك كنكة البن التي نستخدمها لصناعة القهوة.
- احمل كنكة البن في يديك.
- تحرّك 3 خطوات لليمين.
- ارفع يديك اليسرى 25 سم حتى تصدم بالصنبور.
- حرك يديك اليسرى 8 سم لليمين حتى تجد مفتاح الصنبور.
وغيرها من الخطوات الطويلة والمرتبة والدقيقة التي يجب عليك ألا تخطئ في شرحها حتى يقوم صديقك ذلك بصناعة القهوة… هذه هي البرمجة.
الخطوات السابقة تشبه البرامج المختلفة التي يتعامل معها الكمبيوتر… فالبرنامج ما هو إلا خطوات محددة مرتبة يستطيع فهمها و التعامل معها.
الكمبيوتر أداة لا تعرف أو ترى أو تسمع أي شيء إلا الكهرباء… هل الكهرباء مفتوحة ( On ) أم مغلقة ( Off )؟ أو بمعنى آخر لغة الأرقام الثنائية ( 0 و 1 ).
أي جزء أو قطعة من أي كومبيوتر مثل:
- المعالج ( Processor )
- الذاكرة المؤقتة ( RAM )
- الشاشة ( Monitor )
- الفأرة ( Mouse )
وغيرها الكثير ما هو إلا عبارة عن مجموعة من الدوائر الكهربية التي تتواصل فيما بينها طبقاً لتعليمات محددة أو كما تُسمى البرامج… هناك آلاف البرامج التي يعتمد عليها الحاسوب لتنفيذ أي مهمة مطلوبة منه.
أريدك أن تتخيل معي كم عدد البرامج أو الخطوات التي قام بتنفيذها حاسوبك أو هاتفك حتى تقرأ هذه السطور الآن… هذا هو عالم البرمجة يا صديقي.
كيفية التواصل مع الحاسوب
[عدل]البرمجة ما هي إلا طريقة للتواصل مع الكومبيوتر، ولكي تعرف ما هي البرمجة بصورة أعمق عليك أن تعرف كيف يتم ذلك التواصل.
الكمبيوتر أول ما بدأ كان عبارة عن آلات ميكانيكية تستخدم التروس والتصميمات الهندسية العبقرية لتنفيذ بعض المهام الحسابية لتوفير المجهود مثل ( معرفة التوقيت – إجراء العمليات الحسابية الكبيرة مثل جمع تعداد السكان – تخزين المعلومات ).
التواصل مع هذا النوع من الأجهزة كان عبارة عن بعض الحركات الميكانيكية ( فتح صمام – تحريك مؤشر )… يمكنك مشاهدة الفيديو التالي لمعرفة ما الذي أتحدث عنه تحديداً.
بعد اكتشاف الكهرباء قام العلماء و المهندسين باستغلالها في تطوير الأجهزة الميكانيكية المختلفة، فالكهرباء أسهل في التحكم وتتحرك أسرع بكثير من التروس وناقلات الحركة الميكانيكية.
في ذلك الوقت كل ما كنت تحتاج إليه لكي تتواصل مع الأجهزة الكهربية هو غلق بعض المفاتيح ( Off أو 0 بلغة الأرقام الثنائية ) أو فتح بعض المفاتيح ( On أو 1 بلغة الأرقام الثنائية ) حتى تتحكم في حركة التيار في الدوائر الكهربية المختلفة.
ومع تطور البشرية وظهور اختراع الترانزستور، والذي يعتبره الكثير أهم اختراع عرفته البشرية على الإطلاق أصبح من السهل تصميم آلاف الدوائر الكهربية والتحكم في حركة التيار بها بحجم وتكلفة أقل.
وهنا ظهرت المشكلة؛ في هذه الحالة عندما تتواصل مع الحاسوب سيتوجب عليك التحكم في آلاف الدوائر الكهربية في وقت واحد… بمعنى آخر سيتوجب عليك إعطاء التعليمات بهذا الشكل 1100001100.
تخيل معي أن الرقم الثنائي السابق يمثل رقم 780 بنظام الأرقام العشرية التي نعرفها جيداً… فماذا لو اردنا من الحاسوب كتابة رقم أكبر بكثير؟ ماذا لو أردنا أن نخبره بتخزين هذا الرقم في الذاكرة أو بإجراء أي عملية حسابية؟
هذا ما يُسمى لغة الآلة ( Machine Language – Machine code )، فهي عبارة عن إعطاء التعليمات للكومبيوتر على هيئة أكواد مكونة من الصفر و الواحد.
لغة الآلة هي اللغة الوحيدة التي يفهمها الحاسوب ولكنها لغة صعبة على البشر العاديين… هنا قام العلماء بتطوير نظام للترجمة.
المقصود بنظام للترجمة هو طريقة يمكننا بها كتابة بعض التعليمات بلغة بسيطة نفهمها، والتي يقوم ذلك النظام بتحويلها إلى لغة الآلة حتى يقوم بتنفيذها.
فمثلاً تلك الشاشة السوداء التي ربما فتحتها في حاسوبك من قبل ( Command Line ).
هي مثال على نظام الترجمة التي أخبرتك عنه… فالتعليمات التي تكتبها في هذا البرنامج يتم ترجمتها إلى لغة الآلة التي يفهمها الحاسوب ثم يقوم بتنفيذها.
هناك أساليب محددة لكتابة هذه التعليمات… وهنا ظهرت لغات البرمجة.
ما هي لغة البرمجة؟
[عدل]يا ترى ما هو الفرق بين اللغة الإنجليزية واللغة الفرنسية؟ الحروف تقريباً واحدة وطريقة الكتابة واحدة ( من اليسار إلى اليمين )… الفرق الجوهري هو القواعد وطريقة النطق.
نفس الأمر ينطبق على لغات البرمجة المختلفة، فكما أشرنا من قبل، البرمجة هي عبارة عن عملية التواصل مع الحاسوب لإعطاءه التعليمات لتنفيذ مهمة محددة.
إذن لغة البرمجة هي الطريقة التي نكتب بها هذه التعليمات، ومثل لغات البشر العادية هناك قواعد يجب اتباعها ( النحو – Grammar ) هناك أيضاً قواعد في لغات البرمجة.
هذه القواعد في عالم البرمجة تُسمى Syntax، كل عالم أو مطور أو جهة قامت بالعمل على تطوير لغة برمجة معينة قامت بوضع الـ Syntax الخاص بها وكيف تعمل اللغة بشكل عام.
انظر إلى الصورة بالإسفل لبرنامج بسيط وظيفته أن يعرض كلمة ( Hello World ) – هذا هو أول برنامج ستتعلمه إن أردت أن تصبح مبرمجاً – بعدة لغات:
كما ترى لكل لغة برمجة طريقة في الكتابة ( شكل الأقواس – علامات التنصيص ) وغيرها … هذا هو الـ syntax بشكل عملي، لا تقلق ستعرف لاحقاً بنفسك أن الكتابة في حد ذاتها بأي لغة برمجة أسهل مما تتصور.
- لغات منخفضة المستوى (Low Level Languages): وهي اللغات التي تقترب إلى حد بعيد من لغة الآلات.
- لغات عالية المستوى (High Level Languages): وهي لغات تبتعد عن لغة الآلات، وتقترب من لغتنا العادية، وهي الأكثر شيوعاً الآن، ويعتمد عليها أغلب المبرمجين في وظائفهم كل يوم.
يمكنك مشاهدة هذا الفيديو البسيط لكي يلخص لك ما سبق عن تعريف لغة البرمجة
ما هي وظيفة المبرمج؟
[عدل]لقد قام الإنسان باختراع الآلة لمساعدته في حل المشكلات المختلفة، وتوفير الوقت والجهد وهذه وظيفة أي كومبيوتر أو حاسوب مهما كان نوعه أو شكله.
المبرمج هو شخص يفهم جيداً نوعية المشكلات التي يتعامل معها، ويعرف كيف يعمل الكمبيوتر، وكيف يتواصل معه لكي يعتمد عليه في حل هذه المشكلات.
يمكننا أن نلخص عملية البرمجة في الخطوات التالية:
1. فهم المشكلة: أي برنامج أو تطبيق تتعامل معه هو في الأساس حل لمشكلة معينة ( تطبيق أوبر هو حل لمشكلة المواصلات – برنامج File Explorer على الويندوز هو حل لمشكلة البحث عن الملفات بطريقة سهلة و مرئية ).
المبرمج الناجح هو الشخص الذي يعرف جيداً المشكلة التي يتعامل معها.
2. تحديد حل للمشكلة: المبرمج يفهم جيداً كيف يعمل وكيف أن يستغله في حل المشكلة بطريقة سهلة وذكية ومنطقية ومرتبة.
3. تحويل حل المشكلة إلى برنامج: في هذه الخطوة يقوم المبرمج بكتابة بعض الأكواد باستخدام أحد لغات البرمجة لكي يصنع برنامج محدد ليحل المشكلة.
3. اختبار البرنامج: في هذه المرحلة يقوم المبرمج باختبار البرنامج الذي صنعه بنفسه أولاً، ثم بإعطاءه لبعض المستخدمين العاديين لتجربته في المواقف المختلفة، والتأكد من أداءه كل المهام المطلوبة منه.
4. تعديل وتحسين البرنامج بناءاً على ردود الأفعال من الخطوات السابقة.
5. توثيق البرنامج ( Documentation ): هذه هي الخطوة الأخيرة في عملية البرمجة، فعلى المبرمج أن يشرح ويفسر كل شيء عن البرنامج الخاص به، وكيف يعمل حتى يسهل على أي مبرمج آخر أو أي شخص عادي استخدامه في المستقبل.
ما هي الخوارزميات ( Algorithms )؟
[عدل]طالما تبحث عن ما هي البرمجة وتريد أن تتعلمها ستجد مصطلح ” خوارزميات ” يتكرر كثيراً أمامك، ولهذا السبب أحببت أن أفسره لك هنا، وأيضاً أوضح لك الفارق بين الخوارزمية وبين البرنامج.
الخوارزمية في علوم الكمبيوتر هي عبارة عن مجموعة من الخطوات والتعليمات المنطقية لحل مشكلة معينة أو لتنفيذ مهمة محددة، وبالمناسبة كلمة ” خوارزمية ” جاءت من اسم العالم أبو جعفر الخوارزمي.
كما لاحظت تعريف الخوارزمية يقترب كثيراً من تعريف البرنامج؛ فكلاهما عبارة عن مجموعة من الخطوات المنطقية المرتبة، ولكن الفارق أن الخوارزميات أكثر شمولاً.
هل تذكر مثال فنجان القهوة الذي تحدثنا عنه سابقاً، في الحقيقة هذا مثال على الخوارزمية وليس البرنامج، عندما تقوم بتحويل تلك الخطوات إلى أكواد مكتوبة بأحد لغات البرمجة حينها يمكننا أن نطلق عليه كلمة برنامج.
هذا هو الفارق الجوهري بين الخوارزمية وبين البرنامج، كما أن الخوارزميات جاءت من علوم الرياضيات، ولهذا تجد التركيز عليها في استخدام الدوال ( Functions ) المختلفة.
فمثلاً لو قمت بإعطاءك جدول كبير به أكثر من 1500 عدد، وأردت منك أن تخبرني ما هو أكبر عدد في هذا الجدول… يا ترى ما الذي ستفعله؟
حل هذه المسألة هو عبارة عن خوارزمية رياضية بسيطة، ولهذا ستجد في أغلب لغات البرمجة دالة تعتمد على الترتيب ( Sorting ).
وظيفة المبرمج هي أن يبحث عن أفضل خوارزمية ممكنة لحل أي مشكلة أو تأدية أي مهمة… أفضل الخوارزميات هي التي تتطلب أقل عدد ممكن من الخطوات.
فكر في مثال الترتيب السابق، ألا تعتقد أنه يوجد أكثر من طريقة لحل هذه المسألة، فمثلاً يمكنك أن تقارن بين كل رقم في الجدول مع غيره من الأرقام ( وهذا أطول حل ممكن ).
أو يمكنك أن تأخذ العدد الأول وتطرح منه العدد الذي يليه ثم الذي يليه… وهكذا حتى تجد نتيجة الطرح سالبة، وفي هذا الحالة تأخذ العدد الجديد الذي وجدته ( لأنه أكبر ) وتكرر نفس الخطوة السابقة ( اطرح منه الأعداد التي تليه في الجدول ) حتى تجد نتيجة سالبة.
وهكذا حتى تنتهي من الـ 1500 عدد في الجدول، هذه أيضاً خوارزمية، ولكنها ستأخذ عدد خطوات أقل من الحل السابق… هذه هي الخوارزميات بشكل عملي.
ولهذا تجد أغلب كورسات البرمجة و علوم الكمبيوتر بشكل عام تُخصص جزء لتعليم الخوارزميات، لأنها الأساس الذي يُستخدم لبناء أي برنامج.
المسارات المختلفة للبرمجة
[عدل]إن اطلعت على دليل مجالات علم الحاسوب ستعلم أن البرمجة متداخلة بشكل كبير مع باقي فروع علم الحاسوب، ولهذا لا توجد مسارات واضحة ومحددة لمجال البرمجة في سوق العمل.
ومع ذلك حرصت أن أجمع لك اشهر وأهم المسارات الموجودة حالياً لكي اساعدك في اختيار المسار الذي يناسب إهتمامك.
الجدير بالذكر أيضاً أننا نعمل على دليل مفصل أكثر بعنوان (أهم وظائف البرمجة المطلوبة في سوق العمل)، والذي يحتوي على معلومات أكثر عن كل وظيفية، والمهام المطلوبة منها والمهارات ولغات البرمجة التي عليك أن تتقنها حتى تؤدي وظيفتك بكفاءة.
والآن دعني أعطيك موجزاً عن أهم مسارات البرمجة في سوق العمل:
1. برمجة الأنظمة ( System programming )
[عدل]برمجة الأنظمة هو المجال المختص بالعمل على أنظمة التشغيل المختلفة مثل ( الويندوز – أندرويد – Mac – Linux )، والبرامج المعقدة التي تعتمد عليها هذه الأنظمة.
هذا بالإضافة إلى التعامل مع السيرفرات ومراكز تخزين المعلومات مثل خدمات التخزين السحابي ( Cloud services )، وكل هذا يتطلب معرفة قوية بكيفية عمل الحاسوب بشكل دقيق حتى يتمكن أي شخص من تطوير الأنظمة المناسبة ويستغل كل الإمكانيات المتاحة بأقل التكاليف.
2. تطوير التطبيقات ( Application Programming )
[عدل]المقصود هنا بتطوير التطبيقات أو هندسة التطبيقات؛ هو العمل على بناء تطبيقات عالية الجودة تعمل بكفاءة على أنظمة التشغيل المختلفة.
فمثلاً برنامج الآلة الحاسبة الذي تستخدمه هو أحد الأمثلة على ذلك، وأيضاً التطبيقات الموجودة على الهاتف.
3. تطوير الويب ( Web Development )
[عدل]تطوير الويب هو المسار المختص بتطوير المواقع والتطبيقات التي تعمل بشكل رئيسي على الانترنت، موقع الرابحون الذي تقرأ عليه هذه السطور الآن هو أحد الأمثلة على تطبيقات الويب البسيطة للغاية.
اقرأ أيضاً: دليلك الكامل لتعلم لغات تطوير الويب الأساسية
4. برمجة الألعاب ( Game Programming )
[عدل]الألعاب تعد واحدة من أبرز مسارات البرمجة وأكثرها طلباً في السوق كيف لا وصناعة الألعاب تتخطى عائداتها مليارات الدولارات سنوياً.
مجال برمجة الألعاب ممتع وشيق، وفي نفس الوقت يتطلب معرفة وخبرة بالعديد من تكنولوجيات البرمجة المختلفة.
5. التعامل مع البيانات ( Data )
[عدل]مصطلح علم البيانات ( Data Science ) هو أحد أكثر المصطلحات التي يتم البحث عليها في عالم البرمجة نظراً لأهمية هذا المجال وتصاعد المستمر.
كل الشركات والمؤسسات تعتمد على البيانات في اتخاذ القرارات، وهذا يتطلب مجهود كبير من المبرمجين في بناء آليات جمع هذه البيانات وحفظها والتعامل معها بمختلف الطرق.
حالياً نقوم بالعمل على دليل شامل مفصل عن عالم البيانات، وكيف يمكن لأي شخص أن يبدأ به بالاستعانة بافضل الكورسات والمنصات العالمية… تابعنا باستمرار حتى لا يفوتك.
6. الذكاء الاصطناعي وتعلم الآلة
[عدل]عندما تفتح كاميرا هاتفك لالتقاط صورة سيلفي ألا ترى المربع الذي تضعه الكاميرا على وجهك؟ هل سألت نفسك يوماً كيف تتعرف الكاميرا على الأوجه بهذه السرعة والسهولة.
هذه أحد الأمثلة البسيطة على الذكاء الاصطناعي وتعلم الآلة والذي يهدف لجعل الحاسوب يحاكي العقل البشري في التفكير واتخاذ القرارات.
7. إنترنت الأشياء
[عدل]إنترنت الأشياء هو المجال الخاص بربط كل الأدوات والأجهزة التي نعتمد عليها بالانترنت عن طريق برمجتها بطرق معينة، مثل الساعات الذكية التي تقيس معدلات الجري ونبض القلب ولها تطبيقات على الهاتف.
وكاميرات المراقبة التي ترتبط بهاتفك، ويمكنك من خلاله مشاهدة بث حي لكل ما تراه الكاميرا بل، ويمكن ربط كل ذلك بأقفال الأمان لإرسال إنذار في حالة وجود إلى الخطر ومخاطبة أجهزة الشرطة والإطفاء، وغيرها لإتخاذ اللازم بشكل تلقائي تماماً.
كان هذا ملخص سريع عن أشهر مسارات البرمجة التي يمكنك أن تختار أحدها، وتبدأ في تعلم المهارات المطلوبة فيه حتى تقتحم سوق العمل وأنت واقف على أرض صلبة.
ستجد في نهاية هذا الدليل مجموعة من المصادر والنصائح التي تساعدك في اختيار المسار المناسب… دعنا نكمل!
أساليب البرمجة
[عدل]هناك العديد من أساليب أو أنماط البرمجة، والتي يُطلق عليها ( Programming Paradigms )، والمقصود بنمط البرمجة هي الطريقة التي يتم الإعتماد عليها في حل المشكلات.
لقد ذكرت لك سابقاً أن الهدف من البرمجة هو استخدام الحاسوب في حل المشكلات عن طريق بعض اعطاءه بعض الأوامر …
وكما البشر يختلفون فيما بينهم في طريقة حل المشكلات كذلك يفعل المبرمجين، كل منهم يحاول حل المشكلات بطريقة معينة وأسلوب خاص.
هناك نوعين رئيسين من أساليب البرمجة وهما:
1. نمط البرمجة الأمرية ( Imperative programming paradigm ): وفيها نقوم بإعطاء الحاسوب التعليمات خطوة بخطوة بشكل مفصل ودقيق.
فمثلاً إن أردنا جمع الأرقام من 1 إلى 10 سنخبر الحاسوب بأن يجمع 1+2، ثم يأخذ الناتج ويجمعه على 3، ثم يأخذ الناتج ويجمعه على 4… وهكذا
2. نمط البرمجة التصريحية ( Declarative programming paradigm ): وفيها لا نقوم بإعطاء الحاسوب تعليمات دقيقة بل نخبره بالذي نريده منه بشكل مباشر وهو يتكفل بالباقي.
فمثلاً إن أردنا جمع الأرقام من 1 إلى 10 سنخبر الحاسوب ( اجمع من 1 إلى 10 واعطنا الناتج ) باستخدام بعض الدوال دون الحاجة إلى كتابة كل الخطوات كما في البرمجة الأمرية.
تحت كل نوع من هذه الأنواع تندرج صور أخرى من أنماط البرمجة التي تتبع نفس الأسلوب، ولكن مع إضافة خصائص و مميزات أخرى.
إليك أنماط البرمجة التي تعتمد على أسلوب البرمجة الأمرية:
- نمط البرمجة الإجرائية ( Procedural programming paradigm )
- نمط البرمجة كائنية التوجه ( Object-oriented programming paradigm )
- نهج المعالجة المتوازية ( Parallel processing approach )
إليك أنماط البرمجة التي تعتمد على أسلوب البرمجة التصريحية
- نمط البرمجة المنطقية ( Logic programming paradigm )
- نمط البرمجة الوظيفية ( Functional programming paradigm )
- نهج معالجة البيانات ( Database processing approach )
لقد قمنا بنشر دليل منفصل بعنوان ” أنواع البرمجة الإلكترونية ” يشرح هذه الأساليب بتفصيل أكثر مع توضيح العلاقة بينها وبين لغات البرمجة، ولماذا يجب عليك أن تتعرف عليها إن أردت تعلم البرمجة بشكل صحيح.
أنصحك أن تطلع على هذا الدليل في وقت لاحق … وهناك أمر هام أرغب منك أن تستوعبه جيداً:
لا أريدك أن تشعر بالضغط أو الرهبة من كثرة المعلومات والمصطلحات، فأنت مازلت في بداية رحلتك تبحث عن ما هي البرمجة وكيف تتعلمها، وهذا ما سنتحدث عنه في الجزء التالي من هذا الدليل.
فلا تقلق، ستتعلم كل هذا وأكثر في المستقبل القريب، علماً بأن السبب الذي جعلني أضع كل هذه المعلومات في هذا الدليل هو رغبتي في أن يكون مصدراً شاملاً يجد فيه القارئ كل المعلومات التي يحتاج إلى معرفتها.
لماذا يجب عليك أن تتعلم البرمجة؟
[عدل]في العصور القديمة كان أغلى شيء في العالم هو الذهب والأحجار الكريمة، وبعدما تطورت الحضارة قليلاً أصبح أغلى شيء في العالم هو البترول لأنه وقود الآلات التي تحرك كل شيء تقريباً على سطح الكرة الأرضية.
وبعدما تطورت الحضارة أكثر أصبح أغلى شيء في العالم هو المعلومة؛ جمع البيانات وتحليلها لاتخاذ القرارات، وكل هذه المعلومات يتم التعامل معها عن طريق الحاسوب.
فكر قليلاً في حياتك وحجم الأجهزة الذكية التي تعتمد عليها كل يوم في عملك ودراستك وتواصلك مع الناس… هذه هي باختصار أهمية تعلم البرمجة في الوقت الحالي.
ستتعلم كيف تتواصل مع هذه الأجهزة، كيف تقوم باستخدامها في حل مشكلاتك اليومية، كيف يكون لك مكان في المستقبل الذي سيعتمد كلياً على امكانيات الحاسوب وتقنيات الذكاء الاصطناعي.
شاهد هذا الفيديو لمجموعة من أشهر رواد الأعمال والمبرمجين – منهم بيل جيتس ومارك زوكربيرج – وهم يتحدثون عن أهمية تعلم البرمجة.
دعني أخبرك أهمية البرمجة بشكل مفصل أكثر من خلال النقاط التالية:
1. البرمجة ستجعلك تكتسب الكثير من المهارات
[عدل]هناك العديد من المهارات التي ستكتسبها عندما تتعلم البرمجة مثل:
- التفكير المنطقي: ستتعلم كيف تفكر وتحلل وترتب أفكارك وهي مهارة أكثر من رائعة ستنفعك في كافة مناحي الحياة.
- مهارة حل المشكلات: ستتعلم كيف تحل أي مشكلة تواجهك بطريقة علمية مرتبة.
- مهارة التواصل مع الآخرين: ستتعلم كيف تتحدث وتشرح وتفسر كل شيء لمن حولك مثلما تفعل وأنت تشرح لهم كيف يعمل برنامج معين.
- الثقة بالنفس: كل المهارات السابقة ستجعلك شخص واثق من نفسه ومن قراراته.
- مهارة تنظيم الوقت: ستتعلم كيف تستغل وقتك جيداً مثلما تعلمت كيف تستغل كل الإمكانيات المتاحة أمامك لحل مشكلة معينة بترتيب دقيق.
- مهارة الإبداع: البرمجة تجعلك تفكر خارج الصندوق وتبحث عن حلول غير تقليدية للمشكلات.
كل هذه المهارات ستجعلك إنسان أفضل في الحياة بشكل عام.
2. البرمجة ستفتح لك الطريق للحصول على وظيفة
[عدل]أغلب الشركات والمؤسسات تبحث عن المبرمجين المحترفين لمساعدتهم في حل المشكلات وتطوير الأنظمة المختلفة، فالبرمجة تعد من أهم المجالات المطلوبة في سوق العمل حالياً وفي المستقبل.
3. البرمجة هي الوجه الجديد لريادة الأعمال
[عدل]ألا تسمع كل يوم عن تطبيق جديد أو خدمة جديدة أو موقع جديد يهدف إلى التعامل مع الناس وربح المال منهم… مثل خدمات طلبات التوصيل الجديدة، و التعلم عن بعد، و الاستعانة المهنيين والحرفيين وبيع المنتجات الجديدة والمستعملة بمختلف أنواعها… إلخ.
كل هذه المشروعات وغيرها قائمة على البرمجة، إن كانت لديك فكرة مشروع فبالتأكيد البرمجة ستساعدك على تحويلها إلى واقع.
4. هناك العديد من المجالات المختلفة للبرمجة
[عدل]كما أشرت سابقاً عندما تحدثت عن مسارات البرمجة، هناك العديد من التخصصات التي تناسب أي شخص، فإن كنت تحب الألعاب يمكنك أن تتخصص في هذا المجال.
وإن كنت تحب الرسم والعمل الإبداعي أكثر يمكنك أيضاً أن تعمل في ذلك المجال من خلال البرمجة، أما إن كنت تحب الأرقام والتحليلات فربما تتوجع إلى علوم البيانات.
البرمجة تناسب أي شخص مهما كانت خلفيته أو ميوله الشخصية.
5. يمكنك العمل من أي مكان في العالم
[عدل]طبيعة عمل المبرمج والمهام المطلوبة منه تجعله أكثر مرونة من غيره من حيث اختيار مكان العمل، فأغلب المبرمجين لا يحتاجون سوى حاسوب وانترنت لتأدية أغلب المهام المطلوبة منهم.
ولهذا السبب تجد الكثير من المبرمجين لا يكتفون بالوظائف التقليدية، و يفضلون العمل الحر في التعامل مع العملاء وتحقيق دخل شهري جديد.
كل هذا بخلاف الحاجة إلى العمل من المنزل التي أصبحت واقع يعيشه أغلب سكان هذا الكوكب بسبب ظروف الجائحة الي نعيشها جميعاً الآن، فالبرمجة تساعد على أيضاً حل هذه المشكلة.
6. أي شخص يمكنه أن يصبح مبرمجاً
[عدل]البرمجة لا تحتاج إلى شهادات ودراسات وخبرات كبيرة بعكس الطب أو المحاماة أو الهندسة، والتي تطلب سنوات من العمل والدراسة والشهادات المعتمدة حتى تحصل على فرصة عمل.
هناك ملايين المبرمجين في مختلف أنحاء العالم الذين تعلموا البرمجة بأنفسهم حتى بدون الدراسة في جامعة أو معهد، وتقلدوا أرقى المناصب أو قاموا بتأسيس مشاريعهم الخاصة.
كما أن البرمجة لا تتطلب سناً معيناً لكي تبدأ في تعلمها… هناك من هو بعمر الستين وتعلم البرمجة وهناك أطفال بعمر الـ 8 سنوات تستطيع أن تكتب برامج معقدة لحل العديد من المشكلات.
كل هذه الأسباب ستجعلك ترغب في تعلم الآن وليس غداً…. وهذا ما سأساعدك عليه في الجزء الأخير من حديثنا اليوم عن ما هي البرمجة.
فالهدف من هذا المقال هو تحفيزك لكي ترغب في تعلم هذه المهارة الهامة والمطلوبة، والتي بكل تأكيد ستغير حياتك للأفضل.
كيف تتعلم البرمجة
[عدل]البرمجة عالم كبير وبه العديد من المسارات والتخصصات كما أشرت سابقاً، لذلك ستجد مئات المصادر والمعلومات المنشرة على الانترنت لتعليم البرمجة.
كل هذا يجعلك الكثير من المبتدئين يشعرون بالحيرة والتردد… بل وأحياناً يمنعهم ذلك عن تعلم البرمجة على الرغم من رغبتهم وحماسهم.
لهذا السبب ورغبة منا في مساعدتك عزيز القارئ قمنا بعمل أدلة شاملة وعملية تساعدك على تعلم البرمجة من أفضل المصادر مع تقديم المعلومات والإرشادات التي تساعدك على تخطي أي عقبة تقف في طريقك.
يمكنك أن تطلع على هذه الأدلة من خلال الروابط التالية:
ما هي مجالات علم الحاسوب Computer: في هذا الدليل سوف تطلع بشكل عام على مجالات علم الحاسوب والتي البرمجة تمثل أحدها… مقال هام لكل من يريد تعلم البرمجة.
أنواع البرمجة الإلكترونية: دليل شامل يوضح لك أهم أنواع البرمجة الإلكترونية والفروق بينها.
أفضل كتب تعلم البرمجة: تشكيلة رائعة من أفضل الكتب لأفضل المؤلفين في هذا المجال.
أشهر لغات البرمجة: وفيه سوف تتعرف بشكل مبسط على أشهر لغات البرمجة واستخدامات كل منها، مع أمثلة لمؤسسات عالمية تستخدمها.
أفضل مواقع تعلم البرمجة العربية والأجنبية: دليل كبير وشامل لأفضل المصادر لتعلم البرمجة.
أفضل قنوات اليوتيوب لتعلم البرمجة: (دليلك الموثوق لتعلم البرمجة من خلال اليوتيوب)
ما هي أفضل لغة برمجة للمبتدئين؟: من خلاله ستتخلص من الحيرة في اختيار لغة البرمجة التي يمكنك البدء بها.
أفضل كورسات برمجة للمبتدئين: دليل يحتوي على أفضل المصادر لتعلم البرمجة في كل تخصص ( تطوير الويب – تطوير تطبيقات الهاتف – تطوير الألعاب – علم البيانات والذكاء الإصطناعي ).
وغيرها من الأدلة التي نعمل عليها حالياً – كما أشرت سابقاً – لهذا أنصحك أن تبحث في الرابحون أولاً عن أي موضوع تريد أن تتعلم عنه حتى قبل أن تبحث على جوجل?.
إن كان لديك أي سؤال فلا تتردد في أن تتركه لنا في التعليقات… أتمنى لك التوفيق في رحلتك في عالم البرمجة، وإلى لقاءٍ قريب!