هناك المئات من الطرق لتعلم أي شيء وخصوصًا البرمجة، وهذه هي الطريقة التي اتبعها في تعلم البرمجة وبالطبع ليست اختراعًا ولكني تبنيتها من عدة طرق ووجدت أنها الأفضل.
هذه الطريقة مناسبة لأي شخص يحب أن يتعلم لغة برمجة جديدة سواء كان مبرمج أو حتى شخص لم يتعرض للبرمجة من قبل. وهي موجهة أكثر للأشخاص الذين يريدون تعلم لغة برمجة جديدة لهدف. مثل هدف إنشاء مشروع أو شركة ناشئة. فتعلم البرمجة لإنشاء مشروع يسهل من العملية ويعتبر دافع ذاتي لإكمال عملية التعلم.
هم خمس خطوات عملية، أنصحك باتباعهم بنفس الترتيب، فهي تنتقل بك من مرحلة إلى الأخرى بحيث أن كل مرحلة تعتمد على سابقتها.
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 لبرمجة مواقع الصفحة الواحدة. وآخر مشاريعي بهم موقعي انجز كتاب (الموقع المصاحب للتطبيق) و موقع الروتين (لمتابعة الروتين اليومي للأشخاص الإيجابيين).
ماذا تنتظر؟ تعلم لغة جديدة و شاركنا مشروعك الجديد.
تعليقات
إرسال تعليق