مشکل با «کدنویسی احساسی» یا همون Vibe Coding

مشکل کدنویسی احساسی اینه که یه اسکریپت ساده با محصول واقعی خیلی فرق داره! ما برنامه‌نویسا اینو خوب می‌دونیم، ولی بقیه نه!

مشکل با «کدنویسی احساسی» یا همون Vibe Coding
Photo by Saradasish Pradhan / Unsplash

این جریان «کدنویسی احساسی» یا همون Vibe Coding که الان ترند شده، یادآور دیگریه که خیلی از افرادی که تو دنیای فناوری کار می‌کنن، تفاوت بین برنامه و محصول رو نمی‌فهمن.

از نظر من، برنامه‌ها همون کدهای «رو سیستم من کار می‌کنه» هستن. همون چیزایی که خیلی از ما هر هفته چند بار می‌نویسیمشون. آزمایشا، نمونه‌های اولیه، پروتوتایپ‌ها... همون اسکریپتی که سرهم کردی تا اسم همه فایل‌های MP4 تو یه فولدر رو عوض کنی؟ همونو میگم. بدون بررسی خطا و ارور هندلینگ. مسیرها و آدرس‌های هارد کد شده. روی ویندوز کار می‌کند؟ کی اهمیت می‌ده؟ من الان رو لینوکسمو و کار دارم باید زود برم.

من ده‌ها برنامه از این دست دارم که هر روز استفاده می‌کنم. کد فقط وسیله‌ایه واسه رسیدن به هدف. نتیجه مهمه.

اما اگه نرم‌افزاری می‌نویسی که قصد داری منتشرش کنی، به دیگران توزیع کنی، و شاید حتی به مشتری‌هایی که پول میدن بفروشیش، خب، این دیگه یه بازی کاملاً متفاوته.

احتمالاً مهم‌ترین درسی که تو دوران کاریم یاد گرفتم، چیزی که به نظرم نشونه «تجربه» است، اینه که چقدر کار لازمه تا یه برنامه کارآمد رو به یه محصول قابل استفاده تبدیل کنی. به همین دلیله که تخمین زمان برنامه‌نویسا معمولاً خوش‌بینانه‌ست، و چرا برنامه‌نویسای باتجربه معمولاً بدبین هستن!

فرض کن کدی نوشتی که پاسخ‌های یه فرم وب رو می‌گیره و اونا رو تو یه فایل اکسل اضافه می‌کنه. این کار خیلی سختی نیست... آفرین! ما فقط تو یه بعدازظهر یه رقیب واسه تایپ‌فرم (مثل پرسلاین خودمون) ساختیم! ولی نه، نساختی. تو فقط یه چیز رو روی یه کامپیوتر یه بار اجرا کردی. به کدگذاری، بین‌المللی‌سازی، همزمانی، احراز هویت، گزارش‌گیری، صورتحساب، برندینگ، موبایل، دیپلوی فکر نکردی. هنوز به هیچ کدوم از محدودیت‌های عجیب و غریب برنخوردی، تا حالا سیستمی داشتی که واسه ۶۵,۵۳۵ درخواست اول عالی کار کنه و بعدش یهو بپکه؟ تو محصول نداری. در بهترین حالت، یه Concept داری که اگه چندتا آدم خیلی باهوش خیلی سخت روش کار کنن، شاید بشه یه محصول درست حسابی ازش دربیاد.

یکی از چیزای واقعاً مثبت درباره ابزارایی مثل کوپایلت و چت‌جی‌پی‌تی اینه که به آدمایی که تجربه برنامه‌نویسی زیادی ندارن، این امکان رو میدن که برنامه‌های خودشون رو بسازن. برنامه‌های کوچیکی که کارای مفیدی انجام میدن، و این عالیه. خدا قوت پهلوون، همینطور پیش برو.

اما این توسعه محصول نیست، فقط برنامه‌نویسیه. اینا اصلاً شبیه هم نیستن. حتی نزدیک هم نیستن.