أضرار البرمجة بمساعدة الذكاء الاصطناعي

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

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

الإجابيات

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

السلبيات

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

وجهة نظري

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

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

سرعة التحرير

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

تجربتي السيئة مع vscode

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

بعد استيعابي لبطئ عملية التطوير على هذا المحرر، فكرت بالانتقال إلى محرر آخر يدعم التحكم الكامل عبر لوحة المفاتيح، ظهرت أمامي محررات مثل Vim و Neovim و Emacs ولكن جميعهم كان بهم نوع من التعقيد وليس جميع المميزات التي أريدها متوفرة بهم، مثل تعدد المؤشرات.

ظهر لي Helix وهو محرر نصوص برمجية في الطرفية مكتوب بلغة البرمجة Rust ومستوحى من Kakoune، يدعم تعدد المؤشرات (إمكانية وضع مؤشر الكتابة في أكثر من مكان في نفس الوقت والكتابة والحذف) ويدعم ال LSP وهو بروتوكول للتواصل مع برمجية تقوم بتصحيح الكود وإضافة مميزات مثل الانتقال إلى مكان تعريف الدالة وإظهار التوثيق الخاص بها، يدعم أيضا البحث في جميع ملفات المشروع، ويدعم عرض جميع علامات المشروع (مثل الدوال والأصناف والثوابت) ويوجد به ميزة تحديد ما بين النصوص والدوال والاختبارات والأصناف، وجدت كل ما أحتاجه به وقمت بالانتقال إليه.

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

الختام

يجب عليك تحليل الوضع الذي أنت به، ومعرفة السلبيات والإيجابيات، ومعرفة المعوقات التي تعيقك عن أهدافك وأجاد حلولا لها.