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

١_ البعض قد يظن أن البرمجة شئ لم يحث عليه الإسلام أو أنه لا يكسب الأجر من الله في تعلم البرمجة وهذا مفهوم خاطأ ، لأن رَسُولَ اللَّهِ صَلَّى اللَّهُ عَلَيْهِ وَسَلَّمَ يَقُولُ : « أَلَا إِنَّ الدُّنْيَا مَلْعُونَةٌ مَلْعُونٌ مَا فِيهَا إِلَّا ذِكْرُ اللَّهِ وَمَا وَالَاهُ وَعَالِمٌ أَوْ مُتَعَلِّمٌ » .، وفي الحديث الآخر : "ومن سلك طريقا يلتمس فيه علما سهّل اللّه له به طريقا إلى الجنّة ..." .

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

٢_ خطأ يحصل كثيراً في التعلم وهو أن تتعلم من أكثر من مصدر * في وقت واحد* وهذا يسبب لك تشتت أفكارك وعدم التركيز وسرعة نسيان ما تتعلمه ، وعندنا مثل في السعودية نطلقه على هذا التصرف يقول " كنك يا زيد ما غزيت" .

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

٣_ لا تستعجل في التعلم حتى لا تنسى ما تعلمته فمثلا إذا أردت أن تتعلم لغة C++ أو Java فلا تحاول أن تلم جميع المواضيع بفترة ستة أشهر أو سنة ، لأني لو سألتك بعد سنة عن جزيئة تعلمتها في السابق قد تقولي " ما فيه معلوم صديق " .

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

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

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

يقول رود : " من المذهل جدا انك تجد الكثير من الناس يدخلون في مناوشات الى حد الحروب الدينية! في اثبات ماهي افضل لغة برمجة. وهي في الحقيقة مضيعة للوقت. لانك تستطيع عمل أي شئ باي لغة برمجة. "

، لكن كلامي هذا لا يعني أنك تظل طيلت حياتك على لغة واحده ، أبداً تعلم أكثر من لغة لكن بشرط واحد (هي آن تتمكن من اتقان اللغة الأولى وعمل مشاريع كثيره بها حتى يرسخ ال Syntax و قواعد اللغة) وبعدها أبدأ في اللغة الأخرى .

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

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

٨_ لا بد أن تراجع ما تعلمته بين الفينة والآخرى ، لأنك ببساطة إنسان ؛ وأفضل طريقة للمراجعه وتطوير مستواك البرمجي هي Learn by Doing ، بمعنى أنك تراجع ما تعلمته بالتطبيق العملي وتعمل مشاريع تتحدى فيها نفسك لكي تراجع معلوماتك وتطور من شيفرتك .

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

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

وهناك طريقة بسيطة يستعملها الكثير وهي أن تقوم بكتابة سؤالك بالعربي في مترجم قوقل أو بنق ثم تنسخه وتبحث ، ولكن قد لا تصل للنتيجة المطلوبه بسبب أن الترجمة لا تكون دقيقة أو أن المترجم يكتب نفس الكلمة العربية بحروف انجليزية عند الترجمة فلا بد أن تكون يقظاً وتعدل على الترجمة وأن تجعل الكلمات الأساسية في اللغة كما هي بالإنجليزية مثل Class , Activity ، إلخ .

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

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

أتمنى أن تكون مقالتي قد أفادتك وكلنا نستفيد من بعض فإذا كان هناك أي خطأ أو اختلاف بالرأي فأنا ارحب به و قلبي يسعه ..