العديد من اليوم المبرمجون – عذرا، برمجة المهندسينإن هؤلاء الأشخاص يعتبرون أنفسهم “مبدعين”. إنهم فنانون من نوع ما. فهم يميلون إلى زيارة المواقع الشخصية الفخمة التي تحتوي على بيض عيد الفصح المخفي بذكاء، كما أنهم يمنحون أنفسهم ألقاباً وظيفية متعددة الدلالات (“مهندس أمازون السابق، المستثمر، المؤلف”) ويضعون على أجهزة الكمبيوتر المحمولة الخاصة بهم ملصقات فينيلية تشير إلى هويتهم. ويعتبر بعضهم أنفسهم من المثقفين الأدبيين. ولنتأمل هنا الإشارات التي تضاف إلى أسماء بعض المنتجات: Apache Kafka، وScyllaDB، وClaude 3.5 Sonnet.

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

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

لو كنت وإذا أردنا تصنيف لغات البرمجة على أنها حركات فنية، فسنجد النزعة النفعية في منتصف القرن العشرين (فورتران وكوبول)، والنزعة الشكلية العالية النظرية (هاسكل وآجدا)، والنزعة الواقعية في الشركات الأميركية (سي شارب وجافا)، والنزعة المجتمعية الشعبية (بايثون وروبي)، والنزعة اللذة الباطنية (بي فونج وبراينفاك). وأود أن أقول إن لغة جو، التي كثيراً ما توصف بأنها “سي للقرن الحادي والعشرين”، تمثل الكلاسيكية الجديدة: فهي ليست ثورة بقدر ما هي عودة إلى الماضي.

في عام 2007، اجتمع ثلاثة مبرمجين في جوجل حول شعور مشترك بأن اللغات القياسية مثل C++ وJava أصبحت صعبة الاستخدام وغير ملائمة لبيئة الحوسبة الحالية الأكثر توجهاً نحو السحابة. وكان أحدهم كين تومسون، الذي كان يعمل سابقاً في مختبرات بيل وحصل على جائزة تورينج عن عمله على يونكس، حواء الميتوكوندريا لأنظمة التشغيل. (في هذه الأيام، لا يعبث أهل أنظمة التشغيل بلغات البرمجة – فالقيام بكلا الأمرين يشبه تأهل لاعب القفز العالي الأوليمبي أيضًا إلى الماراثون). وانضم إليه روب بايك، وهو خريج آخر من مختبرات بيل، والذي ابتكر مع تومسون معيار ترميز يونيكود UTF-8. يمكنك أن تشكرهم على الرمز التعبيري الخاص بك.

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

اكتسبت اللغة شعبية بسرعة. ولابد أن هيبة جوجل ساعدت في ذلك، ولكنني أفترض أن هناك جوعًا غير مُلبى إلى الجديد. وبحلول عام 2009، وهو العام الذي ظهرت فيه لغة Go لأول مرة، كانت أحدث اللغات السائدة في الغالب من عام 1995 ـ وهو العام الذي شهد ظهور كل من Ruby وPHP وJava وJavaScript.

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

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

شاركها.