تعلم البرمجة في 3 ساعات و 20 دقيقة و 55 ثانية
م الله الرحمن الرحيم
تعلم البرمجة في 3 ساعات و20 دقيقة و 55 ثانية
اللهم لك الحمد أنت نور السموات والأرض، ولك الحمد أنت قيِّم السموات والأرض، ولك الحمد أنت رب السموات والأرض ومن فيهن، أنت الحق، ووعدك الحق، وقولك الحق، ولقاؤك الحق، والجنة حق، والنار حق، والنبيون حق، والساعة حق، اللهم لك أسلمت، وبك آمنت، وعليك توكلت، وإليك أنبت، وبك خاصمت، وإليك حاكمت، فاغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت، أنت إلهي لا إله إلا أنت...أما بعد،
إن ما نشاهده اليوم من تطور سريع في مجالات الحياة، دفعنا لأن نعمل على مواكبة هذه السرعة الهائلة ..هذه السرعة دفعتنا لأن نطلب أمور مختلفة بأسرع وقت ممكن، لكن هذا الأمر ..تجاوز الحد الصحيح أو الطبيعي وأصبح فعلا مشكلة من المشاكل الكثيرة التي أصبحنا نعاني منها، والآن أترككم مع هذه المقالة المتواضعة والتي تخص محبين البرمجة الذي يرغبون بشق عالمهم الخاص في هذا العالم الرائع، لكنهم يخدعون بعبارات شتى ...كما يتبع:
الأول: ما رأيك بتعلم البرمجة في 3 ساعات و20 دقيقة و 55 ثانية !!
الثاني: راائع ..نعم بكل تأكيد ..سأبدء الآن ..
الوقت يمضي والثاني يحدث نفسه قائلا: مضت الساعة الأولى ..ثم الثانية ..والآن نحن بالثالثة ..أنهيت الوقت المقرر^_^، واحتجت فقط ل 3 ساعات و20 دقيقة و 50 ثانية ..كم أنا عبقري..مذهل ..
الأول: ماذا الآن يا صديقي...هل تعلمت البرمجة؟
الثاني: نعم، أنا الآن مبرمج أستطيع العمل ؟ لكن لم تعجبني هذه اللغات .!!
أو أنني سأنتقل لتعلم لغات أخرى ؟!
الأول: حسنا ..أنت مبدع ويمكنك ذلك بسهولة -_- ...
وهنا يأتي دور الثالث متعجبا ومتسائلا ماذا ؟ّ! ماذا؟!
أرجوك أن تنتظر يا صديقي حتى تنتهي من قرائة هذه الكلمات ..
الثاني: ماذا بك ؟! ..لماذا أنتظر، ولماذا علي أن أقرأ كلماتك ...؟
الثالث: لأنك بكل بساطة يا صديقي، لن تصبح طالب علم أو صاحب علم بهذا الأسلوب بتاتا، ولا يمكنك أن تتقدم فيما تعلمت أو ما ستتعلم ..لذلك وخوفا عليك أجد واجبا علينا أن نخبرك أن نرشدك لطريق الصواب ..وبعد ذلك أنت حر !
الثاني: حسنا ..تفضل
الثالث: صديقي العزيز هناك مجموعة من القواعد الأساسية لأي مجال من مجالات الحياة التي نعيشها ..ومن هذه القوانين مثلا ..أن الطعام لن يؤكل ثم يهضم لوحده وهو أمامك في أي إناء ... وحتى لو قمت بأخذ لقيمة من هذا الإناء ووضعتها في فمك، فهي لن تضمغ لوحدها، ولن تتم عملية الهضم قبل بلعها !!
بنفس المقياس ..التعلم، فالتعلم هو الطعام الذي ستقوم بمضغه ومن ثم بلعه ليتم هضمه، والعلم بذاته، هو الطعام الموجود بهذا الإناء .. وهذه العملية أيضا لن تتم لوحدها !!
والآن، سأوجه لك سؤالا ..هل اذا جلست أقرأ وأتعلم من الكتب الطبية ولمدة أسبوع ..سأصبح طبيبا؟
وهل إن جلست أقرأ وأتعلم من كتب الهندسة أصبحت مهندسا ؟!
وهل معرفتي بالسيارة وأجزائها وطريقة عملها تمكنني من تعلم قيادتها من هذه المعرفة فقط ؟!
الإجابة بكل تأكيد لا ثم لا ثم لا ...!!
ذات الأمر ينطبق على البرمجة صديقي، فالبرمجة وهي أحد مجالات الحاسب الآلي، ينطبق عليها الكلام السابق، فتحتاج الى معرفة علمية وعملية ..مخزون نظري ومعرفي في عقلك، واسلوب تفكير منطقي يتلاعب ويتحكم بهذه الأجزاء..
إن معرفتك في الصيغة العامة للغة، أو القواعد الخاصة بها، أو المحرر المستخدم لتنفيذ الأوامر البرمجية ..لا يعني أبدا أنك أصبحت مبرمجا !! أو أنك تعلمت البرمجة !!
ولا أقصد أخي وصديقي هنا أنني أحبطك ..أو أقلل منك أو من قدرك أو قدرتك أو معرفتك ..بل العكس ..أنا مؤمن بقدراتك أشد الإيمان ..لكني أأمن أيضا أنني لن أرضى بأن تقع ضحية الحماس أو المنشورات الدعائية وغيرها ..وأنا جالس أنظر اليك .. إن المسمى الحقيقي لما تعلمته من معرفة للصيغة العامة والقواعد وغيرها ..هو أنك بدأت في عالم البرمجة ..بدأت تتعلم البرمجة ..لكنك لم تصبح مبرمجا لهذه للغة .. وحتى تصبح كذلك ..يجب عليك أن تتعلم المزيد ..أن تقع في الأخطاء وأن تواجه المشكلات ..يلزمك ممارسة عملية أو تطبيق عملي – ولو كان صغيرا – حتى تكسب معرفة ضمنية تستطيع من خلال هذه المعرفة ومن خلال أعمالك التي أنجزتها أو يمكنك إنجازها أن تعد نفسك مبرمجا ... وغير ذلك .. أظنك ستكون واقعا في إحدى الأخطاء المميتة لطموحك أو أن هناك نهجا لا أعرفه بعد .!!
طبعا وكتخصيص لما ذكرت ..وكمثال أخير ..سأتطرق الى عالم الويب ..كشخص أعمل في مجال تطوير المواقع ..وهو ما نشاهده بكثرة في هذه الأيام، عند مقابلتي لأشخاص يرغبون بالعمل ..أو لأشخاص بدئوا بالتعلم لكنهم ضللوا أو ضلوا من قصد أو غير قصد....وهي لقد تعلمت ال HTML وال CSS وأتقنتها ..لكني لم أجدها ممتعة ..أو لم اجد بناء المواقع بها .. أو لم أستطع تقسيمها ..أو لم استطع تضمين صفحة ال css داخل ال html ..أو لم استطع كتابة بعض ال tags ..الخ، ماذا علي بعد ذلك ؟ ..وأيضا ما رأيكم بتعلم لغات أخرى غير الويب ..فأنا أرغب بالمزيد ..؟!
والعديد من العبارات والجمل وغيرها .. والتي يقف عندها المرء ضاربا على وجهة الشكل التالي : !!!!!!!!!!!!!!---___---!!!!!!!!!!!!!!!!!!!!!
طبعا أول مغالطة وأكبر مغالطة يقع بها صديقنا ..هو الظن بأنه أتقن تعلم تلك اللغات..!! صديقي أحب أن أعلمك ..أنني شخصيا لا أتجرء القول بأنني أتقنت تلك اللغات ..أو أنني وصلت بالعلم الى 50% من تلك اللغات حتى !! ولا تتعجب من ذلك، إن عالم البرمجة عالم كبير..وعالم الويب لوحده عالم كبير يقع ضمن عالم البرمجة كالمجرة ضمن هذا الكون ..لذلك أصدق ما يمكننا القول به هو قول الشافعي رحمه الله تعالى: "كلما ازددت علما ..ازددت علما بجهلي" ..
وبهذا أنت لم تستطع أن تكتب ال tags لأنك لم تتعلم طريقة كتابتها ..أو أنك تعلمتها قرائة ولم تمارسها !! أنت تعلمت كيف يمكنك تلوين الصفحة ..وتلوين الخط..وتغيير الخلفية ..لكنك لم تقم بتطبيق ذلك على صفحة حقيقية .. لذلك فأنت لم تستطع تعلم ذلك .. أنت قرأت عن ال padding وال margin ..لكنك لم تقم بتطبيق مثال أو تمارس ذلك عمليا ..فأنت لم تستطع المعرفة ..اين هو الإستخدام الصحيح والموقع الصحيح لكل منهما ..
إن كنت عارف ..لا يعني أنني فاهم !! ..(يمكنك قرائة هذه المقالة من قسم المقالات أيضا..)
صديقي ..وأخيرا أحب أن أعلمك أن نظرتك للبحث عن اللغات الأخرى ..أو الإنتقال الى مستوى آخر هو حماس مشتعل النظير ..لكنه سيكون مضرا لك في مراحل تعلمك ..بل على العكس ..سيكون بابا في تأخر تعلمك ..وهذا الحماس الذي تشع به ..ما هو الى نظرة عامة فقط لسماء تملأها النجوم !!
لذلك صديقي ..إن وجدت بدا من التعلم..وكنت ذو حماس كبير..أو مضطرا للتعلم السريع ..عليك أن لا تستغني عن
1) قرائة القواعد والصيغة العامة لهذه اللغة .ولا تنسى بكل تأكيد محدداتها وأهم إمكانياتها ...
2) تطبيق هذه الصيغ والقواعد مباشرة ورؤية النتائج.
3) التعديل والإختبار ضمن الحالات الممكنة أو يمكن التفكير بها ..
4) تطبيق المزيد من الأمثلة أو محاولة بناء مشروع صغير وسريع ..
5) قرائة + تطبيق ثم تطبيق وتطبيق ...
صديقي ..أرجوا أن تكون الفكرة المرادة وصلت ..وأرجوا منك أن يصلك ما أرمي اليه دون تحسس لهذه الكلمات ..بنهاية الأمر هذه الكلمات لك ..
الثاني: جزاك الله خيرا أخي الكريم .. فعلا قد أصبت الجرح وبإذن الله تعالى سنعيد توجيه العجلة من جديد ...نسأل الله تعالى أن تكون إجابتك مثل هذه أو أفضل ...
ملاحظات:
1) لم أقصد بهذا الكلام أي شخص أو فئة أو مجموعة بتاتا..وإنما هي نتاج ما أشاهده من مقابلات أو أسئلة تطرح، لذلك إن وجد منشور تنطبق عليه هذه الكلمات ..فأستميحه عذرا ..فأنا لم أقصد ذلك، ويصعب علي مشاهدة جميع المنشورات في المجموعات التقنية المختلفة التي يسمح لي بمشاركة مثل هذه الكلمات ..
2) مصطلح لغات الذي تم ذكره في المقالة هو مصطلح مجازي ..ال html مثلا هي markup language .. لكن لم أجد مصطلح يضم جميع ما يمكن أن يستخدمه المبرمج أو أن يصل اليه فكرة المشور أفضل من هذه الكلمة ..لذلك وجب التنويه.
وفقنا الله وإياكم لكل خير، ونفع بنا وبكم، وغفر لنا ولكم.
اللهم اغفر لي ولوالدي وللمسلمين أحيائهم وأمواتهم إنك سميع عليم رحيم كريم.
اللهم آمين.
وآخر دعوانا أن الحمد لله رب العالمين ..
أخوكم: أنيس أبو حميد.