2009/08/12

Learning, No ending story

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

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

مع دخولي لكلية العلوم قسم البرمجة أتجهت نحو لغات C و ++C و Pascal و Fortran و Cobol، وأغليبتها كانت لغات عديمة الجدوى في الحياة العملية لذا أتجهت نحو الفيجوال بيسك 3 وكانت وقتها لغة قوية تحت بيئة الوندوز 3.11، وبالطبع تعلمتها من خلال الدورات التدريبية والكتب البرمجية، ثم وصلت حتى لغة VB6 وعندما ظهرت الإنترنت وجدت منجماً لاينضب من الأكواد والنصائح والتجارب البرمجية.

الأن دخلت لعالم البرمجة تحت مظلة Visual Studio 2008 وبلغة #C، ولا زالت الإنترنت مصدري الأول للمعلومات والأكواد والبرامج مفتوحة المصدر، وتتركز مصادري في التالي:

  • Newsgroups حيث أنها ملتقى المبرمجين الأول وستجد العديد من الأقسام التي ستروي عطشك البرمجي خصوصاً في المجموعة الإخبارية الخاصة بمايكروسوفت، ماعليك سوا طرح سؤالك ويقوم المختصون بالرد عليك.
  • Google في كل مرة أرغب في الحصول على حل برمجي لمشكلة ما فإنني أتوجه إليه وأحصل منه على روابط كثيرة لحل المشكلة، بل أنني في السنتين الأخيرتين لم أعد أقوم بتركيب مكتبة MSDN (وجدت أنها تستهلك مساحة على القرص الصلب وعندما أحتاجها أجدها بطيئة جداً ولا تعطيني ما أريد الحصول عليه) وأستعضت عنها بجوجل.
  • موقع Codeproject العظيم، ففيه ستجد العدي من المشاريع الكاملة وأغلبها مفتوح المصدر كما أنك تستطيع التراسل مع المبرمج، وستجد العديد منهم يستمعون إليك ويقومون الرد على أسألتك، كما يمكنك هناك نشر برامجك الخاصة.
  • Twitter وهو أخر صيحات الإنترنت، في البدأ لم أصدقه ولكن بعد التجربة أصبح رفيقي الدائم، حيث يمكنني متابعة أخر أخبار المبرمجين المشهورين ومتابعة مدونتاتهم كما أنهم يرسلون بين الحين والأخر روابط مفيدة، ويمكنك عن طريقه نشر سؤالك وسيأتيك الرد.
  • CodePlex وهو الموقع الخاص بتوزيع البرامج مفتوحة المصدر مجاناً، ستجد بعض البرامج الصغيرة بالإضافة الى برامج كبيرة وأحياناً مكتبات مساعدة لبرامجك مثل Enterprise Library.
  • Bloggers من أكثر المواقع افادة للمبرمج، ويمكنك معرفة الإتجاهات الجديدة للمبرمجين الكبار مثل Eric Gunnerson و Charlie Calvert و Scott Mitchel و Scott Guthrie وغيرهم الكثير، كما ستجد مدونات أخرى على موقع MSDN، كما ستجد العديد من المبرمجين العرب الذين لا تقل خبراتهم عن بقية المبرمجين الأجانب.
  • الكتب، فالكتاب كان وسيبقى المصدر الأول للمعلومات، يمكنك الدخول على موقع Amazon لمعرفة أخر إصدارات الكتب في مجال معين، ثم يمكنك بعدها الحصول عليه سواء عن طريق البريد أو التحميل من الإنترنت، وأنصح بتحميل كتاب واحد وقرائته، تم تحميل كتاب أخر بعد إكمال الأول.
  • المنتديات، فهي كانت مكان تجمع المبرمجين المحترفين والمبتدئين، مع ان العديد منهم غادرها بسبب قيام بعض الأعضاء بكتابة مواضيع فارغة المحتوى، ومن المنتديات العربية الخاصة بالبرمجة والتي أستفدت منها كثيراً منتدى www.vb4arab.com و www.arabteam2000.com.

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

1 comment:

Anonymous said...

Hi Tarek
You've forgot to mention the experience you gained and shared while working with ELMAWRID's team ..
M.B.