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

ux-787980_1280

هل تود تعلم لغة برمجة جديدة ، ولكنك لا تعرف من اين وكيف تبدأ. بحثت ووجدت كتب تساعدك في تعلم اللغة التي تحبها و لكنك وجدت طريقتها مملة في الطرح ، حيث مطلوب منك ان تكون فقط مجرد متلقي لمجموعة من القوانين و المصطلحات علي مدار رحلة التعلم.

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

هم خمس خطوات عملية، انصحك باتباعهم بنفس الترتيب، فهي تنتقل بك من مرحلة الي اخري بحيث ان كل مرحلة تعتمد علي سابقتها

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 لبرمجة مواقع الصفحة الواحدة. واخر مشاريعي بهم موقعي انجز كتاب (الموقع المصاحب للتطبيق) و موقع الروتين (لمتابعة الروتين اليومي للاشخاص الايجابيين)

ماذا تنتظر، تعلم لغة جديدة و شاركنا مشروعك الجديد.

محمد عبد العليم
مبرمج ايفون حر

الموقع الشخصي: mohamedaleem.co
تويتر: @mohamdaleem

تعليقات عبر الفيسبوك