:: كل المقالات ::

Tue, 13 Dec 2016

مقابلتي مع اسطورة البرمجة "كروماتك"

بسم الله الرحمن الرحيم
قمت بعمل مقابلة مع اسطورة عالم البرمجة و عالم المصادر المفتوحة chromatic الشخص الرائع الذي تعلمت منه شخصيا الكثير من خلال كتبه و مقالاته في عالم المصادر المفتوحة و هو على رغم مشاغله التي لا تحصى اعطاني الفرصة لاجراء حوار معه و هذا تواضع منه. لا اعتقد ان الرجل يحتاج الى مزيد من التعريف فإلى الحوار مع مدير موقع بيرل دوت كوم ، برجاء الملاحظة ان تاريخ المقابلة قديم و هناك اشياء قد تكون تغيرت منذ ذلك الحين :
كروماتك : اهلا علي ...
ريجكس (علي) : اشكرك سيدي لاتاحتك هذه الفرصة لنا، اتمنى ان لا نثقل عليك بالاسئلة.
ريجكس : هل لكم ان تعرفونا من هو كروماتك ؟
كروماتك : انا محرر في شركة اوريلي للنشر بشكل خاص في قسم اخبار التكنولوجيا ، البرامج المجانية و المفتوحة المصدر و تطوير البرامج. عدا ذلك ، انا عضو في فريق تطوير بيرل 6 منذ خمس سنوات. ايضا قمت ببرمجة مجموعة من المكتبات لاختبار بيرل 5 ، و كتبت بعض الكتب ، و مطور لمنصة باروت الافتراضية منذ سنتين.
و عندما لا اكون نائما او مبرمجا ربما كتبت بعض الروايات الخيالية.
ريجكس: ما هي بيرل ؟ و لماذا اخترتها على الخيارات الاخرى ؟
كروماتك : بيرل لغة برمجة متطورة عالية المستوى مناسبة للتطوير السريع و خاصة ما يتعلق بالتعامل مع النصوص و المعلومات. عندما بدات البرمجة بشكل احترافي قبل عشر سنوات ، بدات بكتابة برامج صغيرة بلغة الجافا و لكني انتقلت الى بيرل لما وجدتها اسرع في التطوير و اكثر اختصارا و اسهل في نفس الوقت.
و يعود الفضل لتعرفي على بيرل الى اخي الذي كان يتعامل معها و هو في الكلية.
ريجكس : بيرل و MySQL يمكن ان يكونا فريقا قويا خاصة باستخدام واجهة قواعد البيانات الخاصة ببيرل الجبارة .. لماذا اذا نرى الانتشار اكثر لفريق PHP مايسكوال ؟
كروماتك : بي اتش بي تتمتع بميزة كبيرة على بيرل الا و هي العملانية . حيث من الممكن دمج المود بي اتش بي mod phpمع بعض الخيارات الغريبة او ملف php.ini . و لكن الشائع العثور هو انشاء مشاريع بي اتش بي جاهزة للرفع على مستضيف قيمته خمسة دولارات للشهر و البدء بالعمل بكل بساطة. هذا في حال ان المود بيرل صحيح اكثر قوة و يستطيع القيام باشياء اكثر من المود بي اتش بي و لكن تبقى هناك صعوبة في التعامل مع برامج المود بيرل بخلاف سهولة برامج المود بي اتش بي. و مع تجاهل مطوري بيرل اجتياز هذه العقبة السهلة معتمدين على قوة السيبان لانها تحتوي على اغلب المكتبات المساندة و الادوات التي تستطيع القيام باغلب المهام ، خسرت بيرل الفرصة لان تكون اسهل لغة برمجة لتطبيقات الويب .
باختصار نقطة تفوق بي اتش بي على بيرل انها اسهل و بواسطتها يمكن بناء تطبيق ويب سهل و من ثم الارتقاء به الى التعقيد " و لا اقول ان البي اتش بي مصممة بهذه الجودة ! " ، في حال ان بيرل لم تنجح في جعل المشاريع المعقدة اكثر سهولة .
ريجكس : اخبرنا اكثر عن بيرل في عالم لينكس ؟
كروماتك : حظا موفقا في تركيب جنو لينكس بدون بيرل !
حظا موفقا في تركيب يونكس متطور بدون بيرل !
بداية انتشار بيرل كانت عند مدراء النظم عندما ارادوا شيئا اسهل من C و لكن اقوى و اصلح لاعادة الاستخدام من الشيل Shell ، فلا غرابة ان تجد معظم ادوات ادارة النظام تعتمد على بيرل .
ريجكس : ماذا عن بيرل 6 ؟ ما هي المميزات الجديدة ؟
كروماتك :
اهم ميزة في بيرل 6 هي اننا "عفوا ! لاري و داميان خاصة @ " اعدنا النظر في بعض افتراضاتنا و تخيلاتنا بخصوص لغات البرمجة الموجودة. هناك مقولة قيلت في مكان ما " ان البيرل تطبيق لحكمة يونكس " و هذا وصف دقيق للبيرل 5. المشكلة هنا انه بعد خمس و اربعين سنة تبين ان بعض مبادئ و افتراضات يونكس خاطئة. هكذا تبين ان بعض الاشياء غير ضرورية او معقدة اكثر من اللازم. و سنتجاوز هذه المشكلة فقط و فقط بالسماح لبيرل 6 ان تكسر قاعدة التوافق الشكلي مع الاصدارات السابقة. و بهذا يمكن ان نبني بيرل 6 اقوى بكثير من بيرل 5 و لا يعني هذا ان بيرل 5سيئة بل جيدة جدا و لكن بيرل 6 افضل و افضل. و هناك قائمة طويلة من مميزات بيرل 6 منها:
lexically mutable grammars,
first-class continuations,
junctions,
autothreading,
multiple dispatch, roles, subtypes, declarative OO, and more.
ريجكس : حسنا ، بيرل لم تنتشر كثيرا لدينا و يمنع الكثير من الشباب من البدء في تعلمها انتظارهم للبيرل 6 كي لا يحتاجوا للبدء مرة اخرى في تعلم بيرل ! ما رايك؟
كروماتك :
اتفهم وجهة نظرهم . و اعتقد ان بيرل 6 ستكون اسهل بكثير من بيرل5 للتعلم و ذلك لانها ثابتة اكثر و قريبة للغة الاعتيادية اكثر و ذلك لاننا قمنا بإزالة الكثير من الترميزات المعقدة. بالرغم من ذلك كلما كتبت نصا برمجيا باستخدام بيرل 6 يبقى الكود البرمجي شبيها ببيرل الاصلية. بيرل 5 مفيدة و ستظل مفيدة لسنوات قادمة . و هي لغة جميلة للتعلم و الاستخدام و انصح كل من لديه وقت فراغ ان يتعلمها لانك لن تخسر شيئا.
ريجكس : يقول البعض اذا اردت ان تحكم على قوة لغة برمجة انظر الى برامجها ما رايك ؟
كروماتك : لا اوافقهم الراي ! لان البيرل مع اكثر من 14000 الف مكتبة و اداة مجانية للاستخدام و التعديل لا يمكن معرفة اين هي و من يستخدمها في منزله و عمله. اذا كنت تريد الحكم على قوة لغة برمجة عليك بمعرفة كيف يستخدمها الناس في الحقيقة لا حصرا على برنامج معين.
ريجكس : ما هي نصيحتك للمبتدئين في البرمجة؟
كروماتك : تنمية العادات الجيدة من خلال القراءة ، تعلموا قراءة الاكواد البرمجية ثم ادرسوا الاكواد الجيدة !
تعلموا حل المشاكل بتصغيرها و تابعوا الحل خطوة بخطوة و انتبهوا للجزئيات الصغيرة و ابتعدوا عن التكرار . هدفكم كمبتدئين ان تطوروا عادات و ذوقا برمجيا رفيعا ثم متابعة ذلك عمليا .
ريجكس : ماذا نعني بالبرمجة القصوى؟ "ملاحظة : كروماتك هو من اهم المتبنين لهذا المصطلح و لديه كتاب و موقع بهذا الخصوص".
كروماتك : انها فكرة تبني كل العادات الجيدة في تطوير البرمجيات – الاختبار ، الترتيب ، المراجعة ، الاصدار ، الحديث مع الزبون ، تحديد المستوى- و تنفذيها مجتمعة في الوقت ذاته. ثم بعد ذلك نقوم بفرز العادات التي لا تساعدنا للحصول على الامور المطلوبة و نتوقف عن العمل بها . غالبا ما تكون امورا بديهية ، لهذا السبب لا نجدها دائما ذات شعبية كبيرة. هناك اعتقاد انك لو استطعت ان تجعل العميل يخبرك بما يريد بشكل دقيق فانك في الحال تستطيع ان تصمم برنامجك الى اخر خطوة ، بالاضافة الى قدرتك على ان تتوقع بالتحديد متى يمكنك تسليم المشروع بدون مشاكل و ثغرات تماما كما يريد زبونك . انا شخصيا لم ار شيئا كهذا يحدث ! على الرغم من الفشل في كل مرة ، ارى الكثير من الناس تقول : المرة المقبلة سنحاول ان نجعل العميل يعرف ماذا يريد بالتحديد منذ البداية !
في حال ان البرمجة القصوى تقول : الاشياء تتغير ، و لدينا الفرصة للتعلم اكثر عما علينا فعله و كيف سنبنيه .بدلا من محاولة منع حدوث التغيير علينا بالتركيز على التغيير و التعلم منه و بناء مشروعات عظيمة تسعد العملاء. هذا ما رايته ينجح !
ريجكس : ما هي كلمتك الاخيرة لاعضاء مجتمع المصادر المفتوحة العرب ؟
لدي حلم بعالم يستطيع فيه الناس استخدام حاسوبهم بحرية كما يشاؤون لكي يلبوا احتياجاتهم و متطلباتهم بدون الحاجة لاخذ اذن من الذين كتبوا البرامج و كذلك ان تكون لديهم القدرة على دراسة و تعلم و تعديل و اعادة نشر تعديلاتهم الى الناس.
هذا العالم اصبح قريبا اكثر مما كان عليه قبل عشر سنوات و الشكر موصول الى مئات الالاف من المبرمجين الذين شاركوا هذا الحلم بشكل كامل او جزئي . لا استطيع ان ارد جميل الاشخاص الذين ساعدوني فهم اكثر من ان أحصيهم و لكن امل ان استطيع ان اساعد الكثير من الاشخاص غيري في المستقبل . اتمنى ان تنضموا الينــــــــــــا !
ريجكس : شكرا لك سيدي على وقتك الثمين و انا على يقين انني و غيري سنستفيد كثيرا من هذا الحوار .
و الحمد لله رب العالمين .