يتدوال مجتمع جافاسكريبت منذ أسبوعين إعادة تسمية الوظيفة Array.prototype.flatten واختها من نفس المجال flatMap ليصبحوا smoosh و smooshMap على الترتيب، وليست حتى بمزحة!

والسبب أن MooTools (من حفريات الويب وما زالت حيّة -_-) تُعرّف وظيفة بنفس الاسم (flatten) التي لن تكون وظيفة جافاسكريبت متطابقة معها، وإذا أضافتها جافاسكريبت بنفس الاسم flatten فإن MooTools لن تعرف الدالة الخاصة بها؛ ما يؤدي إلى عدم عمل المواقع التي تستخدم MooTools بشكل صحيح، وأغلب تلك المواقع هي اسكريبتات متهالكة وتحديدًا لمتاجر الكترونية.

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


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