React مسئلہ نہیں ہے۔ مسئلہ ہمارے سکھانے کے طریقے میں ہے۔

کسی جونیئر ڈویلپر سے پوچھیں کہ جب وہ 'submit' بٹن پر کلک کرتے ہیں تو کیا ہوتا ہے۔ زیادہ تر لوگ واضح جواب دینے میں ناکام رہتے ہیں۔

وہ شاید یہ کہیں کہ ایک API کال سرور کو جاتی ہے اور ایک رسپانس واپس آتا ہے۔ یہ ایک سطحی جواب ہے۔

ان سے مزید مخصوص سوالات پوچھیں:

  • براؤزر ریکویسٹ کو کیسے پیک کرتا ہے؟
  • کون سا HTTP میتھڈ استعمال ہوتا ہے؟
  • آتھنٹیکیشن (authentication) کہاں ہوتی ہے؟
  • ڈیٹا بیس تک پہنچنے سے پہلے سرور ڈیٹا کو کیسے پروسیس کرتا ہے؟

یہ وہ مقام ہے جہاں خاموشی شروع ہوتی ہے۔

جونیئر ڈویلپرز سست نہیں ہوتے۔ ان میں ٹیلنٹ کی کمی نہیں ہوتی۔ ان میں سیاق و سباق (context) کی کمی ہوتی ہے۔

ہم بنیادوں سے پہلے تجریدی تصورات (abstractions) سکھاتے ہیں۔

بوٹ کیمپس اور ٹیوٹوریلز کا مرکز فوری نتائج ہوتے ہیں۔ وہ چاہتے ہیں کہ آپ اپنا پورٹ فولیو بنائیں اور نوکری حاصل کریں۔ React اس میں مدد کرتا ہے کیونکہ آپ کو نتائج تیزی سے نظر آتے ہیں۔

سیکھنے والے سسٹم دیکھنے سے پہلے فریم ورکس دیکھتے ہیں۔

  • وہ HTTP سے پہلے React سیکھتے ہیں۔
  • وہ سرورز سے پہلے کمپوننٹس سیکھتے ہیں۔
  • وہ ڈیٹا بیس سے پہلے اسٹیٹ مینجمنٹ سیکھتے ہیں۔

اس سے ایسے ڈویلپرز پیدا ہوتے ہیں جو جانتے ہیں کہ کیا کرنا ہے لیکن یہ نہیں جانتے کہ وہ ایسا کیوں کر رہے ہیں۔

یہ 'tutorial hell' کی طرف لے جاتا ہے۔ آپ کسی ویڈیو سے کوڈ کاپی کرتے ہیں اور خود کو باصلاحیت محسوس کرتے ہیں۔ پھر جب آپ اکیلے کچھ بنانے کی کوشش کرتے ہیں تو ناکام ہو جاتے ہیں۔ آپ نے واقفیت کو سمجھ بوجھ سمجھنے کی غلطی کی۔

AI ٹولز اس مسئلے کو مزید بڑھا دیتے ہیں۔ ChatGPT جیسے ٹولز پیداواری صلاحیت (productivity) میں مدد کرتے ہیں۔ خطرہ تب شروع ہوتا ہے جب AI سوچنے کے عمل میں مدد کرنے کے بجائے اس کی جگہ لے لیتا ہے۔

ڈی بگنگ (Debugging) پہلے مشکل ہوا کرتی تھی۔ آپ کو دستاویزات (docs) پڑھنی پڑتی تھیں اور اصل وجہ معلوم ہونے تک بار بار ناکام ہونا پڑتا تھا۔ اس جدوجہد نے آپ کے دماغ کو بنایا۔ اگر آپ ہر مسئلے کو AI کے سپرد کر دیں گے، تو آپ اپنی انجینئرنگ کی فیصلہ سازی کی صلاحیت کھو دیں گے۔

سافٹ ویئر انجینئرنگ فیصلے کرنے اور فائدے اور نقصان (trade-offs) کو سمجھنے کا نام ہے۔ آپ اسے صرف پرامپٹنگ (prompting) کے ذریعے نہیں سیکھ سکتے۔

اگر میں ایک نصاب تیار کرتا، تو میں اس ترتیب سے سکھاتا:

  • HTML/CSS
  • JavaScript fundamentals
  • Browser fundamentals
  • HTTP and APIs
  • Basic back-end concepts
  • Databases
  • Authentication
  • React

جب تک طلباء React تک پہنچتے ہیں، وہ سمجھ چکے ہوتے ہیں کہ ڈیٹا فیچنگ (data fetching) کیوں ضروری ہے۔ وہ بٹن کلک کے پیچھے کے میکانزم کو سمجھتے ہیں۔

React مسئلہ نہیں ہے۔ AI مسئلہ نہیں ہے۔

مسئلہ بنیادوں سے بہت تیزی سے گزرنا اور یہ توقع کرنا ہے کہ خالی جگہیں خود بخود بھر جائیں گی۔

کیا ہم لوگوں کو بنانا سکھا رہے ہیں، یا ہم انہیں بغیر سمجھے کاپی کرنا سکھا رہے ہیں؟

Source: https://dev.to/franklyn_nmesoma_86940ec9/react-isnt-the-problem-how-we-teach-it-is-38m8