قبل أيام، كتب أخي عمر قعدان في مدونته مقالا بعنوان “شيفرة مصدرية للقراءة” و في آخره استعمل أسلوب “الموجة” في المدونات و هو أسلوب مبتكر في عالم التدوين يقوم صاحبه بكتابة مقال، ثم يطلب في آخر المقال من مدونين معينين كتابة المقال نفسه لكن من تجربتهم الشخصية، و بدورهم يفعلون الأمر ذاته مع آخرين إن أرادوا.
يطلق على هذا الأسلوب في الإنجليزية كلمة “Tagging” و برأيي أن أقرب مرادف لهذا المعنى في اللغة العربية ضمن هذا السياق هو كلمة “موجة”. و ها أنا أستجيب للموجة التي أطلقها أخي عمر.
أفصح عمر في مقالتين له عن كيفية تطوير المبرمج لنفسه، و طلب في موجته الإجابة عن ثلاثة أسئلة:
-
كيف تصقل مهارتك كمبرمج؟
-
ما رأيك بفكرة قراءة الشيفرة المصدرية للتعلم؟
-
و هل هناك برامج مفتوحة المصدر تعلمت منها؟
بالنسبة لي، صقل المهارة يكون: بالتأسيس من خلال القراءة و العلم النظري، و من ثم بالاستكمال في التطبيق العملي. فبدون أي من هذين الجناحين لا أتصور نجاح أي مبرمج أو تقني. فالقراءة و الجانب النظري يثري الجانب العلمي، و التطبيق يأكده؛ إما أن يشكك في صحته و ينفيه، أو يزيد من يقينه.
و إذا ولجنا بتفصيل أكبر في الموضوع، أرى أن في الجناح الأول – و هو الجانب النظري- قد تقيدنا فيه النقاط التالية:
-
بالنسبة للمواضيع الأساسية و القواعد الأولى لأي علم، يكون المصدر الأمثل للمعلومة هو الكتاب المفصل أو المقال الطويل أو المتسلسلات Tutorials (أروعها بالنسبة لي 4guysfromrolla)؛ فلأهميتها لا بد من قراءة متمعنة و عميقة ترسم في الذهن الأبعاد كلها، و تستكمل جميع جوانب الموضوع بتفصيل واسع و دقيق. أمثلة على هذه المواضيع: في عمل البرمجة بالدوت نت “أنواع المتغيرات في الـدوت نت”، في علم البرمجة في مجال الإنترنت “دورة حياة صفحة الـASP.NET” و هلم جر.
-
أما إذا كنت تبحث في علم لست مهتما به كثيرا، أو بعلم يهمك لكن بموضوع يلامسه من بعيد -نسبيا-، فتكون من خلال قراءة المقالات العامة، و التدوينات، و الفيديوهات (أولي بها أهمية أكبر لنجاعتها بتوصيل المعلمومة، و أضيف على عمر فيديوهات ASP.NET)، أو حضور المحاضرات التي تكون بمثابة “مدخل” لهذا العلم.
-
سؤال و متابعة المحترفين؛ مثل متابعة المدونات كمدونة: “سكوت ميتشيل Scott Mitchel” و “سكوت جوثري Scott Guthrie“، أو استخدام تويتر twitter.
-
قراءة “الشيفرة المصدرية” أو الـ Source Code لبرامج أنشأها مبرمجون محترفون في المجتمع، و هي من أهم طرق تحصيل العلم البرمجي؛ فهي مثال حقيقي مجرب بأيدي محترفين ذوي سنوات طويلة من الخبرة، تستطيع من قراءة المصدر أن تفهم كيف يفكر، و متى يستخدم أسلوبا معينا، و كيف يحل معضلة واقعية مشهورة. أمثلة: ASP.NET MVC Nerddinner، RSS.net، و Ninject.
-
تعليم الآخرين و إعطاء المحاضرات أو كتابة المدونات إن أمكن، فلا يزيد ترسيخ المعلومة -بعد التطبيق- أكثر من تعليم الآخرين (و هنا أقول لا تبخل بالمعلومة أبدا أبدا، فالخير العائد إليك أكبر بكثير من ما قد يخطر على بالك من الخسارة إن وجدت)
أما بالنسبة للتطبيق فهو استكمال البناء، فلقد تعلمت من بنيان Bunian أكثير من أي شيء آخر (على الرغم من أنه غير مستكمل لغاية الآن)؛ فإن تابع الشخص كل مدونين التكنولوجيا، و قرأ كتب العظماء، و شاهد جميع الفيديوهات و المتسلسلات، و لم يفتح Visual Studio و طبق ما عرف، فاعلم أنه ليس سوى فقاعة كبيرة -و للأسف-، و سيخونه علمه في أبسط التحديات البرمجية على الطريق.
و أخيرا، من أكثر ما يزيد مهارة الشخص، هو الهمة في التحصيل، و هذه الهمة تزيد أضعافا عند مشاركة الآخرين، سواء في مجتمعات البرمجة الحقيقية (كـ Jordev هنا في الأردن)، أو كالمجتمعات على الإنترنت (كـ www.vb4arab.com). فبمجرد أن تتكلم مع من يشاركك هذا الشغف، لن تتمالك نفسك حتى تعود للمنزل و تفتح الجهاز و تستمع بسماع صوت طرق لوحة المفاتيح :).
و أمرر هذه الموجة إلى كل من: أحمد أبو عرجة، و طارق سيالة. دون أن يكون هذا على وجه الإلزام.
جزاك الله خيرا
بخصوص تجربتي الشخصية لم أجد أفضل من قراءة الشيفرة المصدرية للبرامج مفتوحة المصدر
مؤخرا استفدت كثيرا من مشروع Kigg (ASP.NET MVC)
ملاحظة بسيطة: رابط منتدى vb4arab فيه خطأ 🙂
رائع!
و ها أنا أضيف الرابط:
http://www.codeplex.com/Kigg
بالتأكيد سأطلع على KIGG إن شاء الله.
و شكرا لتنبيهي لرابط المنتدى vb4arab أخي مروان، عدلت الرابط الآن 🙂
شكرا لك اخي عماد كنت اول من رد على الموضوع و قد حدثت المقالة برابط إلى تدوينتك
شكرا للتمريرة وهذا ردي على الواجب
http://tarksiala.blogspot.com/2009/08/learning-no-ending-story.html
شكرا اخي عماد
فعلا موضوع مهم
واستفدت به جدا
في انتظار مواضيع اخري لحضرتك
احبك في الله
حياك الله أخي هيثم، و شكرا على الكلمات الطيبة.
أحبك الذي أحببتني له:)
Pingback: شيفرة مصدرية للقراءة !! « المدرسة العربية للبرمجة