بدايتي مع عالم البرمجة!

في هذه التدوينة راح اكتب عن موضوع غريب شوي, موضوع صراحة ما احب اتكلم فيه ولكن قررت ادونه وانشره, طبعا اذا ماكنت من المقربين لي او اذا ماسألتني قبل كذا ماراح تعرف المعلومة هذه, انا من المبرمجين اللي بدأوا في مجال البرمجة من عام 2002 او 2003! , نعم هذه هي الحقيقة ممكن تعتبرني قديم شوي او بالمصطلح العام “مغبر من جيل الطيبين” ولكن هذه هي الحقيقة, في هذه التدوينة راح اكتب عن تجربتي في هذا المجال الغريب!.

البداية عام “2003” :

بدايتي في مجال البرمجة كانت نوعا ما عبارة عن فضول, وجدت امامي كتاب يشرح طريقة البرمجة بلغة VB6 , الفضول دفعني للبحث عن اللغة هذه وماهي البرمجة وما هي الامور التي من الممكن ان انتجها من خلال البرمجة, في ذلك الوقت كان الانترنت نوعا ما صعب الحصول عليه واذا كان متوفر لديك فسرعته لاتتعدا 20KB ! نعم لك ان تتخيل هذه السرعة, بحثت عن كتب توضح لي ما ابحث عنه, وجدت كتاب اسمه “تعلم اساسيات الفيجوال بيسك ٦”(لا اتذكر الاسم بالتحديد).

توفرت لدي الكتب والمصادر ولكن باقي البرنامج! كيف راح ابرمج بدون الـ IDE! الحصول عليه من خلال الانترنت شئ من اصعب المستحيلات , لذلك بدأت رحلة البحث عن البرنامج على اسطوانة CD, بالصعوبة وجدت نسخة عند احد المحلات والطبيعي انها نسخة غير اصلية ولكن لابد ان ابدا وانطلق.

جميع المصادر و البرامج اللتي احتاجها متوفرة لدي, ولكن السؤال الاهم! كيف ابدأ؟ سؤال صعب! من احد الافكار اللتي حاولت ان اطبقها هي فكرة “انسخ والصق بدون ما تفكر!”, بدأت بنقل الامثلة مثل ماهي من الكتب خطوة بخطوة وفجأة قدرت اشغل اول برنامج لي لحساب مساحة المربع! نعم اعتبرته انجاز كبير, ولكن هل اتوقف الان؟ بالطبع لا, من احد الاسئلة اللتي خطرت ببالي “ايش هي الخطوة اللي بعد كذا؟ سؤال جديد اصعب من السابق”, ولكن الحل ان احاول ان افهم الكود, فمساحة المربع تحتاج مني قيمة متغير واحد “طول الضلع” ولكن اذا اردت حساب مساحة مستطيل مثلا, كيف سأستطيع استخدام متغيرين للضلعين؟ حاولت بشكل او بأخر ان اعدل في الكود الى ان استطعت ان انشئ متغير ثاني وبهكذا انشئت برنامج ثاني!.

هذه هي الخطوات اللتي اتبعتها مع اول برنامج, وبعد ذالك حاولت ان ابحث عن افكار ومع كل فكرة كنت اعتبرها تحدي جديد, ابحث في الكتب واسأل اي مبرمج اعرفه عن طريقة تنفيذ الفكرة, فـ استمريت على هذا الحال لمدة سنتين.

2005:

في بداية عام ال 2005 بدأ الانترنت ينتشر في السعودية, وبدأت نوعا ما ثورت الانترنت والمواقع والبريد الالكتروني وبرامج المحادثة, عند دخولي لعالم الانترنت بدأ فضول جديد الا وهو المواقع الالكترونية وكيف ممكن ان تبرمج! وكيف ممكن املك موقعي الخاص!, في هذه اللحظة توقفت تماما عن برمجة تطبيقات سطح المكتب وتغير توجهي بالكامل ,بدأت مرحلة البحث عن مصادر جديدة لبرمجة الويب, نوعا ما البحث عن مصادر للويب كان اسهل من السابق بسبب وجود الانترنت امامي, بدأت مع الـ HTML وانشاءت اول صفحة لي مكتوب بداخلها اسمي وبريدي الالكتروني “جمييييل”, و لكن لأكون صادقاً لم يعجبني الوضع لان المواقع الموجودة على الانترنت كانت تتفاعل مع المستخدم بينما صفحتي لا تقدم اي شئ, الحل ان افهم كيف المواقع والمنتديات تعمل, فـ خلال بحثي في الانترنت وجدت منتديات vBullation “عبارة عن ملفات ترفعها على السيرفر وبشكل تلقائي next-next المنتدى يصبح جاهز!” ولكن المشكلة كيف ممكن استخدم السيرفر ومن فين اقدر اوفر او اشتري لي مساحة! وجدت خلال بحثي شركات تقدم مساحات مجانية, وبالفعل سجلت وحصلت على اول مساحة لي ورفعت ملفات المنتدى وثبته(لك ان تتخيل ان سرعة الرفع في ذلك الوقت لاتتعدا 10kb غير الانقطاع المستمر في الاتصال) و اصبحت امتلك اول منتدى لي على الانترنت! ولكن الصدمة الكبرى انه بعد اسبوع والتعب مع الرفع, السيرفر بالكامل تم حجبه في السعودية! فكرت بحل ولكن للاسف قررت توديع ملفاتي وابدأ بمنتدى جديد مع شركة مدفوعة والحمد لله اشتركت ورفعت ثاني منتدى لي واستمر قرابه السنتين, خلال هذه الفترة تعلمت الـ PHP, HTML, SQL and CSS لاني كنت احتاجها في التعديل على ملفات المنتدى, استمريت في مجال الويب قرابة الاربع سنوات.

وفي بدايات سنة 2008 قدمت مشروعين لمسابقتين في الاولمبياد الوطني للحاسب الالي على مستوى المملكة, مشروعي الاول عبارة عن موقع CMS مبرمج بلغة PHP للإدارة موقع الثانوية التي كنت ادرس بها, والثاني محاكي Anti-virus مبرمج بلغة VB6 والحمد لله حصلت على المركز الاول على مستوى المملكة في المسابقتين.

2008:

تقريبا في هذه السنة بدأت في مجال جديد مع لغة C ممكن تتفاجئ النقله الغريبة للغة هذه, ولكن احتجت ان انتقل واتعلم الـ C لسبب اني كنت مشارك في فريق المدينة المنورة للروبوت, ولبرمجة هذا النوع من الروبوت امامك حليين, الاول استخدام محاكي خاص بهم Drag and drop او برمجة المايكروكنترولر بالـ C, واجهتنا مشاكل مع المحاكي هو انه في بعض الاوامر مانقدر ننفذها ونضطر نكتبها بشكل يدوي فاستمريت تقريبا مع اللغة هذه قرابة السنة او السنة والنصف.

شاركت ضمن الفريق في مسابقات تخص الروبوت على مستوى المملكة والحمد لله حققنا المركز الاول والثالث في احد المسابقات.

2010:

بعد تخرجي من الثانوية وقبل أن ابدا مشواري الجامعي, الحمد لله قدرت ان امثل الممكلة في مسابقة IOI 2010 في كندا بمسابقة International Olympiad in Informatics.

2011:

هذه السنة ممكن اعتبرها هي النقله في حياتي, اول سنة لي في كلية الحاسبات, واللغة المعتمدة في الكلية هي ال Java, طبعا الموضوع هنا نوعاّ ما كان جديد علي وخاصة مفهوم الـ Object-Oriented انك تنتقل من لغة الـ C الى الـ Java يعتبر شي صعب نوعا ما! السبب هو انني كنت متعود على موضوع الـ Pointers وان كل شي لازم انت تبنيه بنفسك, وفجأة تجد لغة توفر لك كل شي! “انه النعيييم :)” هذا الشئ هو اللي حمسني اني اتعلم هذه اللغة, مصادر الجافا متوفرة بكثرة سواء كانت مواقع او كتب, فاستمريت مع لغة الجافا لمدة سنتين برمجت خلال الفترة هذه العديد من المشاريع.

في هذه السنة احتكيت مع طلاب متخصصين في الحاسب بشكل عام, فـ وجدت الكثير منهم ربما مبتدئين مع البرمجة والبعض الاخر يواجه مشاكل في طريقة التعامل معها, وايضا الكثير منهم يواجه مشاكل في الحصول على مصادر تساعده في التخصص, لذلك قررت ان اساعدهم وان لا تقتصر مساعدتي على كليتي فقط بل تشمل الكل, ففتحت حساب في Twitter و Ask وغيرها, اطرح فيها واحاول ان ارد على الاستفسارات التي تتعلق بالبرمجة بشكل خاص او الحاسب بشكل عام.

2012:

في اواخر سنة 2012  بدأ عندي فضول برمجة برامج الـ Android , طبعا بما انها تعتمد على الجافا فأكيد ان النقطة هذه راح تكون من صالحي, صراحة حاولت مع الاندرويد ولكن الفكرة هذه اعتبرتها اسوء فكرة حاولت اطبقها, كرهت الاندرويد وبرمجته وتركته فترة, بعدها بـ 5 شهور اجبرت نفسي على برمجة الاندرويد والحمد لله اطلقت اول برنامج لي على الاندرويد حاسبة البلوت ٫ومن بعدها اطلقت برنامجين لـ Android Wear “التقويم الهجري” و “مواقيت الصلاة“, على حسب كلام بعض المختصين ان برنامج التقويم الهجري هو اول برنامج تقويم هجري يطرح لمنصة Android Wear.

2013:

المايكروكنترول! خلال بحثي في احد المتاجر الالكترونية وجدت قطعة تسمى بالـ Arduino, لا أدري ماهي ولا أعرف عنها شئ فبحثت كثيرا عنها وما وجدته هو انها قطعة بها مايكروكنترولر وبامكاني ان ابرمجها بلغة C وابني من خلالها العديد من الاجهزة! اشتريتها على الفور وبدأت في تنفيذ العديد من المشاريع عليها, واجمل مافي هذه القطعة هي انها خارجة عن تخصصي فهي تجمع بين ” الهندسة الكهربائية, هندسة الحاسب, وايضا البرمجة”, لذلك كانت تعتبر تحدي جديد مع نفسي.

 2014:

السنة الأخيرة في تخصصي! هذا يعني ان اقدم مشروع تخرج للكلية, فكرت كثيرا في هذا الموضوع وماهو المشروع الذي استطيع ان اقدمه كمشروع لتخرجي, فوجدت ان افضل حل هو ان اقدم مشروع على منصة الاندرويد, لماذا اخترت هذه المنصة بالذات؟ بسبب انني كنت اتعامل معها بشكل كبير في تلك الفترة وكان لدي اليقين التام انني سأستطيع ان اكمل مشروعي بالكامل وعلى أكمل وجه بإذن الله. ونعم بتوفيق من الله أستطعنا ان نقدم مشروع كان عبارة عن شبكة اجتماعية “سَجل Sajjel” متكاملة على الاندرويد,  وحصلنا على درجة A+ في المشروع وافضل مشروع قُدم على مستوى الكلية.

2015: 

وتخرجنا والحمد الله من جامعة الملك عبدالعزيز بتخصص علوم الحاسبات, ولكن هل يعتبر هذا هو نهاية الطريق؟ هل سيتوقف مشوار البرمجة؟ بالطبع لا,,, فجميع ماسبق ماهو الا البداية.

الخلاصة:

لو سألتني اليوم :

  •  لو رجعت في الزمن, هل راح تعيد نفس التجربة؟ 

اكيد نعم 🙂

  •  هل تعتبر نفسك متقن للبرمجة؟  

لا, في كل يوم اكتشف اني اجهل امور اكثر من اللي اعرفها.

  •  هل تفكر بالتوقف عن البرمجة؟

نعم ولا ! تسألني السبب اقول لك ” الله أعلم 🙂 “

  • من هو أفضل معلم؟

المواقع والكتب واليوتيوب.

  • هل استفدت من البرمجة في حياتك؟

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

  • كيف ابدأ مع البرمجة؟

بأربع أمور, التوكل على الله, الصبر,البحث والقراءة, والتطبيق التطبيق التطبيق.

 

آذكروا الله كل ما رأيتم ما يعجب العين أو تتمناه النفس 

Share:
10 comments on بدايتي مع عالم البرمجة!
youssef Idrees
  • ديسمبر 15 2014
  • رد
ما شاء الله قصة روعة اهنيك على تاريخك الى الامام يا وحش
ali majrashi
  • ديسمبر 16 2014
  • رد
مبدع قريت القصه اكثر من مره استمر اتمنى لك التوفيق من كل قلبي انا احمد ربي ان هوايتي البرمجه كل يوم شي جديد بحر ممتد غير منتهي للطموحين اهنيك
saleh kheiran
  • يناير 10 2015
  • رد
ماشاء الله حياه مليئة بالمثابره والنجاح أتمنى لك مزيد التقدم ،
بتيل
  • أبريل 2 2015
  • رد
الله يوفقك و يبارك لك ، حقيقي قصتك مرررة شجعتني و حمستني إني أكمل و إن الإنسان بالتدرج حيوصل للي يبغاه بإذن الله وتوفيقه ، الله يجزاك الخير ...
Murad otb
  • يونيو 10 2015
  • رد
قصة جميلة ورائعة وتصلح تحفيز للأخوة المبتدئين في مجال البرمجة .. الي أنا منهم :p الله يوفقك اخ عبدالله ومنها للأفضل إن شاء الله .. خالص ودي
Lama
  • أغسطس 29 2015
  • رد
ما شاء الله الله يوفقك ويسعدك صراحة قصة بدايتك مرره ألهمتني وحمستني أكثر اني اصير مبرمجه وانت اعتبرك قدوه ماشاء الله
ali kaled
  • سبتمبر 17 2015
  • رد
كل ما طفشت من التعلم اقرا تدوينتك هذي !
Zainab
  • أكتوبر 6 2015
  • رد
قصتك جميله جدا .. حبيت شخصيتك احسك شخص طموح ان شاءالله تصير قدوه لي بتعلم البرمجه
Q.A
  • يناير 27 2016
  • رد
???...

Post a comment

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *