𝗥𝗲𝗮𝗰𝘁 ਸਮੱਸਿਆ ਨਹੀਂ ਹੈ। ਅਸੀਂ ਇਸਨੂੰ ਕਿਵੇਂ ਸਿਖਾਉਂਦੇ ਹਾਂ, ਸਮੱਸਿਆ ਉਹ ਹੈ।

ਕਿਸੇ ਜੂਨੀਅਰ ਡਿਵੈਲਪਰ ਨੂੰ ਪੁੱਛੋ ਕਿ ਜਦੋਂ ਉਹ ਸਬਮਿਟ (submit) ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰਦੇ ਹਨ ਤਾਂ ਕੀ ਹੁੰਦਾ ਹੈ। ਜ਼ਿਆਦਾਤਰ ਲੋਕ ਸਪੱਸ਼ਟ ਜਵਾਬ ਦੇਣ ਵਿੱਚ ਅਸਫਲ ਰਹਿੰਦੇ ਹਨ।

ਉਹ ਕਹਿ ਸਕਦੇ ਹਨ ਕਿ ਇੱਕ API ਕਾਲ ਸਰਵਰ ਨੂੰ ਜਾਂਦੀ ਹੈ ਅਤੇ ਇੱਕ ਰਿਸਪਾਂਸ ਵਾਪਸ ਆਉਂਦਾ ਹੈ। ਇਹ ਇੱਕ ਸਿਰਫ ਉੱਪਰ-ਉੱਪਰ ਦੀ ਜਾਣਕਾਰੀ ਵਾਲਾ ਜਵਾਬ ਹੈ।

ਉਹਨਾਂ ਨੂੰ ਹੋਰ ਵਿਸ਼ੇਸ਼ ਸਵਾਲ ਪੁੱਛੋ:

  • ਬ੍ਰਾਊਜ਼ਰ ਰਿਕਵੈਸਟ (request) ਨੂੰ ਕਿਵੇਂ ਪੈਕੇਜ ਕਰਦਾ ਹੈ?
  • ਕਿਹੜਾ HTTP ਮੈਥਡ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ?
  • ਅਥੈਂਟੀਕੇਸ਼ਨ (authentication) ਕਿੱਥੇ ਹੁੰਦੀ ਹੈ?
  • ਡਾਟਾਬੇਸ ਤੱਕ ਪਹੁੰਚਣ ਤੋਂ ਪਹਿਲਾਂ ਸਰਵਰ ਡਾਟਾ ਨੂੰ ਕਿਵੇਂ ਪ੍ਰੋਸੈਸ ਕਰਦਾ ਹੈ?

ਇੱਥੋਂ ਹੀ ਚੁੱਪ ਛਾ ਜਾਣ ਲੱਗਦੀ ਹੈ।

ਜੂਨੀਅਰ ਡਿਵੈਲਪਰ ਆਲਸੀ ਨਹੀਂ ਹੁੰਦੇ। ਉਹਨਾਂ ਵਿੱਚ ਪ੍ਰਤਿਭਾ ਦੀ ਕਮੀ ਨਹੀਂ ਹੁੰਦੀ। ਉਹਨਾਂ ਵਿੱਚ ਸੰਦਰਭ (context) ਦੀ ਕਮੀ ਹੁੰਦੀ ਹੈ।

ਅਸੀਂ ਬੁਨਿਆਦਾਂ ਤੋਂ ਪਹਿਲਾਂ ਐਬਸਟਰੈਕਸ਼ਨ (abstractions) ਸਿਖਾਉਂਦੇ ਹਾਂ।

ਬੂਟਕੈਂਪ ਅਤੇ ਟਿਊਟੋਰਿਅਲ ਜਲਦੀ ਨਤੀਜਿਆਂ 'ਤੇ ਧਿਆਨ ਕੇਂਦਰਿਤ ਕਰਦੇ ਹਨ। ਉਹ ਚਾਹੁੰਦੇ ਹਨ ਕਿ ਤੁਸੀਂ ਇੱਕ ਪੋਰਟਫੋਲੀਓ ਬਣਾਓ ਅਤੇ ਨੌਕਰੀ ਪ੍ਰਾਪਤ ਕਰੋ। React ਇਸ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ ਕਿਉਂਕਿ ਤੁਸੀਂ ਜਲਦੀ ਨਤੀਜੇ ਦੇਖਦੇ ਹੋ।

ਸਿੱਖਣ ਵਾਲੇ ਸਿਸਟਮਾਂ ਨੂੰ ਦੇਖਣ ਤੋਂ ਪਹਿਲਾਂ ਫਰੇਮਵਰਕਸ ਦੇਖਦੇ ਹਨ।

  • ਉਹ HTTP ਤੋਂ ਪਹਿਲਾਂ React ਸਿੱਖਦੇ ਹਨ।
  • ਉਹ ਸਰਵਰਾਂ ਤੋਂ ਪਹਿਲਾਂ ਕੰਪੋਨੈਂਟਸ (components) ਸਿੱਖਦੇ ਹਨ।
  • ਉਹ ਡਾਟਾਬੇਸਾਂ ਤੋਂ ਪਹਿਲਾਂ ਸਟੇਟ ਮੈਨੇਜਮੈਂਟ (state management) ਸਿੱਖਦੇ ਹਨ।

ਇਹ ਅਜਿਹੇ ਡਿਵੈਲਪਰ ਬਣਾਉਂਦਾ ਹੈ ਜੋ ਜਾਣਦੇ ਹਨ ਕਿ ਕੀ ਕਰਨਾ ਹੈ ਪਰ ਇਹ ਨਹੀਂ ਜਾਣਦੇ ਕਿ ਉਹ ਅਜਿਹਾ ਕਿਉਂ ਕਰ ਰਹੇ ਹਨ।

ਇਹ 'ਟਿਊਟੋਰਿਅਲ ਹੈਲ' (tutorial hell) ਵੱਲ ਲੈ ਜਾਂਦਾ ਹੈ। ਤੁਸੀਂ ਵੀਡੀਓ ਤੋਂ ਕੋਡ ਕਾਪੀ ਕਰਦੇ ਹੋ ਅਤੇ ਉਤਪਾਦਕ ਮਹਿਸੂਸ ਕਰਦੇ ਹੋ। ਫਿਰ ਤੁਸੀਂ ਇਕੱਲੇ ਕੁਝ ਬਣਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹੋ ਅਤੇ ਅਸਫਲ ਰਹਿੰਦੇ ਹੋ। ਤੁਸੀਂ ਜਾਣ-ਪਛਾਣ ਨੂੰ ਸਮਝ ਸਮਝ ਲਿਆ।

AI ਟੂਲ ਇਸ ਸਮੱਸਿਆ ਨੂੰ ਹੋਰ ਵਧਾਉਂਦੇ ਹਨ। ChatGPT ਵਰਗੇ ਟੂਲ ਉਤਪਾਦਕਤਾ ਵਿੱਚ ਮਦਦ ਕਰਦੇ ਹਨ। ਖ਼ਤਰਾ ਉਦੋਂ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ ਜਦੋਂ AI ਸਹਾਇਤਾ ਕਰਨ ਦੀ ਬਜਾਏ ਸੋਚਣ ਦੀ ਪ੍ਰਕਿਰਿਆ ਦੀ ਜਗ੍ਹਾ ਲੈ ਲੈਂਦਾ ਹੈ।

ਡਿਬੱਗਿੰਗ (Debugging) ਪਹਿਲਾਂ ਮੁਸ਼ਕਲ ਹੁੰਦੀ ਸੀ। ਤੁਹਾਨੂੰ ਮੂਲ ਕਾਰਨ ਲੱਭਣ ਤੱਕ ਡੌਕਯੂਮੈਂਟੇਸ਼ਨ (docs) ਪੜ੍ਹਨੀ ਪੈਂਦੀ ਸੀ ਅਤੇ ਅਸਫਲ ਹੋਣਾ ਪੈਂਦਾ ਸੀ। ਉਸ ਸੰਘਰਸ਼ ਨੇ ਤੁਹਾਡੇ ਦਿਮਾਗ ਨੂੰ ਬਣਾਇਆ। ਜੇਕਰ ਤੁਸੀਂ ਹਰ ਸਮੱਸਿਆ AI ਨੂੰ ਸੌਂਪ ਦਿੰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਆਪਣੀ ਇੰਜੀਨੀਅਰਿੰਗ ਸੋਚ (engineering judgment) ਗੁਆ ਲੈਂਦੇ ਹੋ।

ਸਾਫਟਵੇਅਰ ਇੰਜੀਨੀਅਰਿੰਗ ਫੈਸਲੇ ਲੈਣ ਅਤੇ ਟ੍ਰੇਡ-ਆਫਸ (trade-offs) ਨੂੰ ਸਮਝਣ ਬਾਰੇ ਹੈ। ਤੁਸੀਂ ਸਿਰਫ਼ ਪ੍ਰੋਂਪਟਿੰਗ (prompting) ਰਾਹੀਂ ਇਹ ਨਹੀਂ ਸਿੱਖ ਸਕਦੇ।

ਜੇਕਰ ਮੈਂ ਇੱਕ ਪਾਠਕ੍ਰਮ (curriculum) ਬਣਾਉਂਦਾ, ਤਾਂ ਮੈਂ ਇਸ ਕ੍ਰਮ ਵਿੱਚ ਸਿਖਾਉਂਦਾ:

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

ਜਦੋਂ ਤੱਕ ਵਿਦਿਆਰਥੀ React ਤੱਕ ਪਹੁੰਚਦੇ ਹਨ, ਉਹ ਸਮਝਦੇ ਹਨ ਕਿ ਡਾਟਾ ਫੈਚਿੰਗ (data fetching) ਕਿਉਂ ਹੁੰਦੀ ਹੈ। ਉਹ ਬਟਨ ਕਲਿੱਕ ਦੇ ਪਿੱਛੇ ਦੀ ਮਕੈਨਿਕਸ ਨੂੰ ਸਮਝਦੇ ਹਨ।

React ਸਮੱਸਿਆ ਨਹੀਂ ਹੈ। AI ਸਮੱਸਿਆ ਨਹੀਂ ਹੈ।

ਸਮੱਸਿਆ ਬੁਨਿਆਦਾਂ ਰਾਹੀਂ ਬਹੁਤ ਤੇਜ਼ੀ ਨਾਲ ਅੱਗੇ ਵਧਣਾ ਅਤੇ ਇਹ ਉਮੀਦ ਕਰਨਾ ਹੈ ਕਿ ਖਾਲੀਆਂ ਥਾਵਾਂ ਆਪਣੇ ਆਪ ਭਰ ਜਾਣਗੀਆਂ।

ਕੀ ਅਸੀਂ ਲੋਕਾਂ ਨੂੰ ਬਣਾਉਣਾ ਸਿਖਾ ਰਹੇ ਹਾਂ, ਜਾਂ ਅਸੀਂ ਉਹਨਾਂ ਨੂੰ ਬਿਨਾਂ ਸਮਝੇ ਕਾਪੀ ਕਰਨਾ ਸਿਖਾ ਰਹੇ ਹਾਂ?

ਸਰੋਤ: https://dev.to/franklyn_nmesoma_86940ec9/react-isnt-the-problem-how-we-teach-it-is-38m8