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

Tue, 13 Dec 2016

البساطة و الغباء و سلاكوير

بسم الله الرحمن الرحيم
قبل كل شيء شخصيا استخدامي غالبا كان للتوزيعات السلاكويرية مثل زينوالك بالخصوص و ولفكس و فيكتور و كنت سابقا على سلاكس . فأرجو ان لا يفسر احد هذا الموضوع على انه تهجم شخصي على سلاكوير او غيرها من التوزيعات و لكن هذه بعض تأملاتي تحتمل الخطأ و الصواب.
الكل يعرف مبدا سلاكوير : keep it simple, stupid
بالعربية شيء شبيه بـ : ابقه بسيطا ايها الاحمق !
و هذا المبدأ تحوير للمبدأ المعروف Keep it short and simple .
الامر الذي نقف عنده هنا ، هل البساطة المعنية في مبدا سلاكوير هي للنظام ام للمستخدم ؟ اذا كانت البساطة من زاوية تصميم النظام فتوزيعة سلاكوير معروفة حقا ببساطتها مما ادى الى سرعتها و ثباتها و لكن فمن نعني بالاحمق في نهاية الجملة؟ هل يخاطب النظام هنا ؟
الارجح انه يعني المستخدم و لكن اذا قلنا انه يعني المستخدم فالبساطة عند المستخدم هي سهولة تأدية المهام بدون تعقيدات فهل سلاكوير تفي بهذا الشيء؟ بالطبع لا فسلاكوير كل شيء الا السهولة في تأدية المهام مثل اعداد اتصال بالانترنت !
قبل ان استرسل في الكلام لنأخذ مثالا عمليا:
1 :
@array= qw(s l a c k w a r e);
print @array;
2 :
print "s"."l"."a"."c"."k"."w"."a"."r"."e";
3 :
print "slackware";
هذه ثلاثة طرق لكتابة كلمة سلاكوير و لكن ما هو افضل طريق ؟
بالطبع الاخير لانه اولا قصير و ثانيا بسيط "واضح". هذا شيء مطلوب في البرمجة الوصول الى الحل باقرب طريقة . و يعجبني قول الطيار و الكاتب الفرنسي" يبدو ان الكمال لا يحصل عندما لا يوجد شيء لنضيفه بل عندما لا يوجد شيء لازالته ".
فعلا هذا الفن المسمى بالسهل الممتنع بل في اعلى درجات الكمال التي نعرفها يتجلى في القران الكريم حيث لا يمكن ازالة او استبدال اي كلمة او حرف من الايات الكريمة بدون الاخلال بالمعنى ، و كما قالت العرب خير الكلام ما قل و دل حيث القصر من مقومات البلاغة و الفصاحة . فمبدا القصر و البساطة كما نرى موجود عندنا منذ زمن طويل و لكن يأبى الانسان الا ان يعقد الامور فترى الشاعر يتكلف البديع تكلفا و ترى المبرمج يتعمد اطالة البرنامج او اظهاره بشكل غريب لكي ينبهر الناظر من اول مشاهدة و يعقد الفيلسوف نظريته بمصطلحات ربما حتى هو لا يفهمها و يعقد الرسام و المصمم الرسوم ليملاها بكل انواع الالوان المختلفة و العلماء يتفنون في تصميم ما يريح البشر حتى يصبح كل شيء اتوماتيكيا ، و لكن الحمد لله يوجد من الناس من فهم ان السعادة لا تعني الراحة المبالغة و ان الحياة يجب ان تصل الى حد معقول من البساطة و الراحة ، فهذا مبدا عام ينطبق على كل عناصر الحياة .
هذه الايام اصبحت البساطة من الصعوبة بمكان كما قال دافنتشي " البساطة منتهى التعقيد " !
على كل حال، هل سلاكوير او ارش لينكس امثلة على البساطة ؟
بعبارة اخرى …
هل توزيعة مثل سلاكوير التي تترك المستخدم يعاني لتأدية مهمة بسيطة هي خير مثال لتطبيق عملي لمبدا البساطة ؟
هل توزيعة مثل ارش و التي تتبنى هذا المبدا خير مثال كتطبيق عملي لهذا المبدا ؟ أعني ان يحتاج المستخدم لتنصيب واجهة رسومية من الانترنت بعد تنصيب النظام يعتبر مظهر من مظاهر البساطة ؟ بل كما قال لينوس هكذا توزيعات تلغي فكرة توزيعة من الاساس.
فالتحجج بحجج انك تترك حرية الخيار للمستخدم حجة واهية جدا فما الضير لو وجدت واجهة بسيطة و خفيفة كفلاكس بوكس و من ثم يختار المستخدم ما يريد تنصيبه .. او لم لا يكون هناك خيار مثل سوزي و فيدورا و ابونتو حيث يأتون بنسخ متعددة لكل واجهة و يختار الشخص ما يناسبه ؟
فهذه النقطة لا تعني البساطة بل تعني التعقيد …
الحجة الاخرى في مثل هذه التوزيعات انهم يقولون انها افضل طريق للتعلم " اي التعامل مع ملفات الاعدادت مباشرة مثلا ! " فنلاحظ ان الكثير من مستخدمي التوزيعات الصعبة يرى زهوا بانجازه حيث يرى مستخدمي اوبنتو و فيدورا و ما شاكلها مستخدمين بلهاء كما مستخدمي ويندوز فهم يريدون كل شيء جاهزا و بسيطا .
الاغرب من هذا الكثير ممن دخل عالم لينكس من خلال اوبنتو او فيدورا او سوزي تحديدا ثم بعد فترة هجرها الى جينتو او ارش او باك تراك او سلاكوير فقط لكي لا يقال عنه انه مبتدئ لينكس ! و الكل يرى كثرة الطلبات لتنصيب باك تراك و الحق ان باك تراك المفترض انها توزيعة لايف و لكن يريد البعض تنصيبها ليتفاخر بأنه مستخدم متقدم او هاكر خطير!
توزيعات مبنية على سلاكوير نجد ان حجمها يصل الى قريب حجم اوبنتو و لكنها تفتخر انها لا توفر الا برنامجا واحدا لكل مهمة كمثال لالتزامها بالبساطة ! ثم تفشل في التعرف التلقائي على نصف العتاد الذي يتعرف عليه ابونتو تلقائيا ! ثم يبدا المستخدم المسكين في البحث عن برامجه المفضلة في مخازن التوزيعة الفقيرة لكي يضطر اخيرا الى التنصيب من المصدر .
ان كان الهدف السرعة فهذه الايام المعالجات سريعة بحيث قلما تحتاج الى رحمة ادارة التوزيعة للموارد ( هل اترك استخدام بايثون او بيرل لان كود "سي" اسرع ؟ ) و لكن يمكن ايضا بخطوات بسيطة تخصيص التوزيعات الكبيرة مثل اوبنتو و فيدورا لكي تستهلك موارد اقل بكثير بل يتعدى الامر الى البوت فبعد تجربة فيدورا النسخة العاشرة و قريبا اوبنتو رأيت ان فيدورا في التنصيب و في الاقلاع اسرع من توزيعات مشهورة بالسرعة و الخفة مثل سلاكس ، هذا من واقع تجربتي و لا يهمني من يشكك في تجربتي .
و ان كان الهدف البساطة و السرعة للوصول الى تأدية المهام فلا ارى ان هناك اي تعقيد في واجهة جينوم التي تأتي مع فيدورا او غيرها فالوصول سريع و التعديل قريب و من لا يريد مؤثرات و جماليات فليعطل عملها !
اذا ما هي البساطة ؟!
دمتم في الرضا ،