3 قانون نرم افزار Raskin را با کارهای انسانی که وظیفه مراقبت از یک برنامه نویس را در نظر می گیرد احیا کنید.
همه اینها، و عصبانی کاربران NeoVim
در سال 1942، آیزاک آسیموف سه قانون رباتیک را تدوین کرد. 58 سال بعد، جف راسکین با سه قانون طراحی رابط انسان و کامپیوتر پاسخ داد. آنها هنوز بهتر نشده اند. قوانین و حتی قوانینی در مورد طراحی رابط کاربری کامپیوتر وجود دارد. حتی پس از 35 سال لینوکس، که یونیکس را به تودهها رسانده است، دنیای FOSS هنوز واقعا این را درک نکرده است. در این میان، دنیای نرمافزار اختصاصی بهشدت همه چیزهایی را که قبلا میدانست، فراموش میکند. گاهی اوقات این قوانین امروز ظاهر میشوند، و افراد FOSS معمولا وقتی به آنها یادآوری میشود که آنها حقهبازان رابط کاربری هستند، بسیار متقابل میشوند.
پست اخیر وبلاگ Marcin Wichary، آنها هیچ مفهومی در مورد وظیفه مراقبت از کاربران خود نداشتند، یک نمونه عالی اخیر است. (میز Reg FOSS نوشتههای آقای ویچاری را بسیار تحسین میکند، تا جایی که ما تاریخچه کیبورد او، Shift Happens را خریدیم.) ویچاری در آخرین پست خود به دیوید چیسنال، کارمند پروژه CHERI اشاره میکند. Chisnall یک کاربر طولانی مدت Vim است - همه ما نقص های خود را داریم - و اخیرا تلاش NeoVim را بازگو کرده است.
او از ویژگی واگرد مداوم Vim استفاده می کند که تغییرات را در یک فهرست جداگانه ثبت می کند، به طوری که می توانید بارها و بارها آن را لغو کنید تا زمانی که به تغییراتی که هفته ها یا ماه ها قبل انجام داده اید بازگردید. او محل نگهداری آن را سفارشی کرده است، و وقتی فورک NeoVim را امتحان کرد، فایل واگرد Vim او را بازنویسی کرد. در به روز رسانی بعدی پست خود، او اذعان می کند که یک هشدار وجود دارد، اما او انتظار داشت که ایمن باشد. امن نبود. سوابق تغییرات بیش از یک دهه را بازنویسی کرد. همانطور که او می گوید: "Vim این کار را در طول به روز رسانی های اصلی نسخه در یک دوره حدود 20 ساله حفظ کرده است.
من حتی به آن فکر نمیکنم، این فقط بخشی از قانون اول راسکین است: یک برنامه ممکن است به دادههای کاربر آسیب نرساند یا از طریق عدم اقدام، اجازه آسیب رساندن به دادههای کاربر را ندهد. اگر vim یا رایانه خراب شود، یا اگر فایلی را ببندم و شش ماه بعد به آن بازگردم، سابقه لغو من هنوز وجود دارد. Wichary استناد Chisnall از قانون اول راسکین را با ارائه هر سه مورد گسترش میدهد، اما فقط در صورتی که شما پیرو داستانهای علمی تخیلی «عصر طلایی» نباشید، یک زمینه کوچک ارائه میدهد. آسیموف سه قانون خود را در یک داستان کوتاه به نام "Runaround" در مجله علمی تخیلی Astounding* در ماه می 1942 معرفی کرد.
(این داستان بعدا در گلچین من، روبات جمع آوری شد - که هیچ شباهتی به فیلم وحشتناک 2004 ندارد.) یک ربات ممکن است به انسان آسیب نرساند یا از طریق انفعال اجازه آسیب رساندن به انسان را بدهد. یک ربات باید از دستورات داده شده توسط انسان اطاعت کند مگر در مواردی که چنین دستوراتی با قانون اول در تضاد باشد. یک ربات باید از وجود خود محافظت کند تا زمانی که چنین حفاظتی با قانون اول یا دوم در تضاد نباشد. ایده آسیموف این بود که با تنظیم این قوانین، میتواند به ژانر وحشتناک داستانهای رباتهای قاتل که تا سال 1942 خسته و کهنه شده بود، پایان دهد.
جف راسکین، طراح اصلی پروژه اصلی مکینتاش اپل، تلاش کرد تا وضوح مشابهی را در رابط کاربری نرم افزار ایجاد کند. سه قانون راسکین عبارتند از: رایانه نباید به کار شما آسیب برساند یا از طریق انفعال، اجازه آسیب رساندن به کار شما را ندهد. یک کامپیوتر نباید وقت شما را هدر دهد یا از شما بخواهد که کار بیشتری از آنچه کاملا ضروری است انجام دهید. رابط اگر پاسخگوی نیازهای انسان باشد و ضعف های انسانی را در نظر بگیرد، انسانی است. او آنها را در کتاب خود به نام «رابط انسانی» در سال 2000 تعریف کرد که هنوز هم میتوانید آن را بخرید یا از آرشیو اینترنت قرض بگیرید.
متأسفانه، راسکین در سال 2005 درگذشت، اما ما چندین بار در مورد آثار و تأثیر او نوشتیم. او برخی از مسیرهای مکینتاش اصلی را تعیین کرد. پس از اینکه استیو جابز از لیزا خارج شد، او مکینتاش را تصاحب کرد - همانطور که در Canon Cat and Mac که استیو جابز آن را کشت. Raskin دست از کار کشید و به جای آن گربه قابل توجه Canon را طراحی کرد، همانطور که چند سال پیش توضیح دادیم. ما گمان می کنیم که راسکین از طرفداران Vi، پیشرو Vim نبود. ما هم نیستیم، به همین دلیل است که سال را در عنوان این داستان انتخاب کردیم: سالی است که بیل جوی وی را نوشت.
راسکین از نرم افزار مودال انتقاد کرد که نیاز به تلاش ذهنی بیشتری از کاربر دارد. یکی دیگر از پیشگامان رابط کاربری، لری تسلر بزرگ فقید، که دستورات سه گانه برش/کپی/پیست را اختراع کرد، همین کار را کرد. تسلر به خاطر جملهاش «منو به من وارد نکن!» شهرت داشت. و حتی پلاک ماشینی داشت که روی آن "NOMODES" نوشته شده بود. دکتر چیسنال سابقه ناراحت کردن طرفداران یونیکس را دارد - ما قبلا به یکی از مقالات او اشاره کردیم: در سال 2018، او نوشت C زبان سطح پایین نیست: رایانه شما یک PDP-11 سریع نیست. طرفداران یونیکس واقعا این را دوست نداشتند. قبلا به این کرکس گفته شده بود که به خاطر جرات انتقاد از C خود را بکشد.
(کاش شوخی می کردیم، اما نه.) اگرچه او اکنون پست Mastodon خود را به روز کرده است، اما طرفداران NeoVim راضی نیستند. در واقع، یکی این کرکس را به دلیل اشتراکگذاری پست Wichary به Bluesky سرزنش کرده است. جالب است بدانید که NeoVim ویرایشگر توصیه شده در Omarchy است و تا همین اواخر، توسعه دهندگان NeoVim به یک توییت از DHH در وب سایت پروژه استناد می کردند. پس از یک بحث نامطلوب، نقل قول کشی درست در زمان پست های Chisnall و Wichary حذف شد. در دنیای گسترده طراحی نرم افزار، ما انتظار نداریم که جناح راست آن جامعه نوآوری زیادی در سهولت استفاده داشته باشد.
به نوعی، یونیکس و سی مظهر مکتب طراحی نرمافزاری ماچیسمونی هستند: لذت بردن از فرآیند تسلط بر چیزهایی که استفاده از آنها سخت است. با این حال، انواع دیگری از نرم افزار وجود دارد. ما اخیرا از خواندن در مورد شبیه سازی یک مکینتاش اصلی روی یک تراشه 0.60 پوندی لذت بردیم. این 0.80 دلار است و البته کامپیوتر یک Raspberry Pi است – اما نه حتی یک Pi Zero: این یک Pi Pico است، یک میکروکنترلر. هنوز هم امیدی وجود دارد که جهان بتواند نرم افزارهای کوچک، ساده و کاربر محور را که اولا برای دوستانه بودن و در مرحله بعد برای کارکردهای غنی ساخته شده است، دوباره کشف کند.
و تقریبا ناگفته نماند که بدون کمک ربات به صورت دستی کدگذاری شده است. Bootnote * مجله Astounding در سال 1960 نام خود را به Analog تغییر داد و هنوز هم موجود است. ما آن را توصیه می کنیم. اگر «Runaround» اصلی آسیموف را نخواندهاید، آن شماره از Astounding نیز در آرشیو اینترنت موجود است. ®
متن اصلی (انگلیسی)
Revive Raskin's 3 laws of software with humane work that considers a dev's duty of care
All this, and angry NeoVim users