
Vim'in undo geçmişini silen NeoVim ve kullanıcı verisine duyulan sorumluluk
Marcin Wichary'nin Unsung blogu, bilgisayar bilimci David Chisnall'ın Mastodon paylaşımını alıntıladı: NeoVim, vim'in undo dosyasını tüm verisiyle sildi ve bu, kullanıcının editöre olan güvenini tamamen bitirdi.
28 Ağustos'ta Marcin Wichary'nin Unsung blogu, neredeyse tamamen bilgisayar bilimci David Chisnall'ın Mastodon mesajına dayanan bir yazı yayımladı. Konu, vim'in persistent undo özelliği ve daha geniş anlamda yazılımın kullanıcı verisine borçlu oldukları; başlık da Chisnall'ın cümlesinden geliyor: “Kullanıcılarına karşı bir özen yükümlülüğü olduğuna dair hiçbir fikirleri yoktu.”
Chisnall, vim'i 2000 yılından beri kullanıyor; onunla beş kitap, bir doktora tezi, birkaç düzine makale ve 150'den fazla yazı yazdı. Sık kullanılan komutlar artık bilinçli düşünmeden çalışıyor ve başka araçlarla yazılmış belgelerin ortasında vim komutları takılı kalıyor.
Persistent undo neyi koruyor
Persistent undo, Chisnall'ın en sevdiği vim özelliklerinden biri. Nadiren ihtiyaç duyuyor, ama gerektiğinde paha biçilmez: "belki geçen hafta ve bir yeniden başlatma öncesinde" dosyadan silinen bir şeyi geri getirmek ya da bir commit öncesi hangi düzenlemenin neyi bozduğunu bulmak. vim bunu yaklaşık 20 yıl boyunca büyük sürüm yükseltmeleri boyunca çalışır tuttu; bir çökmeden ya da altı ay sonra bile undo geçmişi yerinde duruyor. Chisnall bunu Raskin'in Birinci Yasası'nın parçası sayıyor.
NeoVim'de ne oldu
NeoVim, vim'in bir çatalı. Chisnall onu henüz yeni olduğu dönemde denedi; ilk fark ettiği şey undo'nun çalışmadığıydı ve dosyayı vim'de açmak da işe yaramadı. NeoVim undo dosyalarının biçimini değiştirmişti: eski dosyayı güncellememiş ve kendi dosyalarına farklı bir isim vermemiş, var olan vim undo dosyasını tüm verisiyle silip yerine vim'in okuyamadığı bir dosya koymuştu.
Konuyla ilgili bir issue açtığında, kendisine persistent undo biçiminin kararsız olduğu söylendi: kullanıcılar açıkça "kalıcı" denen bir özellikte verinin korunmasına güvenmemeliydi ve biçim bir kez değişmişti, muhtemelen yine değişecekti. NeoVim deneyimi böylece sona erdi. "Geliştiriciler, verilerimin hiçbirine güvenilemeyeceğini hemen gösterdiler" diye yazdı Chisnall ve ekledi: undo'nun bozulmasını bir hata olarak affedebilirdi, ama kullanıcının diskindeki bir dosyanın silinmemesi için bir neden sayılmaması yaklaşımını affedemezdi.
Raskin'in yasaları
Wichary mesajı neredeyse tamamen alıntılıyor: insanlar yazılımın emeklerini kaybettiği anları hatırlıyor ve "bir kez değişti ve muhtemelen yine değişecek" ifadesi kırılan güvenin neden zor onarıldığını anlatıyor. Yazı ayrıca Jef Raskin'in 2000 tarihli The Humane Interface kitabındaki üç yasayı Unsung'a ilk kez taşıyor: bilgisayar işine zarar vermemeli ve hareketsizlikle zarar görmesine izin vermemeli; zamanını harcamamalı ve kesinlikle gerekenden fazla iş istememeli; bir arayüz, insan ihtiyaçlarına duyarlı ve insan zaaflarına saygılıysa insancıldır. Wichary kitabın onun için belirleyici olduğunu söylüyor.
SiTech — AI destekli web geliştirme
Hızlı ve modern web siteleri kuruyor, AI'yı gerçek iş akışlarına taşıyoruz. Projeniz veya sorunuz mu var? Yardımcı olmaktan mutluluk duyarız.