التخطي إلى المحتوى الرئيسي

كيف تتعلم لغة برمجة جديدة في خطوات عملية




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

1- في البداية اقرأ قوانين هذه اللغة أو ما يعرف بالـ syntax

ليس من المهم أن تعرف كل قوانينها، وبالتأكيد ليس مطلوب أن تحفظهم كلهم. فقط اجعل هذه القوانين مألوفة لك بالشكل الذي يمّكنك من تمييز هذه اللغة عند النظر إليها.
من المهم معرفة القواعد الاساسية للبرمجة باستخدام هذه اللغة وهي أمور ثابتة في معظم لغات البرمجة. مثل معرفة كيفية التعامل مع الأرقام (integers)، التعامل مع المتسلسلات أو التعامل مع النصوص (strings) والتعامل مع المتواليات (arrays). وقواعد الاشتراط مثل (if else) وغيرها من أساسيات لغات البرمجة.
تذكر لا تحفظها ولا تحاول معرفتها كلها… فقط اجعلها مألوفة إلى عينك

2- ابحث عن مشروع مفتوح المصدر مكتوب بهذه اللغة

بالطبع ستجد المئات من المشاريع المكتوبة بهذه اللغة على موقع البرمجيات مفتوحة المصدر الشهير github وغيره من مواقع استضافة البرمجيات مفتوحة المصدر، اختر المشروع الذي يناسب اهتماماتك أو مشروع قريب في الفكرة إلى شيء تريد إنجازه.
واحرص على أن يكون مشروع صغير غير معقد. من الأفضل أن تبدأ بمشروع لإنجاز المهام (Todo List). هذه النوعية من المشاريع لها مفهوم بسيط يسهل فهمه للجميع وفي نفس الوقت تكون صغيرة الحجم.
هنا لا تحاول فهم كل شيء، فقط ابدأ مشروع جديد في محررك المفضل. وافتح نافذتين جنبًا إلى جنب، إحداهما تحتوي على المشروع المنتهي الذي اخترته من github والأخر هو مشروعك الجديد الذي لا يحتوي على أي شيء.

3- ابدأ بكتابة المشروع حرفيًا من جديد

ابدأ بكتابة كل سطر من المشروع المفتوح المصدر إلى مشروعك الجديد. لاحظ هنا أنني ذكرت الكتابة وليس النقل (مثل النسخ واللصق). قم بتقسيم مشروعك بنفس الهيكيلية للمشروع الذي اخترته. واكتب كل سطر فيه كما هو.
المهم في هذه المرحلة أن يعمل مشروعك بنفس الطريقة التي يعمل بها المشروع الذي اخترته. لا أكثر ولا أقل. ليس مهم الآن أن تفهم كل شيء. فقط احرص على الحصول على نفس النتيجة و مطابقتها للمشروع النهائي.
هذا يساعدك على تتبع أكثر الدوال المستخدمة في هذه اللغة. و معرفة أفضل الطرق لاستخدامها (best practices). كما أنه يساعدك على فهم تسلسل الكود في هذه اللغة (work flow) والهيكلية الصحيحة لتقسيم مشاريعك (project architecture).

4- ابدأ بالتعديل على الأجزاء التي لم تفهمها جيدًا أثناء كتابة المشروع

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

5- الآن اعد كتابة المشروع من البداية وليكن هدفك الآن أن يعمل كالسابق بلا أخطاء

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

تأثير  هذه الطريقة على طريقة تعلمي و عملي

في البدء عندما تخرجت من كلية الحاسبات والمعلومات في مصر كنت أعرف لغات برمجة C++ و C# ولكن هذه اللغات لم تساعدني كثيرا في إنجاز مشاريع تجريبية بشكل سريع، فهي مصممة لمشاريع الشركات الكبيرة أو مشاريع معقدة ومصممة للتعامل مع قواعد بيانات ضخمة، فقررت خوض تجربة تعلم لغات جديدة تتيح لي التحرك بحرية أكبر وتجربة عدد من الأفكار التي وددت تنفيذها في ذلك الوقت.
 ومع استخدام هذه الطريقة تمكنت من تعلم لغة Objective C لبرمجة تطبيقات آيفون، والآن لدي 6 تطبيقات على متجر تطبيقات آبل، أخرهم تطبيق انجز كتابلملخصات الكتب.
وتعلمت مؤخرًا HTML ،CSS ،Javascript وإطار العمل backbone لبرمجة مواقع الصفحة الواحدة. وآخر مشاريعي بهم موقعي انجز كتاب (الموقع المصاحب للتطبيق) و موقع الروتين (لمتابعة الروتين اليومي للأشخاص الإيجابيين).
ماذا تنتظر؟ تعلم لغة جديدة و شاركنا مشروعك الجديد.

تعليقات

المشاركات الشائعة من هذه المدونة

6 سمات تجدها في شخصية المبرمج

عندما تجد أحدهم يسير في الطريق و أصابعه تتحرك بتلقائية فهو ليس بالضرورة أن يكون عازف “بيانو” – و ليس بالطبع نشال – .. فإعلم انك من الممكن ان تكون امام ممتهن مهنة العصر…انه المبرمج .. أتذكر عند أوراقي لجهة و عند سؤال المسؤول عن مهنتي .. أجبت بكل فخر: “مبرمج”.. وجدته أنفجر ضاحكا .. التفت حولي لأجد الجميع يضحكون أيضا ! .. ثم قال لي  ضاحكا: “يعني بتعمل ايه؟” ! تلك الشخصية الجديدة في مجتمعنا لها خصائصها الفريدة التي تم اكتسابها بحكم عمله اليومي.. سأحاول هنا سرد بعض تلك الخصائص….

خوارزميات غيرت العالم وساهمت في تطوّر الإنسانية

سنتناول في هذا الموضوع اهم الخوارزميات التي تحكم العالم وساعدت في الاسهام في التطور التكنولوجي الذي نشهده الان وقد تم تجميعها بواسطة عالم الرياضيات إيان ستيوارت في كتابه “ملاحقة من المجهول و17 معادله غيرت العالم “ وتكمن قوه المعادلات في الربط بين الرياضيات والنظريات الفلسفية والابتكار البشرى والذي نتج عنهم جميعا حقيقة مادية. وتكشف لنا المعادلات والقصص التي تسردها عن السمات الحيوية في العالم حولنا فباختصار هذه هي قصة صعود الإنسانية ..

طرق بسيطة لرسم البسمة على وجه من تُحِب

الصديق من يدفعك بقوة نحو السعادة، أما أنت فتجذب أحزانه بنفس القوة، لتذوبان فرحاً. لن أتكلم كثيراً في كم نحتاج اليوم إلى الضحكة على وجه الناس، وكم نفتقد البسمة على ملامح البشر، لكن كلنا نعرف الواقع… وأنا هنا كي أغيّر الواقع! سأورد عدة طرق لجعل هذا الواقع أفضل، كلها قد جرّبتها، وكلها سهلة وبسيطة.