أهم أقسام المدونة

الصفحات

الأربعاء، 17 يناير 2018

عشرون عاما من البرمجة 1


عشرون عاما من البرمجة
(1/4)



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

***

 
من القلائل الذين تركوا بصمة في شخصيتي في كلية الهندسة، أ. د. محسن رشوان، وهو أستاذ الالكترونيات والهندسة الكهربية في قسم اتصالات بكلية الهندسة جامعة القاهرة، وشخصية رائعة أثرت في أجيال، وهو أحد مؤسسي الشركة الهندسة لتطوير البرمجيات RDI واسمها اختصار "مؤسسة البحث والتطوير" Research & Development Institution، وكان شعاره "إن لم نكسب منها نقودا، نكون قد أنتجنا بحوثا".. وتحت هذا الشعار الرائع من عالم يبحث عن إضافة حقيقة للعلم في مصر وليس النقود في المقام الأول، اقتحمت الشركة مجالات معقدة في التسعينيات، مثل ضغط الصوت والتعرف على الكلمات العربية المنطوقة أو المكتوبة، والتحليل الصرفي وفض الالتباس بين الاحتمالات الصرفية من خلال السياق، ونطق الكلمات العربية المكتوبة، والتشكيل النحوي الآلي، وصولا إلى "حفص": شيخ الكتاب الرقمي الذي يقيّم تجويدك للقرآن الكريم من خلال قراءتك الصوتية!.. وكل من يعملون في هذه التقنيات سجلوها كرسائل ماجستير ودكتوراه ونشروا عنها بحوثا في دوريات عالمية مشهورة، ومنهم د. م. محمد عطية العربي.
وبجوار ما يشرحه من مواد تخصصه، كان أ. د. محسن رشوان ـ وأظنه ما زال حفظه الله ـ يشرح مادة الإنسانيات في الكلية، وهي مادة عابرة للتخصص الهندسي، تحاول أن تمنح المهندس خلفية بسيطة عن الاقتصاد والقانون والإدارة وغيرها من الأمور التي سيحتك المهندس بها في عمله بعد ذلك.
ومن خلال هذه المادة، كان د. محسن يمنحنا بعض الخبرات في إدارة البرمجيات، وفي السنة الثانية لنا في قسم الاتصالات بكلية الهندسة، طلب من كل منا أن يكتب في نصف العام مشروعا برمجيا بأي لغة برمجة وعن أي فكرة جيدة يختارها، بنفسه أو مع مجموعة طلابية، ليعطينا على هذا المشروع درجات أعمال السنة، وكانت هذه بدايتي الحقيقية في البرمجة.
***

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

والمشكلة الثانية أنني لم أكن أستطيع أن أعمل مع فريق عمل، ففي نصف العام عدت إلى محافظة دمياط كما ذكرت، ولم يكن الإنترنت منتشرا في مصر حينها لتسهيل التواصل، ولم يكن لدي حاسب شخصي في البيت أيضا!

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

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

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

 

ليست هناك تعليقات:

إرسال تعليق

ملحوظة: يمكن لأعضاء المدونة فقط إرسال تعليق.