«اصلاحِ یاک» چیه و چرا اینقدر بامزهست؟
خلاصهٔ کاملتر
نویسنده با یه اعتراف شروع میکنه: وبلاگش از هیچ مولدِ سایتِ ایستا یا فریمورکی مثلِ Jekyll و Hugo استفاده نمیکنه. اول پستها رو مستقیم با HTML مینوشت، بعد چون سخت بود یه سیستم برای نوشتن با JSON ساخت، بعد یه سرویس برای تبدیلِ Markdown به HTML، و آخرش دید که از صفر یه مولدِ سایتِ ایستا ساخته.
اسمِ این کار «اصلاحِ یاک» (yak shaving) ـه؛ اصطلاحی که کارلین ویری تو آزمایشگاهِ هوشِ مصنوعیِ MIT ساخت و یعنی یه زنجیره کارِ مرتبط رو برای یه هدف دنبال کنی تا جایی که کلاً هدفِ اصلی یادت بره و سر از یه کارِ کاملاً بیربط دربیاری. مثالش هم اینه: تبر میخوای درخت ببُری، تبر کنده، دنبالِ سنگِ تیزکنی میری، و آخرش داری موهای یه یاک رو میزنی.
نویسنده میگه یه اشتباهِ رایجِ مهندسها و مدیرها «ساختن از صفر»ه؛ یا از راهحلهای آماده خوششون نمیآد، یا میخوان مهارتشونو ثابت کنن، یا فکر میکنن اونها دقیقاً نیازشونو برآورده نمیکنن. ولی چون هر پروژه بودجه و زمانِ محدودی داره، وقتی از صفر میسازی زنجیرهی اصلاحِ یاک شروع میشه و معلوم نیست کجا تموم میشه. راهِ درست معمولاً پیداکردنِ یه جایگزینه که هستهی نیاز رو برآورده کنه.
ولی نویسنده با لحنی صادقانه اضافه میکنه که «اصلاحِ یاک بامزهست». ساختنِ چیزی که قبلاً نبوده، پیداکردن و حلکردنِ مشکل و کندوکاو تو زنجیرهای از دانش، مهندسها رو جذب میکنه. به نقل از کتابِ افسانهی مَنمانثِ بروکس، لذتِ ساختن، لذتِ ساختنِ چیزِ مفید برای بقیه و لذتِ یادگیریِ مداوم رو دلایلِ سرگرمکنندهبودنِ برنامهنویسی میدونه.
نمونهی افراطیِ یه اصلاحِ یاکِ موفق هم TeX ـه: دانلد کنوث برای اینکه فقط یه کتاب چاپ کنه، یه زبانِ برنامهنویسی، یه پارادایم (برنامهنویسیِ ادبی)، یه الگوریتمِ شکستنِ خط، یه فونت و کلی ابزار ساخت که نزدیکِ ده سال طول کشید. نویسنده میگه بیشترِ اصلاحهای یاک شکست میخورن، ولی برای یادگیری بینظیرن؛ چون تهش همیشه یه چیزی یاد میگیری، حتی اگه به هدف نرسی.
نکات کلیدی:
- «اصلاحِ یاک» یعنی غرقشدن تو زنجیرهی کارهای فرعی تا جایی که هدفِ اصلی گم میشه
- اصطلاح رو کارلین ویری تو MIT از یه کارتونِ Ren & Stimpy الهام گرفت
- «ساختن از صفر» با بودجه و زمانِ محدود معمولاً یه دامه
- ولی همین کار ذاتاً لذتبخش و برای یادگیری فوقالعاده مؤثره
- TeXِ کنوث نمونهی یه اصلاحِ یاکِ افراطی ولی موفقه




