
لماذا خسر NeoVim ثقة مستخدم بعد حذف سجل التراجع في vim
اقتبست مدونة Unsung لمارسين فيتشاري منشوراً للمعالِم الحاسوبي ديفيد تشيسنال على Mastodon حول خاصية persistent undo في vim: حذف NeoVim ملفه مع كل بياناته، وأنهى ذلك علاقته بالمحرر نهائياً.
في 28 أغسطس نشرت مدونة Unsung لمارسين فيتشاري مقالاً يقوم بأكمله تقريباً على منشور للمعالِم الحاسوبي ديفيد تشيسنال على Mastodon. الموضوع هو خاصية persistent undo في vim، وبمعنى أوسع: ما تدين به البرمجيات لبيانات مستخدميها؛ وقد جاء العنوان من عبارة تشيسنال نفسه: «لم يكن لديهم أي تصور لوجود واجب عناية تجاه مستخدميهم».
يقول تشيسنال إنه يستخدم vim منذ نحو عام 2000، وقد كتب به خمسة كتب وأطروحة دكتوراه وعشرات الأوراق العلمية وأكثر من 150 مقالاً. الأوامر المعتادة تعمل لديه تلقائياً إلى درجة لا تحتاج معها إلى تفكير واعٍ، وتبقى في منتصف المستندات المكتوبة بأدوات أخرى أوامر vim عالقة.
ما الذي يحميه persistent undo
تُعدّ خاصية persistent undo من أحب ميزات vim إلى تشيسنال. لا يحتاجها غالباً، لكنها عند الحاجة لا تُقدَّر بثمن: استعادة شيء حُذف من ملف «ربما الأسبوع الماضي وقبل إعادة تشغيل واحدة»، أو معرفة ما أفسده تعديل ما قبل الـcommit. وقد حافظ vim على عمل ذلك عبر ترقيات الإصدارات الرئيسية لنحو 20 عاماً: حتى بعد انهيار أو بعد العودة إلى الملف بعد ستة أشهر يبقى سجل التراجع في مكانه. ويعتبر تشيسنال ذلك جزءاً من قانون راسكين الأول.
ماذا حدث مع NeoVim
NeoVim هو تفرّع عن vim. جرّبه تشيسنال حين كان جديداً تماماً؛ وأول ما لاحظه أن التراجع لا يعمل، ولم يساعد فتح الملف في vim أيضاً. كان NeoVim قد غيّر صيغة ملفات التراجع: لم يحدّث الملف القديم ولم يمنح ملفاته اسماً مختلفاً، بل حذف ملف التراجع القديم لـvim مع كل بياناته واستبدله بملف لا يستطيع vim قراءته.
وعندما فتح issue حول الموضوع قيل له إن صيغة persistent undo غير مستقرة: على المستخدمين ألّا يعتمدوا على الحفاظ على البيانات في ميزة تُسمى صراحة «دائمة»، وإن الصيغة تغيّرت مرة وستتغيّر على الأرجح مرة أخرى. عند هذه النقطة انتهت تجربته مع NeoVim. وكتب تشيسنال: «أظهر المطوّرون فوراً أنه لا يمكن الوثوق بهم في أي جزء من بياناتي»، مضيفاً أنه قد يغفر كسر خاصية التراجع كخطأ برمجي، لكنه لا يغفر منطقاً يُعتبر فيه ملف على قرص المستخدم ليس سبباً كافياً لعدم حذفه.
قوانين راسكين الثلاثة
يقتبس وِيكاري المنشور شبه كامل ويستخلص منه دروساً عدة: الناس يتذكرون فعلاً اللحظات التي تفقد فيها البرمجيات جهدهم أو تتعامل معهم بازدراء، وعبارة «تغيّرت مرة وستتغيّر على الأرجح مرة أخرى» تشرح جيداً لماذا يصعب إصلاح الثقة المكسورة. كما يجلب المقال إلى Unsung للمرة الأولى قوانين جيف راسكين الثلاثة من كتابه The Humane Interface الصادر عام 2000: على الحاسوب ألّا يضر بعملك ولا أن يسمح، بالتقاعس، بوقوع ضرر عليه؛ وألّا يهدر وقتك أو يطلب منك عملاً أكثر مما يلزم؛ والواجهة إنسانية إذا استجابت لحاجات البشر وراعت نقاط ضعفهم. ويصف وِيكاري الكتاب بأنه كان مكوّناً ومؤثراً فيه كمصمم شاب.
SiTech — تطوير ويب مدعوم بالذكاء الاصطناعي
نبني مواقع سريعة وعصرية وندمج الذكاء الاصطناعي في سير عمل الشركات. لديك مشروع أو سؤال؟ يسعدنا مساعدتك.