الأخبار

🤖 مادام الذكاء الاصطناعي يستطيع فعل كل شيء... فلماذا نتعلم البرمجة؟



🤖 إذا كان الذكاء الاصطناعي يستطيع فعل كل شيء... فلماذا نتعلم البرمجة؟

في عصر الذكاء الاصطناعي (Artificial Intelligence)، لم تعد البرمجة كما كانت من قبل. فبعد أن كان إنشاء تطبيق متكامل يحتاج إلى أسابيع أو أشهر من العمل، أصبحت أدوات الذكاء الاصطناعي قادرة على تنفيذ أجزاء كبيرة من هذه المهمة خلال دقائق.

يمكن للذكاء الاصطناعي اليوم إنشاء منصات تعليمية، ولوحات تحكم (Dashboard)، وصفحات تسجيل الدخول (Login)، وإنشاء الحسابات (Register)، ووسائل الدفع (Payment Methods)، بل ويمكنه كتابة الاختبارات (Tests)، ومراجعة الكود (Code Review)، وإنشاء طلبات الدمج (Pull Requests).

وهنا يظهر سؤال منطقي:

إذا كان الذكاء الاصطناعي يستطيع تنفيذ ما كنت سأحتاج إلى سنوات لتعلمه، فلماذا أتعلم البرمجة؟

الإجابة تبدأ من فهم حقيقة أساسية: الذكاء الاصطناعي يغير دور المبرمج، لكنه لا يلغي الحاجة إليه.
⚡ الذكاء الاصطناعي أصبح قادرًا على كتابة الكود

لم يعد السؤال الحقيقي هو: هل يستطيع الذكاء الاصطناعي كتابة الكود؟

نعم، يستطيع.

بل إن أنظمة AI Agents أصبحت قادرة على تنفيذ سلسلة من المهام البرمجية، بداية من فهم المطلوب وكتابة الكود، مرورًا بتشغيل الاختبارات (Tests)، ومحاولة إصلاح الأخطاء، وحتى مراجعة الكود.

لكن امتلاك أداة تستطيع كتابة الكود لا يعني امتلاك تطبيق ناجح.

فالبرنامج الحقيقي يحتاج إلى شخص يفهم ما الذي يجب بناؤه، ولماذا يجب بناؤه بهذه الطريقة، وكيف ينبغي أن يعمل، وما المخاطر المحتملة.
💰 الكود أصبح أرخص... لكن المسؤولية أصبحت أغلى

جعل الذكاء الاصطناعي كتابة الكود أسرع وأقل تكلفة، لكن هناك أشياء لم تصبح أرخص، مثل الفهم، واتخاذ القرار، وحل المشكلات، والمراجعة، وتحمل المسؤولية.

فالذكاء الاصطناعي يستطيع اقتراح حل، لكنه لا يتحمل نتائج هذا الحل.

إذا تسبب خطأ في نظام الدفع (Payment System) في خسائر، أو أدى خلل برمجي إلى فقدان بيانات المستخدمين، فهناك شخص أو فريق يجب أن يتحمل مسؤولية القرار.

وهنا يظهر الفرق الحقيقي بين من يكتب برنامجًا ومن يتحمل مسؤولية برنامج.
🖥️ التطبيق ليس مجرد كود يعمل

من الأخطاء الشائعة في عصر الذكاء الاصطناعي أن نعتبر التطبيق جاهزًا لمجرد أن السيناريو الأساسي يعمل.

قد تختبر عملية بسيطة مثل:

إنشاء حساب ← تسجيل الدخول ← اختيار دورة ← الدفع

وتجد أن كل شيء يعمل بشكل جيد.

لكن ماذا يحدث إذا تأخرت استجابة بوابة الدفع (Payment Gateway)؟ ماذا لو وصلت الاستجابة ناقصة؟ ماذا لو نجحت عملية الدفع، لكن لم يتم تسجيل المستخدم في الدورة؟ ماذا لو استخدم العميل دولة أو موقعًا جغرافيًا مختلفًا؟ ماذا لو حدث انقطاع مؤقت في قاعدة البيانات (Database)؟

هذه الحالات تسمى Edge Cases، وهي جزء أساسي من اختبار أي نظام حقيقي.
⚠️ الذكاء الاصطناعي قد يقترح الحل الخطأ

رغم التطور الكبير في قدرات الذكاء الاصطناعي، فإنه ليس معصومًا من الأخطاء.

قد يقدم حلًا يبدو منطقيًا لكنه لا يعالج السبب الحقيقي للمشكلة، وقد يقع في Hallucination، أي تقديم معلومات أو حلول غير دقيقة.

كما يمكن أن تظهر False Positives، عندما يعتقد النظام بوجود مشكلة بينما لا توجد مشكلة فعلية.

لذلك لا يكفي أن تقول:

"الذكاء الاصطناعي راجع الكود وقال إنه سليم."

السؤال الأهم هو:

هل تستطيع أنت معرفة ما إذا كانت مراجعته صحيحة؟

وهنا تظهر قيمة تعلم البرمجة وفهم أساسياتها.
🧠 كلما زادت سرعة كتابة الكود... زادت أهمية القرارات

الذكاء الاصطناعي يختصر وقت كتابة الكود، لكنه في الوقت نفسه يجعل الإنسان أمام عدد أكبر من القرارات.

هل هذا هو الحل الصحيح؟ هل تصميم النظام مناسب؟ هل الكود آمن؟ هل الأداء جيد؟ ماذا سيحدث في الحالات غير المتوقعة؟ وهل يمكن تطوير النظام مستقبلًا دون إعادة بنائه من البداية؟

لذلك تصبح مهارة Decision Making أكثر أهمية من مجرد القدرة على كتابة الأسطر البرمجية.
💣 Technical Debt... المشكلة التي قد تظهر لاحقًا

هناك مفهوم مهم في تطوير البرمجيات يسمى Technical Debt أو "الدين التقني".

وهو تراكم الحلول السريعة أو غير المثالية التي قد تجعل صيانة المشروع وتطويره مستقبلًا أكثر صعوبة وتكلفة.

الذكاء الاصطناعي يستطيع إنتاج حل خلال ثوانٍ، لكن أسرع حل ليس بالضرورة أفضل حل.

قد تحصل على كود يعمل اليوم، ثم تكتشف بعد أشهر أن هذا الكود أصبح عبئًا على المشروع.

ولهذا أصبحت Code Review وفهم بنية الكود أكثر أهمية، وليس أقل.
👨‍💻 المبرمج الجديد لا يقاس بعدد الأسطر التي يكتبها

في عصر الذكاء الاصطناعي، لن تكون قيمة المبرمج في قدرته على كتابة آلاف الأسطر بسرعة.

القيمة الحقيقية ستكون في قدرته على الإجابة عن سؤال أكثر أهمية:

ما الكود الذي يجب أن يُكتب؟ وما الكود الذي لا ينبغي كتابته أصلًا؟

ولكي تستطيع التعامل مع الذكاء الاصطناعي بشكل فعال، يجب أن تفهم أساسيات مثل Inputs وOutputs وEdge Cases وAlgorithms وData Structures وPerformance وObject-Oriented Programming (OOP).

لا تحتاج إلى حفظ كل شيء، لكنك تحتاج إلى فهم ما يحدث ولماذا يحدث.
🧩 تعلم تقسيم المشكلة قبل حلها

تعد Problem Decomposition، أي تقسيم المشكلة، من أهم المهارات التي يحتاج إليها المبرمج.

فبدلًا من التعامل مع المشكلة الكبيرة ككتلة واحدة، يتم تقسيمها إلى مجموعة من المشكلات الصغيرة التي يمكن فهمها وحلها واختبارها.

كلما كان فهمك للمشكلة أفضل، أصبحت قادرًا على توجيه الذكاء الاصطناعي بصورة أفضل.

فالذكاء الاصطناعي يستطيع تنفيذ ما تطلبه منه، لكن أنت من يحدد ما الذي يجب طلبه أصلًا.
🧪 Testing وDebugging... مهارتان لا يمكن تجاهلهما

يظل Testing & Debugging من أهم أجزاء العمل البرمجي.

يجب أن تعرف كيف تختبر البرنامج، وكيف تحدد سبب الخطأ، وكيف تتأكد من أن الحل المقترح عالج المشكلة بالفعل.

فالذكاء الاصطناعي قد يحاول الوصول إلى أسرع طريقة لإنهاء المهمة، لكنه قد لا يختار دائمًا أفضل حل هندسي.

لذلك يجب أن تكون قادرًا على اختبار النتيجة بنفسك وفهم سبب نجاحها أو فشلها.
🌐 افهم النظام بالكامل وليس الكود فقط

المبرمج لا يعمل داخل ملف كود منعزل، بل داخل منظومة مترابطة.

يجب أن يفهم كيف تتواصل مكونات النظام مع بعضها، مثل:

Server – Database – Client – API – Authentication – Authorization

فإذا كنت لا تعرف كيف يتواصل التطبيق مع قاعدة البيانات، أو كيف تعمل واجهات برمجة التطبيقات (APIs)، أو ما الفرق بين Authentication وAuthorization، فسيكون من الصعب أن تدير مشروعًا برمجيًا حقيقيًا حتى لو كان الذكاء الاصطناعي يكتب معظم الكود.
🤝 استخدم الذكاء الاصطناعي منذ البداية

ليس الحل أن تتجاهل الذكاء الاصطناعي حتى تتعلم البرمجة بالكامل.

على العكس، من الأفضل استخدامه منذ البداية، ولكن كمساعد وليس كبديل عن التفكير.

اجعله يشرح لك المفاهيم، ويقترح الحلول، ويكتب أجزاء من الكود، ويساعدك في اكتشاف الأخطاء.

لكن لا تكتفِ بنسخ النتيجة.

افهمها، اختبرها، ناقشها، وعدّلها.

وهنا تظهر أهمية مفهوم AI-Assisted Engineering، أي هندسة البرمجيات بمساعدة الذكاء الاصطناعي.

في هذا النموذج، لا يتنافس المبرمج مع الذكاء الاصطناعي في سرعة كتابة الكود، وإنما يستخدمه لتوفير الوقت والتركيز على ما هو أكثر أهمية: فهم المشكلة، وتصميم الحل، واتخاذ القرار، ومراجعة النتائج، وتحمل المسؤولية.
🔥 ثلاث قواعد للمبرمج في عصر الذكاء الاصطناعي

أولًا — لا تقبل كودًا لا تستطيع شرحه.

ثانيًا — لا تنشر حلًا لا تستطيع اختباره.

ثالثًا — لا تمنح الذكاء الاصطناعي قرارًا لا تفهم مخاطره.

هذه القواعد الثلاث تلخص العلاقة الصحيحة بين المبرمج والذكاء الاصطناعي.

فالهدف ليس أن تعمل بدلًا منه، ولا أن تنافسه في الأمور التي يتفوق فيها، وإنما أن تعرف كيف تستخدم قدراته دون أن تتخلى عن دورك الأساسي.
🎯 الخلاصة

إذا كان الذكاء الاصطناعي يستطيع كتابة الكود، فلماذا نتعلم البرمجة؟

لأن كتابة الكود ليست سوى جزء من عملية تطوير البرمجيات.

الذكاء الاصطناعي يستطيع مساعدتك في تنفيذ الحل، لكنه لا يعفيك من فهم المشكلة، ولا من تقييم الحل، ولا من اختبار النتائج، ولا من تحمل مسؤولية ما تقوم ببنائه.

ولهذا لن تكون قيمة المبرمج في المستقبل في سرعة كتابة الكود، وإنما في قدرته على فهم المشكلة، وتصميم الحل، وتقييم الخيارات، واكتشاف الأخطاء، وفهم النظام بالكامل واتخاذ القرارات الصحيحة.

الكود أصبح أسرع وأرخص، لكن الفهم والقرار والمسؤولية أصبحت أكثر قيمة.

ولهذا فإن تعلم البرمجة في عصر الذكاء الاصطناعي لا يعني أن تتعلم كتابة الكود فقط، بل أن تتعلم كيف تفكر كمهندس برمجيات (Software Engineer) يستطيع استخدام الذكاء الاصطناعي ليصبح أكثر سرعة وكفاءة، دون أن يفقد السيطرة على ما يبنيه.

فأفضل مبرمج في عصر الذكاء الاصطناعي ليس من يكتب أكبر قدر من الكود، بل من يعرف أي كود يجب أن يُكتب، وأي كود يجب أن يُحذف، وأي قرار يجب أن يُتخذ قبل كتابة السطر الأول.