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

Tue, 13 Dec 2016

هل بيرل قبيحة ؟ "تعقيب"

بسم الله الرحمن الرحيم
احببت ان اثبت في الموقع تعقيبي على مشاركة الاستاذ الكريم "بلاك هات" عن اسباب سمعة قبح اكواد بيرل .
أهلا بك مجددا عزيزي ،
نعم معك الحق هناك سمعة سيئة للغة من ناحية الاكواد المعقدة … ما ساعد على انتشار هذه السمعة نقاط أهمها :
1- ان بيرل انتشرت لبرمجة مواقع الويب اول ظهور الانترنت و في وقتها لم توجد معايير جيدة لبرمجة الويب بشكل عام (لم توجد الفريم وركس مثلا) و ساعد ايضا ان الكثير من الناس بداوا يبرمجون بيرل لمواقعهم الشخصية و غيرها و هم ليسوا على دراية كافية باللغة ، فامتلات الشبكة بالبرامج و السكربتات القبيحة ، و يمكنك ايضا ان تشاهد بعض برامج بي اتش بي المكتوبة في تلك الفترة لتعرف ان المشكلة كانت عامة و ان بي اتش بي عانت من نفس المشكلة و لكن الذي جعل الاستمرار اقوى لبي اتش بي هو مسألة بساطة اللغة و سهولة تشغيل برامجها على السيرفر .
2- حقيقة يجب ان نقر بها ان اللغة توفر اختصارات كثيرة و لا تجبر معايير صارمة على المبرمج و هذا في حد ذاته ليس امرا سيئا و لكن المشكلة في ان المستخدم الغير مترمس قد يسيء استخدام هذه الخصائص .
3- ان أغلب المبرمجين من اللغات الاخرى الى الان لديهم تصور بيرل القديمة 4 ! و هذا شيء مؤسف و الى الان نعاني منه لانهم يجهلون ما طرا على اللغة من تطورات و تحسينات فيبقون يرددون شعارات مثل بيرل قبيحة او انها لا تصلح للمشاريع الكبيرة و ما شاكل من شعارات ، حالهم كحال من يقول سيارات فورد كراون فكتوريا تعاني من الحرارة ( من خلال تجربته لموديلات الـ تسعينات ) و لكنه لا يعلم ان المشكلة حلت ابتداءً من موديل 2000 .
لهذا قلتها من قبل و اكررها انه يجب ان لا نبني قناعاتنا على مقالات و مقارنات قديمة او اراء لمبرمجين ليسوا بذلك الاطلاع على الموضوع المعني ، لان التقنية تتقدم ليس كل سنة بل كل شهر .
4- من المشاكل التي نعاني منها ان البعض يدخل بيرل من المدخل الخطأ ثم يلوم اللغة مثلا الى الان يوجد دورات باللغة الانجليزية تعتمد عادات برمجية قديمة لا يستخدمها مبرمجوا بيرل الحديثة ، و من امثلة هذه الاخطاء الشائعة :
– عدم استخدام الـ strict و warnings و التي من فوائدها تحديد المتغير بسكوب معين و وجوب الاعلان المسبق .
– الاصرار على استخدام cgi بدلا من استخدام اطر البرمجة الحديثة مثل Dancer .
– التعامل مع الملفات بالطريقة الخاطئة بدلا من استخدام المكتبات الافتراضية الموجودة مع بيرل.
– عدم استخدام موس و ماوس و غيرها في البرمجة الشيئية و موس طبعا نموذج كائني ماخوذ مباشرة من بيرل 6
… الى اخره من القائمة الطويلة من التقنيات و الاخطاء الشائعة .. هذه التقنيات و العادات البرمجية الجيدة نسميها بيرل الحديثة Modern Perl .
5- الملاحظة الاخيرة لغة توفر لك تحديد المدى و الدوال و الكائنات لا ادري لماذا تتهم بأنها لا تصلح لمشروع كبير ! اذا في كل لغة يمكن كتابة اكواد غريبة و برامج سيئة ، شاهد هنا :
http://en.wikipedia.org/wiki/Obfuscated_code
اخيرا انا اشد على يدك في اختيارك اللغات التي ترتاح لها ، و هذه حرية شخصية لكل مستخدم فمسألة الراحة الشخصية ربما تكون مسألة ذوق اكثر منها تقنية و لكنها بالنسبة لي مهمة لانه برايي المهم ان اكون سعيدا في البرمجة ، ربما لا احب اسماء المتغيرات و الميثودز و الكلاسات الطويلة في جافا و لا احب المسافات في بايثون و لا احب الاقواس في ليسب و لكن لكل شخص وجهة نظر و ذوق فلن اقول لشخص اخر لغتك كذا او كذا …
شكرا لك اخي بلاك هات مرة اخرى اتاحتك الفرصة لي للكلام معك .