من فضلك تسجيل الدخول أو تسجيل لتفعل ذلك.

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

بعضها، مثل مقالة جون باكوس عام 1977، هل يمكن تحرير البرمجة من أسلوب فون نيومان؟، ألهم نماذج جديدة أدت إلى إنشاء لغات وظيفية مثل هاسكل. والبعض الآخر يقدم تحذيرات، ففي تأملات في الثقة بالثقة (1984)، أوضح كين طومسون خطورة المترجمين ذوي الأبواب الخلفية، مما قد يكون قد منع عددًا كبيرًا من الثغرات الأمنية. وقد حث إدسجر ديكسترا، في المبرمج المتواضع (1972)، أقرانه على توخي الحذر من الذكاء والاعتراف بـ القيود الجوهرية للعقل البشري.

ولغرضنا هذا، دعونا نتأمل محاضرة كينيث إيفرسون الملهمة عام 1979، بعنوان الترميز كأداة للفكر. أثبت إيفرسون أن الرموز الرياضية ليست مجرد اختصارات مريحة (مثل ثاني أكسيد الكربون لـ CO2، و3,888 لـ MMMDCCCLXXXVIII)، بل إنها تجعل الرؤى الجديدة قابلة للاكتشاف بسهولة. وكما قال عالم الرياضيات ألفريد نورث وايتهيد ذات مرة: من خلال إراحة الدماغ من كل الأعمال غير الضرورية، فإن الترميز الجيد يحرره من التركيز على المسائل الأكثر تقدمًا.

APL ومشكلة اللغتين الأولى

فاز إيفرسون بجائزة تورينج عن لغة APL، وهي لغة برمجة ذات مظهر معقد بدأت حياتها كنظام تدوين لتقريب اللغات. في الأيام الأولى للحوسبة العلمية، كان على المبرمجين التفكير بلغة واحدة (الترميز الرياضي) ثم البرمجة بلغة أخرى (مثل فورتران). صُممت APL بحيث يمكن كتابة العمليات المعقدة بشكل مضغوط كمعادلات، حيث تنقسم أسطر التعليمات البرمجية إلى بضعة رموز مثل + أو ×. على الرغم من أن APL لم تحقق الانتشار الواسع، إلا أنها أظهرت بوضوح أنه يمكن دمج لغتين في لغة واحدة.

تحدي بايثون الحديث: مشكلة اللغتين من جديد

يصادف عام 2026 مرور 60 عامًا على تقديم APL، واليوم نواجه نوعًا جديدًا من مشكلة اللغتين يعصف بمجال الحوسبة العلمية. لغة البرمجة المهيمنة حاليًا هي بايثون، لكن هيمنتها لا تأتي من قوتها المفرطة بقدر ما تأتي من كونها ملكًا مترددًا. بعبارة أخرى، بايثون بطيئة للغاية، وهو عيب لا يمكن أن ينكره حتى أكثر المدافعين عنها حماسًا.

وهنا تكمن مشكلة اللغتين الحديثة: يقوم الباحثون بإنشاء نماذج أولية باستخدام بايثون لسهولتها وبساطتها، ولكن بالنسبة للأجزاء التي تتطلب أداءً حاسمًا، يعيدون كتابة الكود بلغات أسرع وأقل سهولة مثل C++ أو Rust. لا يمكن حل هذا القيد بمجرد إنشاء وكلاء تشفير للذكاء الاصطناعي، لأنه بغض النظر عن مدى تحسينك للغة بطيئة، فإن اللغة الأسرع ستظل تتفوق عليها.

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

ولادة جوليا: طموح للدمج

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

نحن مستخدمو ماتلاب متميزون. البعض منا قراصنة ليسب. البعض الآخر من أنصار بايثون، والبعض الآخر من أنصار روبي، والبعض الآخر من قراصنة بيرل… لقد أنشأنا مخططات بحث أكثر مما ينبغي لأي شخص عاقل. C هي لغة البرمجة الخاصة بالجزيرة الصحراوية.

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

جوليا: الأداء والمجتمع

التقيت بجوليا لأول مرة بالصدفة في عام 2017، قبل عام من استقرار تركيبها النحوي، عندما حضرت محاضرات ألقاها سيباستيان سيونج، عالم الأعصاب الذي كان يستخدمها لرسم خريطة للوصلات العصبية في الدماغ. كان انطباعي الأول هو اسمها المبهج والرائع، الذي يتحدى التسميات المعقدة الشائعة في هذا المجال: غير الأنيق (PL/I)، والقبيح (Erlang)، والقبيح من الناحية المطبعية (C++)، والمرضي حرفيًا (MUMPS الذي يشكل العمود الفقري لنظام الرعاية الصحية الأمريكي، إذا كان بإمكانك تصديق ذلك).

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

اعتبارًا من عام 2026، أصبحت جوليا تجتذب مجتمعًا رصينًا من المحترفين، وهو ما لا يمكن قوله عن العديد من مجتمعات اللغات الأخرى. فمحبو اللغات هم مجموعة عاطفية وصاخبة (وقد انكسرت العديد من الصداقات بسبب اختلاف الرأي حول بناء الجملة)، لكن مجتمع جوليا لم يهتز بعد بأي دراما كبيرة. يميل إلى الجانب الأكاديمي، ويجذب العلماء أكثر من المتسللين. ولكن على عكس اللغات الأخرى التي يستخدمها الأكاديميون أيضًا، فإن جوليا ليست خيالية جدًا (مثل هاسكل)، كما أنها لا تجتذب المشجعين المتعبدين (مثل هاسكل أيضًا) أو تنخرط في الألعاب الفكرية (مثل هاسكل على سبيل المثال). في مؤتمر جوليا كون السنوي، ستسمع قصصًا عن الانتصار، مثل إعادة كتابة كود MATLAB في جوليا واكتساب تسريع 60 ضعفًا. وفقًا لبعض المعايير، يمكن تشغيل كود جوليا بمعدل 10 إلى 1000 مرة أسرع من بايثون.

لماذا لم تحل جوليا محل بايثون؟

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

أولاً، كما تعتمد اللغة البشرية على مجموعة النصوص المكتوبة بها، فإن لغة البرمجة تكون جيدة بقدر نظامها البيئي وأدواتها. لغة بايثون قوية للغاية بحيث لا يمكن إزاحتها بسهولة. ثانيًا، لم يتم تبني جوليا من قبل شركات التكنولوجيا الكبرى. في الماضي، عندما تم انتشال لغة ثانوية من الغموض وبرزت إلى الصدارة، كان ذلك بفضل هذا النوع من رعاية الشركات: Objective-C من Apple لتطوير iOS، وKotlin من Google لتطوير Android.

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

هل يمكن حل مشكلة اللغتين حقًا؟

حتى لو حلت جوليا محل بايثون يومًا ما، فأنا لست مقتنعًا بأنها قادرة على حل مشكلة اللغتين بشكل كامل، أو أن أي لغة يمكنها ذلك. على الرغم من أن المشكلة يتم الرجوع إليها بشكل شائع في الحوسبة العلمية، إلا أنها موجودة في كل مجال برمجي. في الألعاب، تُكتب المحركات بلغة C++، لكن السكربتات تُكتب في Lua. في الواجهات الخلفية للخادم، توجد مجموعة كاملة من اللغات الأسهل – بايثون، وروبي، وجافاسكريبت – ولكن عندما تكون هناك حاجة إلى أداء حقيقي، يتم إنجاز العمل في Go أو Rust. وعلى العكس من ذلك، فقد فشلت تمامًا الجهود الشجاعة لاستخدام Go أو Rust لتطوير الواجهة الأمامية.

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

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

مراجعة iGarden Swim Jet X Pro 10: حمام سباحة لا نهاية له
تطبيقات تتبع السعرات الحرارية الأكثر ابتكارًا لعام 2026: ثورة الذكاء الاصطناعي في التغذية

Reactions

0
0
0
0
0
0
بالفعل كان رد فعل لهذا المنصب.

ردود الفعل