پرش به محتوای اصلی

مبتکر Rails برشته شده بر روی Rust boosterism

دِ رجیستر۱۴۰۵ مهر ۱۵, چهارشنبه، ساعت ۱۲:۱۵حدود 4 دقیقه مطالعه

دیوید هاین مایر هانسون باکیف کدگذاری شده توسط نماینده نتایج عجیبی را به همراه داشت

ماه گذشته در Rails World 2026، دیوید هاین مایر هانسون، خالق Ruby on Rails، سخنرانی بسیار خوش بینانه ای ارائه کرد که در آن پیشنهاد کرد هوش مصنوعی نیاز توسعه دهندگان به نوشتن دستی کد را از بین برده است. اما شاید DHH، همانطور که او به صورت آنلاین شناخته می شود، هنوز نباید ویرایشگر کد خود را کاملا حذف کند. روز یکشنبه، DHH در مورد آزمایشی پستی را منتشر کرد که در آن ماموران مرزی برنامه چت گروهی Campfire شرکتش را به سه زبان Elixir، Go و Rust پیاده سازی و بهینه سازی کردند. او سپس عملکرد زمان اجرا آن نسخه ها را با اجرای اصلی Ruby on Rails مقایسه کرد.

پست DHH شامل داده هایی است که ظاهرا کارایی زبان برنامه نویسی Rust و کدنویسی خود عامل هوش مصنوعی را نشان می دهد. اما بسیاری از ناظران به نتیجه دیگری رسیدند: به معیارهای DHH اعتماد نکنید. تا زمان انتشار، پست و نمودار همراه آن بیش از 900000 بازدید به دست آورد. این نشان می‌دهد که بازنویسی Rust در برنامه چت با اختلاف زیادی در پنج کار، از جمله جستجو یا ارسال پیام، بهتر از دیگران است.

DHH نگفت که از کدام سرویس‌های هوش مصنوعی برای این بازنویسی‌ها استفاده کرده است، اما خاطرنشان کرد که هر بازنویسی تنها چند ساعت طول می‌کشد، زیرا خود کد اصلی که عمدتا به زبان روبی نوشته شده است، نسبتا فشرده است. بسیاری از ناظران، به ویژه حامیان زبان‌های دیگر، به سرعت از منابع منبع حدس زدند که DHH نتایج Rust را بهینه کرده است، اما این کار را برای سایر زبان‌هایی که او آزمایش کرده بود، انجام نداد.

کدام زبان های سطح بالا؟ به نظر می‌رسد که بازنویسی برنامه‌ها در Rust، اغلب با کمک عوامل هوش مصنوعی، این روزها یک کار محبوب است، زیرا زمان اجرا Copilot مایکروسافت، نصب‌کننده جاوا اسکریپت pnpm و زنجیره ابزار Bun JavaScript همگی درمان Rust را دریافت می‌کنند. در آزمایش DHH، پیاده‌سازی Rust به‌خوبی از بقیه در هر پنج بار کاری برتری داشت، گاهی اوقات با اختلاف زیادی. برای مثال، برای ارائه یک «صفحه اتاق»، Rust 36260 درخواست در ثانیه را حذف کرد.

در مقابل، Ruby on Rails تنها توانست 241 درخواست ناچیز را برآورده کند، در حالی که اکسیر 722 درخواست را ارائه کرد و حتی گلانگ نایب قهرمان تنها 3860 درخواست در ثانیه را حذف کرد. Rust سایر وظایف را با دقتی مشابه انجام داد و به راحتی از زبان های دیگر DHH استفاده کرد. نکته مهم برای DHH واضح بود: بازنویسی یک برنامه کاربردی در Rust، یا بهتر است بگوییم که ماموران هوش مصنوعی این کار را انجام دهند، ممکن است به بهبود عملکرد یک برنامه منجر شود. DHH پیشنهاد کرد که عوامل زیادی در انتخاب یک زبان برنامه نویسی برای یک شغل خاص نقش دارند و سرعت اجرا تنها معیار نیست.

Rust می تواند به شدت کند باشد و برای بسیاری، نوشتن یا حتی خواندن کد Rust کار سختی است. خود DHH در سال 2003 شروع به توسعه Rails کرد، در حالی که Basecamp را با زبان برنامه نویسی نسبتا مبهم Ruby در آن زمان ساخت تا تجربه توسعه دهندگان را آسان کند. به نظر نمی رسد او بدش بیاید که روبی در تست های خودش کندترین رتبه را کسب کرده است. زمانی که سود از نظر بهره‌وری و شادی توسعه‌دهندگان بسیار زیاد بود، به [عملکرد] اهمیتی نمی‌دادم.» اما عوامل هوش مصنوعی از شادی سخنی به میان نمی آورند.

او می‌نویسد: «شما واقعا باید سرتان را در شن‌ها فرو کنید تا متوجه نشوید که وقتی مأموران کد را می‌نویسند و خروجی را تأیید می‌کنند، ما باید با واقعیت جدیدی سازگار شویم.» Chips on the table تست موقت DHH به سرعت با تردید، انتقاد و تمسخر آشکار مواجه شد، به خصوص در مورد X. (گویی دیدگاه محافظه کارانه DHH در مورد مهاجرت و کار او برای آوردن یک دسکتاپ لینوکس دیگر به جهان دردسر کافی برای او ایجاد نکرده است).

جانا دوگان، مهندس برجسته گوگل در پاسخ X به آزمایشات DHH نوشت: «آنچه مرا در مورد آینده برنامه‌نویسی نگران می‌کند این است که شما این را می‌بینید و بلافاصله نمی‌دانید احتمالا مشکلی در نتایج یا آنچه واقعا اندازه‌گیری کرده‌اید وجود دارد. دوگان در مورد کاستی‌های این آزمون توضیحی نداد، اما بسیاری دیگر، به‌ویژه طرفداران زبان‌های دیگر، از ارائه جزئیات بیشتر خوشحال بودند. یکی از طرفداران اکسیر اجرای DHH را "احمقانه" خواند، در حالی که چند نفر دیگر در واقع کد اکسیر را بازنویسی کردند تا عملکرد آن را با Rust مقایسه کنند.

پس از آن بازنویسی، نسخه اکسیر برنامه علیرغم بهینه‌سازی‌های بیشتر Rust توسط شخص ثالث، عملکرد Rust را در برخی کارها بهتر کرد. DHH از اینکه دیگران تصور می کنند زبان سطح بالایی مانند Elixir یا Ruby می تواند حتی با زبانی مانند Rust که به فلز نزدیک تر است، رقابت کند، ابراز شگفتی کرد.

اما او همچنین در X اشاره کرد که «اگر ماموران مرزی نتوانند سوئیچ‌های جادویی «go fast» را پیدا کنند، امتیاز اضافی برای Elixir نیست. در جای دیگر، ناظران خاطرنشان کردند که بازنویسی Rust نسبت به سایر پیاده‌سازی‌های Go و Elixir توجه بیشتری را به خود جلب کرد، که به نظر می‌رسید هر دوی آنها پس از درخواست‌های اولیه به سرعت به پایان رسیدند. یکی از ناظران در X نوشت: «شما زبان‌ها را محک نمی‌زنید، بلکه میزان توجه هر پورت را محک می‌زنید». معیار ناعادلانه بود.

زمان بیشتری به کد Rust اختصاص داده شد در حالی که بقیه یک شات بودند،" یکی در X نوشت. شخص دیگری حتی نمودار خود را ایجاد کرد که نشان می داد کد Rust در مقایسه با پاس های سریع در زبان های دیگر چقدر بیشتر تنظیم شده است. هیچ یک از این رد کردن ها در واقع حمایت DHH برای استفاده از عوامل برای کدنویسی را نفی نمی کند. اما واضح است که رد کردن تعداد زیادی از بررسی های بالقوه کار باعث می شود تا بازبینی بالقوه کار باعث شود.

خواندن متن کامل در دِ رجیستربه زبان اصلی، در سایت ناشر باز می‌شود
متن اصلی (انگلیسی)

Rails originator roasted over Rust boosterism

David Heinemeier Hansson's agent-coded bakeoff produced curious results

همه‌ی اخبار فناوری