White Wolf

هل بيرل قبيحة ؟

Posted in برمجة و بيرل by regex2008 on يوليو 26, 2011

بسم الله الرحمن الرحيم ،

احببت ان اثبت في المدونة تعقيبي على مشاركة للاستاذ الكريم بلاك هات عن اسباب سمعة قبح اكواد بيرل …

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

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

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

 

اترك رد

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / تغيير )

Twitter picture

You are commenting using your Twitter account. Log Out / تغيير )

Facebook photo

You are commenting using your Facebook account. Log Out / تغيير )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 25 other followers