تضخم البرمجيات

تضخم البرمجيات

في بعض الاحيان قدي يمر عليك مصطلح Software bloat، و هي ظاهرة تخص تضخيم كتابة أكواد البرنامج من دون الإهتمام بالكفائة efficiency والإعتمادية، أو مراجعة الأخطاء الناتجة من التطويرات الجديدة. وهذا أمر شائع كثيراً في البرمجات الإحتكارية، وذلك لرغبة الشركات المطورة في تقديم تحديتاث تحمس المستخدمين إلى شراء المنتج بدون التفكير في عواقب تضخم الكود البرمجي، أو حتى توافقيته مع الأكواد السابقة.

تضخم البرنامج يؤدي الى زيادة حجمه على القرص بشكل كبير , بطيء في التحميل أو تنفيد المهام المناطة به استخدام غير مبرر للذاكرة , و احيانا حصول توقفات مفائجة للبرنامج و خروجه بدون إنذار Crash او تجمده و تجمد الجهاز معه Freeze .
لعل من أكثر البرمجيات التي أتهمت بالتضخم الغير مبرر هي برمجيات شركة مايكروسوفت , و قد حصل نظام ويندوز فيستا على أكبر نصيب من هذه الانتقادات في السابق حيث كان حجم قرص التتبيث اكبر من ويندوز اكس بي ب 3 مرات و يتطلب ضعف حجم الذاكرة اضافة الى بطئه الشديد في التشغيل , رغم ان الشركة قامت بتحديتاث لاحقة لحل كل هذه المشاكل الا انها لم تسلم من الانتقاد الى ان اصدرت نسخة جديدة و هي ويندوز 7 و ويندوز 10 تلافت الى حد كبير المشاكل السابقة .

مساويء تضخم البرمجيات :-

الأمر يختلف من برنامج الى آخر و شركة الى أخرى , و ربما من مبرمج الى آخر , لعل اهم هذه الاسباب هو الرغبة في اضافة تطويرات كبيرة و عديدة للبرنامج و تنفيده في وقت محدود جدا , النتيجة الحصول على كود برمجي غير كفؤ و لا ينفد التعلميات المطلوبه منه بشكل مباشر (تداخل في الدوال و الكائنات) داخل المشروع نفسه .

أمثلة ﻷشهر البرمجيات المتضخمة:-

شاشة الموت الزرقاء BSOD

شاشة الموت الزرقاء BSOD اثناء أولمبياد بكين

إشتهر نظام مايكروسوفت ويندوز، لدى مستخدميه بعدم إعتماديته وموثوقيته، خصوصاً في المواقف الحرجة أو عند تعرض الجهاز العامل عليه الى ضغط يؤدي الى حصول أخطاء في مكوناته، حيث كان لكلا إصداري ويندوز 98 وويندوز فيستا الحصة الأكبر من نقد المستخدمين والخبراء.

ياتي بعده برنامج آيتيونز، من شركة آبل، فبدل من تركه يعمل في المجال الذي طور ﻷجله (كمشغل موسيقى) ، حولته شركة آبل إلى منصة إعلانية وتجارية خاصة بها، وفي نهاية الأمر اعترف الشركة بالإخطاء التي إرتكبتها في تطوير البرنامج وقررت إيقافه بشكل نهائي في سنة 2019.

كذلك تعرض قرار جوجل الإعتماد على لغة آلة جافا الإفتراضية، كطبقة وسيطة بين التطبيقات ونظام التشغيل أندرويد، لإنتقادات عديدة لانها سببت في عدم استقرار النظام (او التطبيقات التي تعمل عليه) وزيادة إستهلاكها للذاكرة (ﻷن كل تطبيق كان بحاجة ﻵلة جافا إفتراضي معزولة عن بقية التطبيقات) وهذا أمر جعل نظام التشغيل أندرويد أقل كفائة من نظام iOS.

بعض تطبقات HTML5 لسطح المكتب، المبنية على أطر عمل مثل Electron.JS تعرضت للنقد بسبب حجمها الزائد (نتيجة لإعتمادها على نسخة محمولة من متصفح كروم) وإستهلاكها المفرط للذاكرة.

آخر البرمجات المتضخمة من وجهة نظرنا هي المتصفحات الحديثة لسطح المكتب خصوصا، سواء المبنية على مشروع كروميوم مثل جوجل كروم واوبرا وغيره او المنبنية على محرك جيكو مثل فايروفوكس، كلها إصبحت تستهلك موارد كبيرة من النظام، بسبب معايير HTML5 الجديدة التي اعطت المتصفح (والتطبيقات المصغرة التي تعمل عليه) صلاحيات وميزات كبيرة جداً، جعلت المتصفحات مليئة بالمكتبات الملحقة DLL، زادت من ثقل الجهاز، جعلت تصفح الانترنت على الاجهزة القديمة مهمة في غاية الصعوبة.

خطوات لتجنب هذه الظاهرة:-

أهم خطوة عند تحديث كود اي برنامج قديم هو مراجعة جميع اجزائه و معرفة كل دالة او كلاس ماذا تفعل , عملية تحديث البرمجات تتطلب ذكاء في البداية اكثر منه تطلبها الى الجهد , فالبرنامج الحاسوبي في نهاية الام ليس الا مجموعة خوارزميات منطقية هذفها تنفيد عمل ما عبر الحاسوب بأقل تعقيد ممكن لدى المستخدم النهائي .