75

10 نصائح للمبتدئين والمتقدمين في البرمجة ..

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

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

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

موضوع ومساهمة أكثر من رائعة أخي الكريم.

انت الأروع آخي ، وكلامك جداً جميل يشرح هذا التعصب المقيت

بارك الله فيك أخي على المقال الماتع، و شخصيا وجدت كل ما فيه صدقا عن تجربة..

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

و القاعدة في العلوم الدنيوية _مثل البرمجة_ أنه من سخرها في العمل الصالح بشتى أنواعه فإنه بإذن الله _إن أخلص في ذلك لله عز و جل_ فسيؤجر إن شاء الله..

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

و الله أعلم.

اتظن ان رسول الله لم يكن من اهل العلم هههه ومن شرح هذا لامه الاسلام( ثُمَّ خَلَقْنَا النُّطْفَةَ عَلَقَةً فَخَلَقْنَا الْعَلَقَةَ مُضْغَةً فَخَلَقْنَا الْمُضْغَةَ عِظَامًا فَكَسَوْنَا الْعِظَامَ لَحْمًا ثُمَّ) وغيرها الكثير من الايات والعلم الارض والبحر والنجم والسماء من شرح لقومه كل هدا ايها المثقف ؟

نصائح مهمة جدا

من الجيد أن تشارك الاخرين رأيك

مقال ممتاز... شكرا

شكرا اوجزت في كثير من الامور

أحسن نقطة تم ذكرها هي التعلم بالتطبيق فهي تعطي أكلها كثيرا

مقالة جميلة جداً ,

هل تسمح لي بنقلها مع بعض التعديلات ؟

اشكرك أخي ، لكن لو نفترض أنك كنت رساماً و رسمت لوحة فنية ابداعية بعد تعبك وتفكيرك وتعديلك هل تسمح لي بأن آخذها منك وأنسبها لنفسي !؟ فإذا كنت تسمح بذلك في عالم الافتراض فأنا أسمح لك في عالم الواقع ، لكن إذا أردت نقل مقالتي بدون تعديل ومع ذكر المصدر فلا بأس ..

11

اللوحة أو الفن عمومآ, شيئ مبتداها منتهاها

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

بالتأكيد يجب عليه توضيح المصدر الأساسى وأنه نقل عنك بتصرف

ويمكنك أن تقبل ذلك أو ترفض طبعآ

ههههه حسناً كما تريد ,

هل تسمح لي بأن آخذها منك وأنسبها لنفسي !؟

لهذا السبب قمت بسؤالك . فكان بامكاني نقل الموضوع دون علمك , ولكن اخلاقيا يجب ان تكون راضي عن ذلك ,


السلام عليكم ورحمة الله وبركاته

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

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

-2

وعليكم السلام ورحمة الله وبركاته ، اشكرك أخي و جزاك ربي خيراً

اخي سعد يعني تنصح الواحد انو لمن يشوف الفديو يكتب في ورقة المعلومات

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

نعم انت محق في ذلك

عندما كنت اتابع احد دروس الدكتور محمد امين قال شيئ مهم :

ياجماعه لازم نكتب كل كود في ورقه او علي الكمبيوتر علشان عقلنا ما يتشتتش ونحفظ بسرعه لان الاكواد كتيره وكمبتدئ صعب انك تحفظ كل الاكواد دي بسرعه غير الا لو سجلتها

بعدها اصبح الموضوع اكثر سهوله معي

-1

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

من احسن المقالات اللى ثبتتلى حاجات كتير من اهما

كنت لما اذاكر كورس معين

وبكتب بالورقه والقلم ورااه او الحاجات المهمه

وأرى من حولى بيذاكرو عادى

كنت اعتقد ان هذا التصرف خطأ وانا بضيع وقت

-2

اشكرك أخي الكريم وأٓحمد الله أن استفدت مني شيئاً

الرجاء الإكتفاء بالتقييم الإيجابي بدل توجبه الشكر لكل من علق

-9

وهل في ذلك ما يضير أخي ثمود ، احترماً لردودهم ، واشكرك على تقييماتك السلبية

11

وهل في ذلك ما يضير أخي ثمود ، احترماً لردودهم ، واشكرك على تقييماتك السلبية

نعم أخي يضر ، مجتمع أرابيا مجتمع للنقاش الهادف والطرح المفيد فهنا نبتعد عن اجواء المنتديات .. إكتفي بالتقييم الإيجابي فحسب ..

بإختصار :

+1=شكرا

نظام التقييم وضع لهذا الشيء، من المفترض ان تكون التعليقات امتدادا للموضوع والنقاش فقط

-6

معلومات مفيدة لكل مبتديء

-6

جزاك الله خيرا معلومات مفيده جدا

-7

جزاك الله خيراً كنت في أشد الحاجة لهكذا نصائح.

-6

آمين وإياك أخي الكريم