مستقبل البرمجة والمبرمجين - محمد زهران - بوابة الشروق
السبت 7 ديسمبر 2024 4:37 م القاهرة القاهرة 24°

احدث مقالات الكاتب

شارك برأيك

هل تؤيد دعوات مقاطعة بعض المطاعم التي ثبت دعمها لجنود الاحتلال؟

مستقبل البرمجة والمبرمجين

نشر فى : الجمعة 8 مارس 2024 - 6:15 م | آخر تحديث : الجمعة 8 مارس 2024 - 6:15 م
هناك حدثان مهمان حدثا فى الشهور الماضية قد لا ينتبه لهما الكثيرون، لكن لهما دلالة كبيرة على موضوع مقالنا اليوم. صدر تقرير من البيت الأبيض فى فبراير 2024، يطالب المبرمجين فى أمريكا باستخدام لغات برمجة معينة بدلًا من لغات أخرى مستخدمة. قد ينظر البعض بدهشة لهذا التقرير، بل والبعض الآخر نظر له بسخرية، والسبب أن الكثيرين يرون أن هناك أشياء أهم يجب أن يهتم بها البيت الأبيض بدلًا من ذلك، وقد تسمع تعليقًا من قبيل «وهو البيت الأبيض فاضى يتكلم فى الحاجات دي؟».. هذا هو الحدث الأول.

فى أغسطس من العام الماضى نشر مجموعة من الباحثين من عدة جامعات صينية وأمريكية، (وهذا أمر لو تعلمون عظيم)، بحثًا حول استخدام برمجيات الذكاء الاصطناعى الحوارية متمثلة فى (chatGPT) لكتابة برمجيات معقدة. هذه تجربة قام بها العديد من الباحثين من قبل، لكن الجديد هنا أن الباحثين استخدموا عدة برمجيات من (chatGPT) يعملون معًا كفريق، مثلًا (chatGPT)، منهم يكتب تصميم البرنامج المطلوب، عدد من برمجيات (chatGPT) تقوم بكتابة البرنامج من الصفر، بل حتى تختار لغة البرمجة، وآخر يقوم باختباره، وآخر يقوم بكتابة كتيب الاستخدام إلخ. أى أننا هنا أمام فريق من (chatGPT) يتعاون فيما بينه دون أى تدخل بشرى، وقد أنجز الفريق المهمة فى سبع دقائق فقط لا غير. هذا هو الحدث الثانى.
فى المحاضرات الأولى من العام الدراسى أتناقش مع الطلبة فى مستقبلهم، هناك الكثير منهم يريدون العمل فى مجال البرمجة، ودائمًا ما أصحح لهم التسمية بأن الواحد منهم يجب أن يصبح متخصصًا فى علوم الحاسب وليس فقط مجرد مبرمج، وعندما يسألون عن الفارق تكون الإجابة: تخيل أنك استيقظت فى يوم ووجدت أن كل لغات البرمجة التى تعرفها أنت اختفت أو لم يعد أحد يطلبها، فما الذى بقى لك؟ إذا كانت الإجابة بلا شىء فأنت مجرد مبرمج، وسيتم استبدالك قريبًا بتلك البرمجيات التى تكلمنا عنها فى الحدث الثانى أعلاه.
مقالنا اليوم عن صناعة البرمجيات وصناعة المبرمج نفسه، وبالتالى سنتكلم عن مستقبل علوم الحاسب. كاتب هذه السطور متخصص فى تصميم الحاسبات وجزء من هذا التخصص هو كيفية كتابة البرمجيات، بحيث تعمل بكفاءة تامة مع جهاز الكمبيوتر سواء كان هذا الجهاز هو اللاب توب الذى تعمل عليه أو جهاز الكمبيوتر فى ساعتك الذكية أو تليفونك الذكى أو الحاسبات فائقة السرعة التى تدير مواقع مثل فيسبوك وجوجل إلخ.
...
لنبدأ بسؤال قد يبدو سهلًا: ما لغات البرمجة؟ لغة البرمجة هى وسيلة الإنسان لإعطاء أوامر لجهاز الكمبيوتر. قد يقول قائل لكنى أستطيع إعطاء أوامر للكمبيوتر دون أى حاجة إلى كتابة البرمجيات مثلًا حين تستخدم تطبيق على تليفونك الذكى، الحقيقة أنك لا تعطى أوامر للكمبيوتر، لكنك تستخدم برنامجًا كتبه شخص آخر، وهذا البرنامج هو ما يعطى الأوامر للكمبيوتر. لا يمكن كتابة البرمجيات باستخدام اللغة البشرية العادية، لأننا فى كلامنا نستخدم تشبيهات وكلمات لها دلالات مختلفة حسب الموقف والكمبيوتر يحتاج إلى أوامر دقيقة لا تحتمل التأويل، لذلك تم اختراع ما نسميه بلغات البرمجة. هناك عدة آلاف من لغات البرمجة وقد تم تصميم أول لغة (وهى لغة Fortran) سنة 1957. كل لغة من لغات البرمجة تختلف فى سهولتها، وفى مدى التحكم الذى تعطيه للمبرمج ومدى فاعلية البرامج التى تُكتب بها من حيث السرعة (لا أحد يحب التطبيقات البطيئة) واستخدام الطاقة (لن تكون مسرورًا بتطبيق على هاتفك يجعل البطارية تنفذ فى وقت قليل) وصعوبة الاختراق، ومن هنا نفهم تقرير البيت الأبيض.
أمريكا تخاف جدًا من أى هجوم سيبرانى عليها خاصة من روسيا والصين، وحيث إن كل شىء تقريبًا يُدار عن طريق البرمجيات فإن الهجوم السيبرانى على بلد ما قد يؤدى مثلًا إلى انقطاع التيار الكهربى والمواصلات وكل الخدمات بل إلى تدمير بعض المنشآت، لذلك إدارة الأمن القومى الأمريكى (NSA) أصدرت قائمة باللغات التى ليست بالكفاءة المطلوبة من حيث التأمين، أى أن خطأ من المبرمج قد يجعل البرنامج سهل الاختراق، فى حين أن هناك لغات برمجة أخرى تتدارك هذا الخطأ، لكن على حساب السرعة، فالأمر ليس سهلًا.
هذا كله جميل لكن هذا هو الوضع منذ عشرات السنين.. فما الجديد الآن؟
...
نستطيع أن نقول إن مستقبل صناعة البرمجيات يتغير بسبب شيئين:
• تطور برمجيات الذكاء الاصطناعى خاصة الحوارية منها التى تستطيع كتابة تقارير وروايات وبرمجيات.
• تعدد أشكال أجهزة الكمبيوتر من جهاز صغير فى الساعة وآخر فى التليفون وثالث فى جهاز التابلت ورابع فى اللاب توب.. إلخ وكتابة البرمجيات لكل واحد منهم تختلف عن الآخر.
هذا التغير يستلزم ممن يريد أن يمتهن صناعة البرمجيات أن يعى ما يأتى:
• لا تجعل من نفسك مجرد مبرمج مسجون فى لغات البرمجة التى تعرفها، بل يجب أن تعرف نقاط قوة وضعف كل لغة وكيف تتعامل مع جهاز الكمبيوتر.
• يجب أن تعرف مقياس النجاح للبرنامج الذى تصممه، هل هو السرعة، أم استخدام الطاقة، أم صعوبة الاختراق إلخ، من المستحيل تصميم برنامج يمتاز بكل تلك الكماليات لذلك من المهم ترتيب الأولويات.
• المبرمج فى القرن الواحد والعشرين يجب أن يكون ملما بتصميم مختلف أجهزة الكمبيوتر، هذا التفريق بين البرمجيات (software) والجهاز (hardware) لم يعد جائزًا الآن. هناك مقال مهم نُشر سنة 2020 فى مجلة (Nature) ذائعة الصيت توضح أن الحصول على برمجيات تعمل بكفاءة فى القرن الحادى والعشرين يستلزم التعاون التام بين مصممى البرمجيات والمبرمجين ومصممى أجهزة الكمبيوتر، حيث يجب على كل منهم الإلمام إلى حد ما بتخصص الآخر حتى يمكنهم التعاون.
• كيف ستتعامل كمبرمج مع برمجيات الذكاء الاصطناعى؟ الإبداع من عندك و«الصنعة» من عندهم، وبذلك سنحصل على الذكاء الخارق، وهذا عنوان كتاب (SuperIntelligence) المنشور منذ عقد، ويعتبر سابقًا لعصره فى الدعوة للتعاون، وليس المنافسة بين الإنسان والكمبيوتر.
...
يجب ألا ننساق وراء «الموضة» ونجعل جميع متخصصى الحاسبات يعملون فى مجال الذكاء الاصطناعى، هناك مجالات لا تقل أهمية مثل الأمن السيبرانى والحاسبات فائقة السرعة.. إلخ، وهذه المجالات تتكامل ولا تتنافر.. لا نريد مجرد مبرمجين لعمل تطبيق أو اثنين على التليفون وكفى، نريد متخصصين فى علوم الحاسب فى القرن الواحد والعشرين.
محمد زهران عضو هيئة التدريس بجامعة نيويورك فى تخصص هندسة وعلوم الحاسبات، حاصل على الدكتوراه فى نفس التخصص من جامعة ميريلاند الأمريكية، له العديد من الأبحاث العلمية المنشورة فى الدوريات والمؤتمرات الدولية، بالإضافة إلى الأبحاث والتدريس.. له اهتمامات عديدة بتاريخ وفلسفة العلوم ويرى أنها من دعائم البحث العلمى، يستمتع جداً بوجوده وسط طلابه فى قاعات المحاضرات ومعامل الأبحاث والمؤتمرات، أمله أن يرى الثقافة والمعرفة من أساسيات الحياة فى مصر.
التعليقات