وائب کوڈنگ کا آغاز
آپ کو وہ دن یاد ہوگا جب آپ نے کوڈ کی ہر لائن خود ٹائپ کرنا چھوڑ دی تھی۔ آپ نے Tab دبانا شروع کر دیا اور ایک Large Language Model (LLM) کو اپنے خیالات مکمل کرنے کا موقع دینے لگے۔
2024 اور 2025 کے اوائل کے درمیان، سافٹ ویئر ڈویلپمنٹ بدل گئی۔ ہم سخت سنٹیکس (syntax) سے نکل کر مکمل بہاؤ (flow) کی حالت میں آ گئے۔ Andrej Karpathy اسے Vibe Coding کہتے ہیں۔
Vibe Coding کا مطلب ہے کہ سافٹ ویئر کو باریک بین ڈیزائن کے بجائے وجدان (intuition) کے ذریعے بنایا جائے۔ اب آپ لائن بہ لائن لاجک نہیں لکھتے۔ آپ ایک کنڈکٹر کے طور پر کام کرتے ہیں۔ آپ نتائج کا فیصلہ اس بنیاد پر کرتے ہیں کہ سسٹم کیسا محسوس ہوتا ہے اور کیسا برتاؤ کرتا ہے۔
یہ ایک سپر پاور کی طرح محسوس ہوتا ہے۔ سرورز سیٹ اپ کرنے یا SQL queries لکھنے جیسے کام سیکنڈوں میں ہو جاتے ہیں۔ انفرادی ڈویلپرز پہلے سے کہیں زیادہ تیزی سے مصنوعات لانچ کر رہے ہیں۔
لیکن اس رفتار میں ایک جال چھپا ہے۔
جب آپ بنیادی اصولوں کو سمجھے بغیر کوڈ AI کے سپرد کر دیتے ہیں، تو آپ کی تنقیدی سوچ (critical thinking) کم ہو جاتی ہے۔ آپ ایک بلیک باکس پر انحصار کرنے لگتے ہیں۔ آپ کو تیز رفتار کوڈ تو مل جاتا ہے، لیکن آپ کو یہ معلوم نہیں ہوتا کہ آیا اسے برقرار رکھنا (maintainable) ممکن ہوگا یا نہیں۔
Vibe Coding کا چکر کچھ اس طرح نظر آتا ہے:
- فیچر شامل کرنے کے لیے ایک پرامپٹ (prompt) لکھیں۔
- کوڈ چلائیں اور دیکھیں کہ آیا یہ کام کرتا ہے۔
- اگر یہ ناکام ہو جائے، تو ایرر (error) کو کاپی کر کے دوبارہ AI کو دیں اور اسے ٹھیک کرنے کو کہیں۔
یہ پروٹوٹائپس (prototypes) کے لیے تو ٹھیک ہے، لیکن حقیقی آرکیٹیکچر کے لیے ناکام رہتا ہے۔ اس سے فرینکن اسٹائن کوڈ (Frankenstein code) جنم لیتا ہے۔
فرینکن اسٹائن کوڈ AI کے ٹکڑوں کا ایک ایسا مجموعہ ہے جو آپس میں جوڑ دیے گئے ہوں۔ ہر ٹکڑا ایک چھوٹے مسئلے کو حل کرتا ہے، لیکن پورے سسٹم میں کسی وژن (vision) کی کمی ہوتی ہے۔
جیسے جیسے آپ کا پروجیکٹ بڑھتا ہے، آپ کو یہ مسائل نظر آتے ہیں:
- غیر مستقل پیٹرنز (Inconsistent patterns)۔ AI ہر فائل میں مختلف انداز استعمال کرتا ہے۔
- شدید کپلنگ (Extreme coupling)۔ AI آسان راستہ اختیار کرتا ہے اور ماڈیول کی حدود کو توڑ دیتا ہے۔
- سیاق و سباق سے بے خبری (Context blindness)۔ AI موجودہ فنکشنز کو بھول جاتا ہے اور ڈپلیکیٹس یا نئے بگ (bugs) پیدا کر دیتا ہے۔
اس کا نتیجہ ایک کمزور سسٹم کی صورت میں نکلتا ہے۔ کوئی بھی انسان اسے نہیں سمجھ پاتا۔ AI باقی سب کچھ خراب کیے بغیر اسے تبدیل نہیں کر سکتا۔
Vibe Coding نے ڈویلپمنٹ کو آسان بنا دیا ہے۔ اس نے بورنگ کاموں کو ختم کر دیا ہے۔ لیکن سمت کے بغیر رفتار تکنیکی دیوالیہ پن (technical bankruptcy) کی طرف لے جاتی ہے۔
اسکیل ایبل (scalable) سسٹم بنانے کے لیے، آپ کو صرف 'وائبز' سے زیادہ کی ضرورت ہے۔ آپ کو سختی اور کوالٹی کنٹرول کی ضرورت ہے۔
Source: https://dev.to/jcmexdev/el-origen-del-vibe-coding-j00
Optional learning community: https://t.me/GyaanSetuAi
