وسام Microsoft
للمحترفين الأكثر قيمة
Most Valuable Professional
لعام 2005

رابط RSS

هذه ليلتي .. وحلم حياتي


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





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

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

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



[تركي العسيري]:
1. السؤال الأول (والذي يفرض نفسه بكل قوة الآن)، ما سر الغياب الطويل لأستاذ العرب الأول في البرمجة "جمال عمارة"، فمن بعد ما كنت الكاتب العربي (شبه الوحيد) في العصر القديم للغات البرمجة ومن بعد دخولك القوي جدا على الساحة، نرى انك اختفيت فجأة دون سابق إنذار؟

[أ. جمال عمارة]:
إذا كنت تقصد أنني "اختفيت" بمعنى أنني توقفت عن العمل، فهذا غير صحيح، فأنا أعمل وبقوة. أما إذا كنت تقصد أنني توقفت عن الكتابة التقنية في مجال البرمجة، فأنا أوافقك. فقد توقفت فعلاً عنها وانتقلت لمجال آخر، ولذلك عدة أسباب:

السبب الأول: اختلافي "الشديد" مع الناشر السعودي والذي أدى إلى فصم الاتفاق بيننا، بل -وللأسف الشديد- وصل إلى ساحات المحاكم. فقد حدث اعتداء صارخ على كتبي وصل إلى حد "اقتباس" كتب بأكملها وإهمال ذكر اسمي عليها، واقتباس معظم الكتب الأخرى وإعادة نشرها دون إذن أو حتى سداد حقوقها. وأنا لا أقول إلا شيئاً واحداً (حسبي الله ونعم الوكيل).

السبب الثاني: لم يقتصر الأمر على تعدي شخص واحد على كتبي، وإنما أصبحت الكتب مشاعاً لكل من سولت له نفسه التعدي عليها، فقد وجدت من قام بتصويرها وبيعها في العديد من الدول العربية، ووجدت من يأخذ فصولاً كاملة منها ويصنع منها مقررات دراسية، وغير ذلك. وبصراحة وصلت المسألة إلى حد أنني صرت الشخص الوحيد الذي لا يستفيد منها. ولكي تدرك أبعاد المسألة، فإنني أخبرك بأن كل استلمته من مستحقات عن كتاب "فيجوال بيسيك" الجزء الأول أو الثاني هو 10 آلاف ريال فقط من الناشر السعودي.

السبب الثالث: التكلفة المرتفعة للغاية التي تتطلبها عملية الكتابة الفنية (والتي لا شك أنك صرت تقدرها الآن لأنك قمت بتأليف العديد من الكتب بنفسك)، والمردود المنخفض لهذه الكتب نظراً لأن جمهورها أقل كثيراً من جمهور المجالات الأخرى.

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



[تركي العسيري]:
2. من المؤسف والمحبط حقا ان يتم التعامل مع كاتب مثلك بهذه الطريقة، ودار النشر (التي أتحفظ عن ذكر اسمها) كان الفضل -بعد الله- لك في بروزها بسبب مؤلفاتك. وبخصوص تسرب النسخ الغير شرعية، فلي تجربة مماثلة لك (جعلتني اتوقف عن الكتابة) وأعلم ما تحس به من ألم جيدا، وأعترف للجميع اني الشخص الوحيد الذي لم يستفيد من مؤلفاته!

سؤالي الثاني: ما وضعك المهني الحالي؟ ولماذا لا نرى صدى أو مشاركات لك على ساحات الانترنت طيلة هذه الفترة؟

[أ. جمال عمارة]:
أنا حالياً أملك مكتباً للترجمة يتخصص في ترجمة الكتب الأجنبية إلى العربية لصالح مكتبة جرير السعودية. وقد قمنا بحمد الله بترجمة مئات الكتب في مختلف المجالات، وصرت الآن أقود فريق عمل كبير نسعى من خلاله إلى تقديم كل ما هو حديث ومفيد للقارئ العربي. في بداية المشروع، كنا نقوم بترجمة العديد من الكتب في مجال الكمبيوتر، وفي البرمجة، ولكن بعد فترة من الوقت، قلّ الطلب على كتب الكمبيوتر بشكل عام في مختلف أنحاء العالم وبالتالي قلت كتب الكمبيوتر التي نترجمها حتى كادت أن تتوقف.

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

وقد فكرت منذ فترة في أن أنشئ موقعاً خاصاً بي، أقدم من خلاله مشاركاتي ومشاركات الكثير من المحترفين والمتخصصين، ولكنني وجدت أن إنشاء مثل هذه المواقع يتطلب الكثير من الموارد لكي يكون على المستوى المطلوب، وأهم هذه الموارد الوقت والتركيز، وهما نادران للغاية. في الحقيقة، إنني أشعر بمرارة في بعض الأحيان لأن المبرمج العربي -والمستخدم العربي بشكل عام- مظلوم لأنه لا يحصل على أيسر قدر من مصادر المعلومات المتوفرة للقارئ الأجنبي. فأنا أتأمل مثلاً موقعاً مثل asp.net (وغيره كثير) ومدى المشاركات والموارد المتوفرة عليه وكيف أنها متاحة وميسورة لمن يعرف الإنجليزية ولكنها موصدة أمام من ينطق بالعربية فقط. لقد رغبت في أوقات كثيرة أن أنشئ موقعاً مثل هذا، ولكن الدراسات المبدئية له أظهرت أنه سيكلف الكثير بشكل يخرج عن قدراتي مهما زادت. فمعظم المواقع الأجنبية تستمد تمويلها من الإعلانات، ولكي يحدث هذا يجب أن يكون هناك عدد فائق من الزوار، ولكي يصل هؤلاء الزوار إلى موقعك، فإنك يجب أن تقدم لهم محتوى يجذبهم، ولكي تقدم المحتوى القوي فإنك تحتاج إلى موارد وإمكانات، ولكي تتوفر لديك هذه الموارد والإمكانات، فإنك تحتاج إلى تمويل، وهكذا تدخل في الدائرة المفرغة. إضافة إلى هذا، فإن عدد الزوار المتوقعين من الناطقين بالعربية أقل بنسبة هائلة عن أولئك الناطقين بالإنجليزية، وبالتالي فإن "الجمهور المستهدف" أقل كثيراً.

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




[تركي العسيري]:
3. العالم العربي ابعد ما يكون عن حماية الملكية الفكرية، وبخصوص أملك في انشاء موقع عملاق للمبرمجين العرب، فقد سبقتك وقمت بانشاء "شبكة المطورون العرب" وباءت بالفشل لنفس الاسباب التي ذكرتها، يبدو لي ايضا ان ادمان المنتديات وتناقل المواد (بطرق غير شرعية) هي ابرز سمة من سمات مستخدمي الانترنت العرب (مع عبارتهم السحرية "حتى تعم الفائدة").

سؤالي التالي: نحن الآن في بدايات العام 2009، ونريد أن نعرف رأيك (بكل صراحة) في الوضع المحبط لكتب التقنية العربية (لا نتحدث عن المترجمة) وبالتحديد التي تناقش المواضيع البرمجية (مع استثناء كتب الأستاذ جمال عمارة فهي حالة شاذة لم يتكرر مستواها من أي كاتب عربي حتى الآن)؟

[أ. جمال عمارة]:
أولاً، أشكرك على رأيك في كتبي المتواضعة.

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

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

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

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

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

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



[تركي العسيري]:
4. يا سيدي الكريم بخصوص كتب "الطبخ" (والكتب الاخرى الي تقصدها) فأنا لا الوم دار النشر فردها التجاري يقول "الجمهور عاوز كده!" وليس لدى دور النشر أي استعداد للمجازفة وتحمل خسائر كتب غير مطلوبة، وفعلا الوضع مخيف وخطير جدا بنفس الوقت ويهدد المستقبل التكنولوجي لسائر الدول العربية مقارنة بما وصلت اليه دول العالم. اما بخصوص تجربتك مع الكتب العربية فقد ذكرتني بأيام التأليف عندما كنت المؤلف، المراجع اللغوي، المراجع النحوي، المراجع الاملائي، المراجع التقني، المراجع الفني، المفهرس، المرقم، المنسق، المخرج، مصمم الصور والرسوم، وحتى المصفف بنفس الوقت!

بغض الطرف عن البرامج المعربة، ما رأيك في مستوى منتجات البرامج العربية، وما سبب ضعفها وعدم انتشارها وكسب ثقة المستهلكين (المستخدمين) العرب لها؟ ولماذا برأيك نراها خارج المنافسة على المستوى الدولي؟

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

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

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

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

رابعاً، انشغال الشركات بحماية برامجها أكثر من انشغالها برفع مستوى هذه البرامج. فعندما تتوصل إحدى الشركات إلى برنامج متميز، فإنها تهدر قدراً كبيراً من مواردها على حماية هذا البرنامج. هل تذكر الشركات التي كانت تضطر إلى حماية برامج باستخدام الـ "دونجل" أو عن طريق وضعها على "بطاقات توسعة"؟ بالطبع هذه الحماية تكلف الكثير وتضع عبئاً إضافياً على الشركات، والشركات بدورها تمرر هذا العبء إلى المستخدم الشرعي الذي يشتري البرنامج. ولأن عدد المشترين قليل أصلاً فإن الشركة تضطر إلى رفع سعر البرنامج بشكل مبالغ فيه مما يضيّق الخناق على المستخدم الشرعي أكثر. ونظراً لضعف إمكانيات الشركات فإنه لا تقدم خدمة أو دعماً يتوازى مع السعر المرتفع الذي تكلفه المستخدم مما يدفعه إلى "الهروب" من البرامج العربية إذا أتيحت له الفرصة.

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



[تركي العسيري]:
5. أستاذ جمال اعتقد انها مسألة قناعة شخصية اكثر من مادية، فالشخص يدفع ألاف الريالات مقابل الحصول على جهاز او اشتراكات وفواتير اتصالات شهرية ولا يبدي استطاعة لدفع مئات الريالات من اجل برامج، فهي مسألة قناعة كما ذكرت، والدليل انك تجد شخصا يساهم في عملية قرصنة وسرقة برنامج ويجد التبريكات والدعوات من الناس "جزاك الله خير ونفع بك الأمة" على عملية سرقة! وأما من يفكر الهجرة من التقنية العربية، فانا من اكثر المؤيدين له وبشدة، ولو كنت محترفا وحصلت لي فرصة لما انتظرت دقيقة واحدة!

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

[أ. جمال عمارة]:
وضع المكونات مشابه بشكل كبير لوضع البرامج العادية، وربما يكون أسوأ حيث إنها أصغر حجماً ولا يكون من العملي حمايتها بأساليب الحماية العادية. والسؤال هو: ما الذي سيدفع أي شخص إلى تحمل تكلفة إنتاج مثل هذه المكونات إذا كان يعمل إنه سيبيع منها نسخاً محدودة للغاية ثم يجدها منتشرة على الإنترنت يحملها القاصي والداني؟

هل أقص عليك قصة مضحكة؟ لقد كنت -بفضل الله أولاً وأخيراً- أول مبرمج عربي أعرفه يقوم بإنتاج "مكوّن" عربي، وهو الأداة الصغيرة التي كتبتها مع الإصدار الثاني من كتاب فيجوال بيسيك والتي كانت تتولى تعريب البرامج التي تكتبها في بيئة التطوير. لقد كانت أداة بسيطة للغاية ولكنها تطلبت مني مجهوداً كبيراً لأنها كانت تتطلب معرفة بآليات العمل الداخلية لفيجوال بيسيك. لقد عرضت هذه الأداة للبيع بمبلغ 55 ريالاً. هل تستطيع أن تخمّن عدد الطلبات التي وصلتني لشراء هذه الأداة؟ لن أقول لك لأنني "مكسوف"، ولكنني اكتفيت بحجب الأداة وعدم عرضها للبيع ولم أصرف شيكاً واحداً مما وصلني.

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

والحل؟ حماية الحقوق الفكرية وزيادة الوعي بها بين المستخدمين.



[تركي العسيري]:
6. بخصوص الأداة التي طورتها فلازلت اذكرها (تحمل الاسم "معرب أدوات فيجوال بيسك")، كانت –في الحقيقة- انجاز ضخم لحلم المبرمجين العرب لكتابة برامج عربية خالصة فلم تكن تقنية المرأة Mirroring مدعومة في أنظمة Windows القديمة. بالفعل لازلت أتعجب كيف تمكنت من تصميمها في ذلك الوقت رغم التعقيد التي تحمله بسبب تعاملها المباشر مع اجراءات API والبنية التحتية لطبقات Windows Classes، وللأمانة فقد كانت الأداة العربية الوحيدة في ذلك الوقت.

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

[أ. جمال عمارة]:
أولاً، برامج الكراك نادراً ما تخلو من وجود برامج تجسس أو فيروسات أو برامج خبيثة أخرى فيها. وحتى المواقع التي تعرض برامج الكراك هي أيضاً تحاول أن تزرع برامج تجسس أو "متابعة" لزائريها. ومن لا يصدق ما أقول عليه أن يجري بعض البحث على الإنترنت ويرى آراء الآخرين في ذلك. ليس بالضرورة أن تكون برامج التجسس ضارة تسعى إلى سرقة معلومات حساسة، ولكنها تكون في الغالب برامج "متابعة" تعرف المواقع التي يزورها المستخدم وتقدم هذه المعلومات ومعها عناوين البريد الإلكتروني النشطة إلى شركات التسويق والدعاية السخيفة التي تمطرنا بالبريد التافه.

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

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




[تركي العسيري]:
7. أمر محزن ومضحك بنفس الوقت، يسرقون اعمالنا ومجهوداتنا وبعد ذلك يلومونا على ضعف إنتاجاتنا الفكرية وأنها ليست بالمستوى المطلوب! وأريد ان اضيف على ما قلت بأن الضرر لا يقتصر فقط على المستخدمين الشرعيين، بل حتى المستخدمين ((الغير)) شرعيين، فجودة الدعم الفني ستنخفض بشكل كبير، كما ان استمرارية تطوير المنتج وتحقيق رغباتهم في المتطلبات الاضافية (كمستخدمين شرعيين وغير شرعيين) لن يتم تنفيذها، بل قد تنتهي مرحلة تطوير البرنامج بكل النواقص التي به.

كمبرمج مخضرم مثلك، نريد أن نعرف رأيك وتقييمك لمستوى المبرمجين العرب حاليا (بصراحة فالمجاملة لن تفيدنا)؟ وما هي التحديات التي تقابلهم؟ وما يمكن فعله للرقي بمستواهم الفني؟

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

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

دعني أقص عليك قصة أخرى، في بداية ظهور ويندوز 3 كنت -مثل كثيرين غيري- مهتماً بشدة بمعرفة كافة تفاصيل عمل هذا النظام، وقد اشتريت من الكتب الأجنبية كل ما وقعت عليه يداى. وكنت أتعجب من مقدار المعلومات وكثافتها وأمانتها. وكنت أقارن هذا بالكتب المتوفرة في عالمنا العربي وأتحسر. لازلت أذكر كتاب Unauthorized Windows الذي كان يشرح تفاصيل نظام التشغيل والأسرار الموجودة فيه. لا أخفيك أن مثل هذه الكتب كانت دافعي في التعمق في الكتابة، وكنت أحاول أن أقدم شيئاً مشابهاً للقارئ العربي، وقد كان لدي الكثير من الأفكار -والمعلومات- شديدة التعمق التي كنت أسعى لتقديمها في صورة مناسبة للمبرمجين العرب، لولا اضطراري للتوقف عن الكتابة.

ما أريد أن ألفت الانتباه إليه هنا هو غزارة المعلومات التي يتبرع المبرمجون الأجانب في تقديمها سواء بمقابل أو دون مقابل. انظر مثلاً إلى المنتديات الأجنبية، وكم المعلومات والرغبة في المساعدة التي تظهر عليها. قارن ذلك بما هو موجود لدينا.

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

وأما كيفية رفع مستواهم الفني، فتلك لها عدة جوانب: الأول هو ما يجب أن يقوم به المبرمجون أنفسهم من التأهيل الذاتي. لا يجب أن يتوقف الشخص عن البحث والقراءة والاستمرار في المطالعة والممارسة. أنا طبعاً أعلم أنها مسألة صعبة. ففي بعض الأحيان (بالنسبة لي، في معظم الأحيان) يستمر الشخص في العمل حتى تحترق كافة خلايا التركيز في ذهنه ولا يقوم من العمل إلا بعد أن يصبح (مش شايف قدامه)، وبالتالي لن يكون لديه القدرة على القراءة أو التعرف على المستجدات أو مساعدة الآخرين. ولأنها مهمة صعبة، فإننا نقول إنها "تحدي للمبرمجين". والجانب الثاني هو الشركات والمؤسسات العربية. دعني أكن متفائلاً وأتخيل أن كل شركة تعمل في مجال التقنيات والبرمجة تنشئ قسماً صغيراً فيها (لوجه الله تعالى) لتدريب وتأهيل المبرمجين الجدد. تخيل مثلاً أن شركة كبيرة تُنشئ قسماً تدرب فيه عشرة مبرمجين أو أقل، لوجه الله بدون مقابل. والجانب الثالث هو الجامعات والمعاهد. يجب أن يتم تطوير المناهج الدراسية فيها -خاصة في مجال البرمجة- لكي ترفع من مستوى الخريجين فيها. لا أدري لماذا خطر على بالي "بل جيتس" و "بول آلان" وهما يكتبان أول نظام تشغيل لهما على كمبيوتر الجامعة وكانا لا يزالان في العام الثاني على ما أذكر.

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



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

بعيدا عن مشاكل المبرمجين العرب التقنية، منذ عام 2001 تعالى صدى تقنية Microsoft .NET كحل أكثر اعتمادية وبديل منافس وقوي للنجم الأسطوري Java، سؤالي هو إلى أين تتجه بنا سفينة Microsoft مع تقنيتها .NET؟ والى متى (بحكم خبرتك في التقنيات) هو عمرها الافتراضي؟

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

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

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

هل سيؤدي ظهور مثل هذه التقنيات إلى أفول نجم دوت نت؟ لا أعتقد ذلك. فإطار العمل يمكن تطويعه بنفس مفاهيمه وأفكاره الرئيسية ليتناسب مع البيئة الجديدة، ولحسن الحظ ستكون هذه مهمة مايكروسوفت وليست مهمة المبرمجين.



[تركي العسيري]:
9. بخصوص الحوسبة السحابية Clouds Computing فهو بالفعل مصطلح بدأ في الانتشار ويوحي الى ظهور جيل جديد من البرامج (انترنتية التوجه Internet Oriented) حيث يتم نقل البرامج والبيانات من اجهزة مستقلة انعزالية الى سحابات الكترونية.

مع ظهور الجيل الجديد للغات البرمجة مثل .NET و Java وعظم ما تقدمه للمبرمج ومقدار العناء التي أزالته لتطوير برامج قليلة الشوائب Bug-Free Applications، هل نستطيع أن نقول إنها إشارة لموت لغات البرمجة (بالتحديد لغات الـ Unmanaged Code مثل C، Delphi، C++ وغيرها)؟

[أ. جمال عمارة]:
إن فكرة إنشاء إطار عمل شامل يضم كافة الخدمات التي يمكن أن يحتاجها المبرمج عند إنشاء برنامجه هي فكرة رائعة لا شك. فذلك لا يوفر قدراً هائلاً من المجهود والوقت على المبرمج فقط، وإنما يضمن أن تظهر برامجه خالية من الأخطاء (في الجزء الذي يشمله إطار العمل). والأمثلة على توفير الوقت والمجهود كثيرة ومتنوعة، ولكنني أريد أن أذكر واحداً منها حدث معي. عندي قاعدة بيانات بسيطة أضع فيها بيانات المترجمين الذين أتعامل معهم، والكتب التي نقوم بترجمتها. وفي كثير من الأحيان، أرغب في إضافة بيانات بعض هؤلاء المترجمين كجهات اتصال في أوتلوك ومنها إلى هاتفي المحمول.

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

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

أنا لا أقول إنه لا توجد طريقة أخرى لتحقيق نفس الهدف بدون دوت نت، ولكنني أقول إن إطار العمل قد وفر الكثير من العناء على المبرمجين، ووفر لهم طبقة حماية إضافية، وواجهة موحدة يسهل التعامل معها.

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

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

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

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



[تركي العسيري]:
10. أتفق معك في اغلب ما ذكرت، وقد وجه سؤال الى احد المبرمجين الكبار عن افضل تقنية يمكن تعلمها وانجازها خاصة ان جميع التقنيات قد توفر الحلول لنفس المشكلة، فكانت اجابته الرائعة والموجزة: حدد التقنية المناسبة بناء على المصادر المتوفرة لديك ومنصة العمل او الشريحة المستهدفة.

كثيرا ما توجه لي أسئلة من المبرمجين العرب والمبرمجات الجميلات حول أفضل لغة برمجة، أو ما هي اللغة التي ينصح بالبدء في تعلمها، وكيف تكون الخطوات الصحيحة للدخول إلى هذا العالم والوصول إلى مستويات احترافية، وبما أني طالب أو تلميذ (إن صح المقام) من تلاميذك، فأوجه السؤال لك؟

[أ. جمال عمارة]:
أولاً، أنت لست تلميذاً، وإنما صرت أستاذاً لك كل الاحترام.

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

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

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

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

ولحسن حظ مبرمجي العهد الحديث أن ظهور إطار عمل مثل دوت نت، قد "قرّب" المسافات بين لغات البرمجة لدرجة كبيرة. فمن الممكن الآن أن تكتب برنامجك الأساسي بفيجوال بيسيك ثم تضيف إليه ملف برمجة module بلغة سي شارب أو غيرها. وستجد أن اللغتين تتواجدان سلمياً بجوار بعضهما البعض.

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

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

ولحسن الحظ، فإن المبرمج الآن يملك في جعبته أداة لا يمكن الاستغناء عنها، وهي الإنترنت. ربما يأخذها الكثير من الناس كأمر مسلم به، ولكن لكي تتعرف على فائدتها تخيل حياتك وعملك من دونها.



[تركي العسيري]:
11. لست بحاجة الى التخيل فقد عشت حياتي العملية دونها وعانيت الكثير من المتاعب، اما بخصوص الجدال حول افضل لغة برمجة فهناك مقولة شخصية اقول فيها "الذي يدعي ان لغته هي افضل لغة برمجة، فاعلم انه مستخدم وليس مبرمج"

كمبرمجين عرب، قدمت لنا Microsoft دعماً عربياً في منتجاتها يفوق ما قدمته جميع الشركات العربية مجتمعة (رغم أنها ليست لغتها الأم) في رأيك هل يكفي ما قدمته Microsoft لنا أم هناك المزيد؟ وما هو القصور في الدعم العربي الحالي وما هي النواقص؟

[أ. جمال عمارة]:
هذا السؤال جعل القشعريرة تسري في بدني لأنه ذكرني بالماضي الأليم للتعريب. لقد مر على مستخدمي الكمبيوتر وقت كان التعامل باللغة العربية على الكمبيوتر "مؤلماً" مع التحفظ الشديد.

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

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

لقد كان حبي لبرنامج "مايكروسوفت وورد" قوياً لدرجة لا توصف، ولازلت أتذكر شعوري عندما رأيت الإصدار 2 المعرب منه، وكيف كان شعوري عندما طبعت أول مستند باللغة العربية منه (لقد كان هذا هو الإصدار الذي استخدمته في تأليف كتابيّ فيجوال بيسيك). ومع الإصدار 6 من وورد، انتقل المستخدم العربي نقلة "تاريخية" حيث أصبح بإمكانه إنشاء مستندات عربية بالغة التعقيد بأقل قدر من الألم والمعاناة. ولازلت أعتبر كتاب "إلى القمة مع مايكروسوفت وورد 6" هو أفضل كتبي على الإطلاق.

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

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



[تركي العسيري]:
12. نعم لازلت اذكر انظمة التعريب (صخر ، نافذة، المساعد العربي) التي ذكرتها وقد عانيت كثيرا من اختلاف صفحات المحارف Code Pages بينها، بل الأدهى وأمر هو اختلاف صفحة المحارف لنفس الشركة مع تنوع اصداراتها! وما قامت به Microsoft من توحيد هذه المشكلة الشائكة يعتبر فضلا كبيرا علينا نحن المبرمجين والمستخدمين العرب (بالرغم من اننا نسبها ونلعنها ليل نهار). وبخصوص كتابك "الى القمة مع Microsoft Word" فيعتبر انجاز تاريخي في ذلك الوقت ينافس الكتب في هذا الوقت ولا نخفي سرا علاقتك العاطفية بالبرنامج التي اذكر انك صارحت بها في مقدمة الكتاب.

يجرني سؤال هنا، هل من عودة قريبة للكاتب "جمال عمارة" وإعادة إحياء سلسلة "إلى القمة مع xxx" (فنحن متعطشون لكتاب عرب بمستواك في هذا المجال)؟

[أ. جمال عمارة]:
صدقني أنا نفسي أتحرق شوقاً للعودة بشكل أو بآخر إلى الكتابة التقنية وخاصةً في مجال البرمجة.

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

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




[تركي العسيري]:
13. صورة مع التحية لحاملي شعار "لكي تعم الفائدة"، أستاذ جمال يبدو اننا جميعا متأثرون وليس لنا إلا الصبر (والله المستعان) من بني جلدتنا اهل المنتديات العربية. استاذي الفاضل، كلمة أخيرة تقولها للمبرمجين العرب والمبرمجات الجميلات؟

[أ. جمال عمارة]:
يبدو أن العالم قد تغير كثيراً في السنوات الأخيرة، فعلى أيامي لم تكن هناك مبرمجات أصلاً، ناهيك عن أن يكنّ جميلات كما تقول :-)

في الحقيقة، أريد أن أقول لكل مبرمج عربي استمر بقوة ولا تتوقف، واعلم أن الصعوبات التي تواجهها لها جانب آخر وهي أنها تزيد من عودك صلابة.

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

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

ونصيحتي إليك هي: القراءة والاطلاع الدائم. واحرص على أن يضيف كل يوم يمر عليك شيئاً جديداً لمعارفك.




[تركي العسيري]:
14. أسأل الله تعالى ان تصل رسالتك الى جميع المبرمجين والمستخدمين العرب حول العالم، وعسى ان تثمر (ولو بشيء قليل) في تنوير عقولهم وتوسيع افاقهم الفكرية وزيادة الوعي لديهم، ويعلمون مدى الخطورة والتحديات التي تواجه مستقبل صناعة البرمجيات والصناعة التقنية العربية بشكل عام.

أستاذنا جمال عمارة، أشكرك جزيل الشكر على سعة صدرك وتشريفك لي بموافقتك على اجراء هذا اللقاء العلمي المعرفي.

[أ. جمال عمارة]:
بل أنا الذي أوجه الشكر إليك، وأحييك على تقديرك لشخصي المتواضع، وأدعو الله أن يعاملك قراؤك بمثل ما عاملتني. وصدقني لو أن كل كاتب يحظى بقارئ واحد يذكره بالخير ويشعره بأن عمله كان مفيداً لكان ذلك كافياً. أدعو الله لك بدوام التوفيق والرفعة، وأشكرك على تشريفك لنا في المحافل الدولية.


أعد أسئلة اللقاء: تركي العسيري،




      

تعليقات (27)



الرئيسية راسلني بحث سجل الزوار حول