البيان الخاص بك هو الصحيح 100 ٪ ، لا يخطئ النقطة

مرحبا يا هابر! أقدم لكم ترجمة المقال "بيانكم صحيح 100٪ ولكنه يفوتك النقطة بأكملها" .

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

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

كونها صحيحة ، تتجاهل هذه العبارات السياق الأوسع للسؤال الذي يحتوي على النقاط التالية:

  • تعد مؤشرات التعلق في البرنامج نادرة (ربما في برنامج واحد من أصل 10 برامج؟) ، في حين أن أخطاء الذاكرة العادية ، مثل استخدام المؤشر بعد تحريره ، أو تحريره مرتين ، أو خطأ في وحدة غير محسوبة ، وما إلى ذلك ، هي حدوث متكرر (100-1000 في كل برنامج) ؛
  • جامعي القمامة الحديثين يتمتعون بملفات تعريف جيدة جدًا ، وإيجاد مؤشرات معلقة أسهل بكثير من تصحيح تلف الكومة ؛
  • إن القدرة على إنشاء كائنات بنقرة إصبع ونسيانها فقط يجعل المطورين أكثر إنتاجية بكثير من مطالبتهم بإدارة دورة الحياة الكاملة لكل مورد بعناية بشكل فردي ؛
  • حتى إذا واجهت مشكلة المؤشرات المتدلية ، فمن المحتمل أن يستغرق حلها وقتًا أقل من حل مشكلة تلف الذاكرة في نفس التطبيق ، ولكن بدون جامع القمامة.

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

حماية الحاسوب


هذا البيان:
يعد استخدام HTTPS لجميع الزيارات أمرًا جيدًا للأمان وإخفاء الهوية.

يمكنك الحجة المضادة ، على سبيل المثال ، مثل:

هذا لا يوفر أي أمان حقيقي. إذا أرادت وكالة الأمن القومي تلقي بياناتك ، فسوف تنفجر في شقتك وتستقبلها.

مرة أخرى ، هذا البيان صحيح تمامًا. من ناحية أخرى ، إذا لم تكن زعيم الدولة أو لا تتعامل مع عصابات المخدرات الدولية ، فمن غير المحتمل أن تصبح هدفًا مباشرًا لوكالة الأمن القومي.

إذا كنت تعتقد أن هذه حجة مضادة غبية لن يفعلها أحد ، فأنا أتفق معك تمامًا. كما رأيت كيف تم استخدامه في العالم الحقيقي. أتمنى لو لم أرها.

الأخطاء الناجمة عن عدم الكفاءة


لغات البرمجة عالية المستوى سهلة الاستخدام:
تعد لغات برمجة تجاوز سعة المخزن المؤقت رائعة للتطوير من حيث الأمان والبساطة.

لكن ليس للجميع:
يمكنك تحقيق نفس الشيء في لغة C ، فقط كن حذرا.

هذا صحيح مرة أخرى. إذا كان كل مطور يعمل على أساس الكود سيكون مركزًا بنسبة 100٪ وحذرًا بنسبة 100٪ من الوقت ، فمن الممكن كتابة كود خال من الأخطاء. أظهرت الحقيقة مرارًا وتكرارًا أن هذا مستحيل ، فالشخص ببساطة غير قادر على العمل بشكل لا تشوبه شائبة لفترة طويلة.

YAGNI ؟ ما هو YAGNI؟


كل شيء بسيط:
إن معالجة الملفات النصية باستخدام Python أمر رائع وسهل حقًا.

وليس بهذه البساطة:

Python هراء كامل ، ولن تتعامل مع المهمة عندما تحتاج إلى معالجة عشرة ملايين ملف في الثانية على وحدة التحكم الدقيقة المضمنة ، باستخدام 2 كيلوبايت كحد أقصى من ذاكرة الوصول العشوائي.

نعم. نعم إنه كذلك. في هذه الحالة ، سيكون هذا هو الخيار الخاطئ. انت على حق تماما. شكرا لك على بصيرتك يا سيدي ، هذه ميدالية ذهبية رائعة في ذكرى مساهمتك الهامة في هذه المناقشة.

ما هو السبب المتوقع لذلك؟


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

أن تكون على حق أمر سهل. أن تكون وثيق الصلة بالموضوع صعب للغاية.

All Articles