الاثنين، 10 ديسمبر، 2012

رفع المَلَام

في كتاب الرسالة (اسم التدليل الذى أُطلِقه علي كتابي: رسالة البرمجة بإبداع) هناك فصلٌ من أهم فصوله يُسمَّي بـ(نقد لغات البرمجة العربية الحالية)، و أريد هنا أن أتكلم بعض الشيء عن هذا الفصل المثير للجدل لأوصل بعض الرسائل السريعة علَّها تُزيل بعض سوء الظن و/أو الغضب و/أو الألم.

أظن أن كثيراً من الناس سيتساءلون عن السبب الذي دفعني لكتابة فصلٍ كهذا ربما يسبب الكثير من الغضب عند من أنتقد لغات البرمجة التي صمموها و/أو بَنَوْها، و ربما يصل الأمر إلي حد تبادل السباب العلمي الأنيق (أو غير الأنيق)، 
و ربما يدفع مثل هذا الفصل كثيراً من الناس لإساءة الظن بي و التفكير فِيَّ علي أنني متعنتٌ أحب الصدام و تسخيف و تسفيه أفكار و آراء الآخرين، أو علي الأقل أحمقٌ يُدخِل نفسه في متاهاتٍ ليس لها معنيً أو داعي، بينما التفكير السليم (في ظنهم) يحض علي البعد عن مثل هذه الأمور التي تأتي بما لا تشتهي السفن من الرياح.

السبب بمنتهي البساطة أنني أومن تمام الإيمان أن مبدأ "الرد علي الأعمال المُشابِهة الأقدم" هو مبدأٌ يتم العمل به كما نقول في نواحينا في الصعيد "من أيام كَحْت البحر"، و سَيْري علي هذا المبدأ ليس بدعةً جديدةً أو أمراً اختلقتُه اختلاقاً حتي أتسلي بالهجوم علي عباد الله، ثم إن هؤلاء ليسوا أطفالاً في حجور أمهاتهم: بل أحسبهم (و الله حسيبهم و لا أُزكِّي علي الله أحداً) مهندسين و أساتيذ جامعاتٍ و باحثين و طلبة علمٍ شديدي العلم و الحرص علي التعلم، فلماذا أعبث مع عش الدبابير هذا إذا كان الأمر مجرد "جر شَكَل" ! 

ألم يكن من الأفضل لي أن أكتفي بالحديث غير المباشر و اللمز من بعيد حتي أنال منهم بدون أن أضع نفسي في مواجهةٍ علميةٍ يكون فيها الدليل أمام الدليل و البرهان يُصارِع البرهان و يكون انكشاف أمري محتوماً وقتها ؟
إذا كنتُ مجرد أحمقٍ يتسلي بسب الآخرين: فلماذا لم أبحث عن وسيلةٍ أقل سهولةً في السب؟ و لماذا لجأتُ إلي كل هذا البحث و التقصي و الفرز و النقد و المدح و الذم و تقديم البديل المتسق مع بقية البدائل إذا كنتُ مجرد سخيفٍ لا يريد سوي أن يُخرج لسانه للآخرين ؟!

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

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


نأتي لمسألة لهجتي في النقد، و الحق أنها من أكثر الأمور التي عانيتُ منها بالفعل: فأنا رغم ميلي للهدوء و عدم إثارة الصخب و المشاكل إلا أن في طبعي بعض الرعونة التي تدفعني لعدم الإحساس بثقل الكلمات التي أكتبها، تمهلوا قليلاً: فهذا أمرٌ تجدونه في كل الناس بنسبٍ متفاوتة علي كل حال، و لكن المشكلة أنني أنشر آرائي بوسائل عديدة للناس، و ما دمتُ قد فعلتُ هذا فيجب عليَّ أن أُخفف من لهجتي بشكلٍ يجعلها أقل صداميةً و جرَّاً للعراك.
لذا فقد اعتدتُ علي أن أكتب المقال ثم أراجعه قدر الإمكان حتي أجد أن لهجته رصينةٌ متعقلة، ثم لو اكتشفتُ ما يدعو لتخفيف لهجته أكثر (حتي بعد نشره) فأفعلُ هذا مباشرةً، و لو قارنتم بين بعض فصول الرسالة و بين نسخها القديمة التي تُوجَد علي مدونتي الشخصية لعلمتم يقيناً أنني  ما إن أتأكد من عنف اللهجة أو علي الأقل أتاكد من فهم الناس لها بشكلٍ غير صحيحٍ حتي أقوم مباشرةً بتعديل الكلمات و الأسلوب إلي ما هو أكثر لطفاً أو أقل حدة.
لا أريد من الناس أن تأخذ هذا الكلام علي أنه حَطٌ من قَدْرِي؛ فكلنا نملك قدراً لا بأس به من الرعونة و التسرع، و لو تأمل كل واحدٍ منكم نفسه فربما يري الكثير منها هناك، سواءٌ كان يُجاهِد للتغلب عليها أو ترك لها الحبل علي الغارب. لستُ شيطاناً ولستُم ملائكة و كلنا في "الهوا سوا" لأننا كلنا بشرٌ نُخطيء و نُصِيب و لا يعلم نوايانا إلا الله عز و جل.

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

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

فكأني باللائم يطالبني بأن أكرر تلك الكلمات كل مرةٍ أذكر فيها رأياً من آرائي مصحوباً بكلمات التأكيد ! 

و الأغرب من كل هذا أن حدة نقدي لإمكانياتٍ مشهورةٍ في لغات أخري قد يكون أقل من حدة نقد المبرمجين الكبار لها، و لو نظرتم لما يقوله خبراء الـeiffel عن الوراثة المتعددة و دفاعهم عنها لوجدتموهم ينقدون الواجهات interfaces بضراوةٍ و بسخرية، بل و يمتد الأمر لاتهام من اعتمد عليها في تصميم لغته البرمجية إلي أنه رجلٌ فقير (و هو لَمْزٌ في غاية الوضوح بأنه مصممٌ قليل الإمكانيات العلمية حتي أنه اضطر للتخلي عن المُكوِّن الحقيقي الذي يستحق الضم للغته و رضي بشبيهٍ رديء يناسب إمكاناته المتواضعة).
ثم انظروا لنقد البروفيسور: (Brian Kernighan) للغة الـpascal في الورقة العلمية المُسمَّاة (Why Pascal Is Not My Favorite Programming Language)، و كيف قام بنقد أمورٍ بسيطةٍ صغيرةٍ ربما أتحرَّج أنا نفسي من نقدها حتي لا يُقال عني أنني متعنت !
بوجهة نظر لائمي علي نقدي فيجب تمزيق Kernighan إرباً علي مثل تلك الانتقادات !

بل دعكم من كل هذا و انظروا إلي رسالة (goto statement considered harmeful) لكاتبها البروفيسور (Dijkstra) الذي انتقد فيها قاعدة (goto) و جعلها سبباً مباشراً في كثيرٍ من الأغلاط التي يقع فيها المبرمجون، ثم انظروا إلي الرد المقتضب الساخر الذي تلقاه في رسالةٍ صغيرةٍ تحت عنوان: (goto statement considered harmeful considered harmeful) لكاتبها (Frank Rubin) و التي نُشِرَت في باب ( acm forum) في مجلة ( Communications of the ACM) في العدد ( March 1987 - Volume 30 - Number 3).
في هذا الرد قام الناقد بالسخرية بشكلٍ واضحٍ من عنوان الرسالة نفسه و من أسلوب كتابتها و من الرأي الذي كُتِب فيها، و ساق أدلةً عمليةً علي ذلك. و رغم أنني أخالفه في رأيه العلمي الذي ساقه في رده إلا أنني أري أنه محقٌ في كل ما عدا هذا؛ لأن لهجة د. Dijkstra كانت بالفعل أكاديميةً باردةً لا تُقنِع إلا المقتنعين بالرأي نفسه، فلا هي قدمت أمثلةً واضحةً و لا حتي كانت بلغةٍ سهلةٍ قريبة !

و خاتم الأمثلة و أقواها كتابُ (unix haters handbook) الذي فتح النار علي نظام تشغيل اليونيكس بكل قوة، و بأدلةٍ علميةٍ عمليةٍ واضحة، بالإضافة للهجته الغاية في السخونة التي تجعل نقد كتاب الرسالة طفولياً هادئاً إلي حدٍ لا يُوصَف ! 
بل أرجوكم أن  تنظروا إلي نقيض-المقدمة anti-forward الذي طلب أصحاب الكتاب من دِنِس رِتْشِي Dennis Ritchie (أحد مصممي اليونيكس نفسه) كتابته لوضعه داخل الكتاب ! و لهجته و كلماته التي انتقلت من مرحلة السباب العادي إلي ما يكاد يكون سباب شوارع و أزقة لكل من شارك في تأليف ذلك الكتاب !!!
 
و علي هذا المنوال يمكنك أن تجد أن انتقاد أعمال الآخرين أمرٌ عاديٌ جداً في مجتمع البرمجيات، و يتجاوز الكثيرون مرحلة النقد للوصول لمرحلة التجريح و ربما السب الذي يعاقب عليه القانون، فلِمَ إذاً لومي علي لهجتي الواثقة التي أقررتُ فيها بأن آرائي قابلةٌ للخطأ، و رغم ذلك عزَّزْتُها بالدليل العملي علي صحتها عندي و هو تصميمي للغة إبداع، بحيث لا أنتقد مُكوِّناً أو مبدأً إلا و أنا أقدم ما أستبدله به و يخدمني بشكلٍ أفضل ؟!

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

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

إرسال تعليق

تابع الجديد علي البريد الإلكتروني.