آخرین گیفِ یوسوکه اِندو هم خودِ برنامه است و هم خروجی اجرای همان برنامه: یک پیت‌کواین که فایل GIF را دقیقاً بازتولید می‌کند.

پیت و کواین به چه معنا هستند؟

Piet یک زبان برنامه‌نویسی اگزوتیک است که برنامه‌ها در آن به‌صورت قطعات رنگی موزاییکی نمایش داده می‌شوند. سازندهٔ این زبان، دیوید مورگان-مار، آن را به نام نقاش هلندی پیت موندریان نام‌گذاری کرد. برای توضیحات فنی بیشتر می‌توانید صفحهٔ رسمی در ویکی esolangs را ببینید.

Quine در علوم کامپیوتر برنامه‌ای است که بدون ورودی خارجی دقیقاً همان متنِ منبعِ خود را چاپ می‌کند. برای روشن شدن مفهوم کواین می‌توانید به صفحهٔ ویکی‌پدیا دربارهٔ Quine مراجعه کنید.

چرا ترکیب پیت و کواین دشوار است؟

در متن‌های معمولی، ورودی و خروجی هر دو رشته‌ای از کاراکترها هستند و چالش عمدتاً مربوط به قالب‌بندی و اقتباس رشته‌هاست. در پیت‌کواین اما ورودی یک فایل تصویری است؛ شامل هدر، پالت رنگ، داده‌های فشرده و ساختار باینری خاصِ GIF. مفسر پیت در فازِ بارگذاری ابتدا تصویر را اسکن و سپس هدر و پالت را می‌خواند، بنابراین برای اینکه خروجی دقیقاً همان فایل GIF شود، باید همهٔ اجزا — از بایت‌های فشرده تا ترتیب داده‌ها و ساختار فایل — به‌شکل حساب‌شده تولید شوند، نه اینکه صرفاً فایل موجود دوباره خوانده شود.

مراحل فنی کلیدی در کار اِندو

  • تفکیک تصویر به دو ناحیهٔ مجزا: ناحیهٔ کد که پیت آن را اجرا می‌کند و ناحیهٔ داده که در قالب فشردهٔ GIF نگهداری می‌شود.
  • مدیریت فشرده‌سازی مبتنی بر Run-Length Encoding (RLE) که در فرمت GIF به‌صورت تطبیقی کاربرد دارد؛ هماهنگ‌سازی ساختار فشرده‌سازی با نحوهٔ پیمایش رنگ‌ها ضروری است.
  • اطمینان از این که مفسر هنگام اجرای تصویر دقیقاً همان بایت‌ها را تولید کند؛ تولید دقیق هدر، پالت و بلوک‌های دادهٔ فشرده‌شده الزامی است.
  • آزمون و اعتبارسنجی مکرر برای یافتن حالت‌هایی که مفسر ممکن است داده‌ها را به‌گونه‌ای متفاوت تفسیر کند و اصلاح ساختار کد برای جلوگیری از آن‌ها.
قاب‌هایی از گیف پیت کواین یوسوکه اندوه

پروژه‌ای طولانی و دقیق

اِندو می‌گوید برای نخستین بار در سال 2009 به این هدف نزدیک شده بود، اما خروجی‌های اولیه بسیار بلند و نامناسب برای نمایش بودند. او سپس از یک مدل هوش مصنوعی به نام Claude Code کمک گرفت تا اسکریپت را بازسازی و نسخه‌ای فشرده‌تر و افقی‌تر بسازد. حتی با کمک هوش مصنوعی، فشرده‌سازی بصری و ظریف‌سازی ساختار کد زمان‌بر بود؛ نتیجه تصویری با نسبت 4:3 و ابعاد 252 × 189 پیکسل شد.

نمای نزدیک بخش‌های رنگی در برنامهٔ پیت

چشم‌انداز و فراخوان

اِندو می‌گوید یکی از انگیزه‌های اصلی او جلب توجه به مسابقهٔ طراحی زبان‌های برنامه‌نویسی اگزوتیک 2026 بود؛ مسابقه‌ای که طراحان را به خلق زبان‌های غیرمعمول دعوت می‌کند و اِندو یکی از داوران آن است. علاقه‌مندان تا اول اکتبر فرصت ارسال طرح دارند.

نمونه‌ای از اجرای پیت که جریان کنترل رنگی را نشان می‌دهد

اهمیت حرکت‌هایی از این دست

پروژه‌هایی مثل پیت‌کواین مرزهای مفاهیم برنامه‌نویسی، فایل‌های باینری و تصویر را در هم می‌شکنند و نشان می‌دهند هنر و علوم کامپیوتر چگونه می‌توانند همپوشانی پیدا کنند. این آثار نه تنها چالش فکری و جنبهٔ نمایشی دارند، بلکه ابزارهای مناسبی برای درک عمیق‌تر فرمت‌های فایل، روش‌های فشرده‌سازی و طراحی مفسرها فراهم می‌کنند.

برای علاقه‌مندان به ساختارهای غیرمتعارف در برنامه‌نویسی، این نوع پروژه‌ها دعوتی‌ست به بازاندیشی دربارهٔ چیستیِ «کد» و «خروجی»؛ جایی که تصویر می‌تواند هم اجراگر باشد و هم محصول اجرا.