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


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


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

ملحوظة: روابط كل المنصات المذكورة ستكون في نهاية المقالة.


قرر أي لغة ستتعلمها ولا تركز سوى عليها


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

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


اقرأ عددا من الشروحات المكتوبة في اللغة التي تتعلمها


بدخولك في عالم البرمجة (خصوصاً إذا كنت جديداً) سيكون من المهم جداً أن تتعلم أبجديات وأساسيات كل لغة و لن تتمكن من بلوغ هذا سوى بقراءتك لعدد من الشروحات المكتوبة أو حتى بالفيديو، فكلمات عديدة ستكون جديدة عليك) مثل models، controllers، lambda functions... إلخ) و لن تتعلم معناها سوى بشروحات مكتوبة مفصلة أو مشروحة بالفيديو، بحيث و باطلاعك على هذه الشروحات سيبدأ عقلك بالوصل بين النقاط والربط بينها. يمكنك الاستمرار في قراءة هذه الشروحات حتى ولو لم تفهم منها حرفاً واحداً بحيث و بقراءتك للعديد منها ستستطيع أن تفهم المصطلحات المستعملة بالتدريج – مثل رياضة رفع الأثقال تماماً -. 

أيضا يمكنك الدخول لمنصة codeacademy والتي تقدم دورات في تعلم أساسيات الكثير من لغات البرمجة مجانا، وبالتالي سيكون تنظيم قاعدتك عاملاً مساعداً لك في احتراف اللغة التي أنت بصدد تعلمها (و أقصد بتنظيم القاعدة هنا الأساس المتين الذي ستبني عليه مستقبلك البرمجي).


حاول أن تندمج في مجتمع لغتك البرمجية


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

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

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


طبق 25 شرح خاص باللغة البرمجية التي تتعلمها


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

تطبيق 25 شرحا لهو أمر قوي بالتأكيد، ما أقصده أنه ليس الكثير من الناس يفعلون هذا (الكسل وما إلى ذلك) فأغلب الناس التي "تريد" أن تتعلم البرمجة تطبق على الأكثر خمس أو ست شروحات ولا تصل لهذا العدد "الكبير". لذلك فالحصول على ما تريده (وهو تعلم لغة برمجة في حالتنا هذه) يتطلب منك أن تستحقه وتطبيق 25 شرح سيجعلك "تستحقه" بمعنى الكلمة. وأسرع طريقة للحصول على ما تريده هي القيام بالعمل وتطبيق 25 شرحا) مع تطبيق الخطوات السابقة واللاحقة بالطبع) ! في حالة البرمجة فهذا أمر جد سهل كونك ستتعلمها وأنت مستلق في فراشك في منزلك، تسبح على الأنترنت في المدونات والمقالات ومشاهدة الفيديوهات بدون أن تحرك سوى أصابعك الصغيرة.. فالأمر ليس متعبا بل بالعكس فهو ممتع ! فكل شيء تم تقديمه لك على طبق من ذهب أكثر من أي وظيفة أخرى في أي مجال آخر تعرفه. فليس عليك أن تلتحق بالجامعة لتصبح مطور تطبيقات ويب مثلاً أو مختبراً للاختراق مثلا (الكثير من مختبري الاختراق لم يلتحقوا بالجامعة نهائيا وتعلموا كل شيء على الأنترنت – طبعا وأخذوا شهادات عالمية بعد تجاوزهم لعدد من الامتحانات التي تقدمها الشركات الكبرى اليوم: Google، compTIA، ... -) نعود للموضوع: فالمشكل الوحيد في البرمجة هو أنها تتطلب الكثير من العمل الجاد والمكثف، اختر 25 شرحا (أي نوع من الشروحات المتوفرة لا تقلق من تطبيق الشروحات طالما أنك تريد أن تحترف لغة البرمجة المطلوبة). يقول بروس لي: "أنا لا أخاف من الرجل الذي طبق ألف ضربة على مرة واحدة، أنا أخاف من ذلك الشخص الذي طبق ضربة واحدة عشرة الاف مرة"


فأنا لا أخاف من ذلك الشخص الذي يتقن الكثير من لغات البرمجة ويتعلم لغة برمجة واحدة كل ليلة، أنا أخاف من ذلك الشخص الذي يتقن لغة برمجة واحدة وتعلمها على مدى 25 يوم بحيث طبق شرح/اليوم (ليكون المجموع 25 شرح... يا للذكاء) ذلك هو الشخص الذي سيقوم بالعمل في شركة أمازون على تقنيات توصيل الطلبات عن طريق الدرون (طائرات بدون طيار) مثل Brian Beckman.

فمبدأ الـ 25 شرح هو فكرة لنقول لك عزيزي القارئ take action أي قم بالتطبيق باستمرار وبتواتر ثابت مثلا 50 شرح بمعدل شرح كل يومين أو 30 شرح بمعدل شرح كل يوم، كل شخص وظروفه بالتالي كل شخص وبرنامجه لتعلم اللغة التي يريدها فليس من هو متفرغ للتعلم كمن يعمل طوال النهار... يبدو أن الفكرة وصلت الآن.

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

نتمنى إننا شددنا من عزيمتكم في تعلم لغة برمجتكم المفضلة.. و لأولئك اللذين لم ينطلقوا فننصحهم بلغة python و javascript. و دمتم بخير.





و هناك المزيد من هذه المواقع

ليست هناك تعليقات