2006/11/28

أيها المبرمجون …لا تبنوا فوق الرمال


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

هناك تعليق واحد:

FemTo يقول...

حتعمل ايه يعنى فالبرنامج بتعمله لواحد مش شرط يجيد التعامل مع البرامج بس بتحاول تعمل اللى تقدر عليه وتحط On Error وسيبهل لربينا وخلاص

أرشيف المدونة

زوار المدونة

أون لاين


web stats
Powered By Blogger

مرات مشاهدة الصفحة