أهم منهجية لغات البرمجة 2024

في هدفنا المتمثل في محاولة تقدير شعبية لغة البرمجة، أدركنا أنه لا يمكن لأحد أن ينظر فوق كتف كل شخص يكتب التعليمات البرمجية، سواء كان ذلك طفلاً يكتب نص Java لخادم Minecraft شخصي، أو مطور تطبيقات الهاتف المحمول الذي يأمل في تحقيق النجاح. إنها كبيرة، أو مهندس طيران يكتب تعليمات برمجية مهمة لرحلة إلى المريخ. يحاول برنامجنا التفاعلي لأفضل لغات البرمجة معالجة مشكلة تقدير شعبية اللغة من خلال البحث عن إشارات الوكيل.
نقوم بذلك من خلال بناء مقاييس الشعبية من مجموعة متنوعة من مصادر البيانات التي نعتقد أنها وكلاء جيدون للاهتمام النشط بكل لغة برمجة. في المجموع نحدد 63 لغة برمجة. ثم نقوم بعد ذلك بوزن كل مصدر بيانات لإنشاء مؤشر شامل للشعبية، باستثناء بعض من أقل الدرجات. نوضح أدناه مصادر البيانات التي نستخدمها للحصول على القياسات، ونظام الترجيح الذي نستخدمه لإنتاج المؤشرات الإجمالية.
ونعني بالشعبية أننا نحاول تصنيف اللغات قيد الاستخدام النشط. نحن ننظر إلى ثلاثة جوانب مختلفة للشعبية: اللغات المستخدمة بشكل نشط بين أعضاء IEEE النموذجيين ومهندسي البرمجيات العاملين (تصنيف “الطيف”)، واللغات التي يطلبها أصحاب العمل (تصنيف “الوظائف”)، واللغات الموجودة في التصنيف “الوظائف”. روح العصر (تصنيف “الاتجاه”).
لقد قمنا بقياس شعبية اللغات باستخدام المصادر التالية لما مجموعه ثمانية مقاييس (انظر أدناه). قمنا بجمع المعلومات لجميع المقاييس في الفترة من يوليو إلى أغسطس 2024. وتم جمع البيانات يدويًا لتجنب انحياز النتائج بسبب تغييرات واجهة برمجة التطبيقات أو عمليات الإنهاء ولأن العديد من أسماء لغات البرمجة (C++، Scheme) اصطدمت بالمصطلحات الشائعة الموجودة في الأوراق البحثية. وإعلانات الوظائف أو كان من الصعب على محرك البحث تحليلها. عندما أدى وجود عدد كبير من نتائج البحث إلى جعل حل أوجه الغموض من خلال فحص جميع النتائج بشكل فردي أمرًا غير عملي، استخدمنا عينة من كل مصدر بيانات، وحددنا حجم العينة ذي الصلة بناءً على تقدير المتوسط الحقيقي بثقة تبلغ 95 بالمائة. لا تحتوي جميع مصادر البيانات على معلومات لكل لغة برمجة، ونحن نفسر هذه المعلومات على أنها لغة البرمجة “ليس لها أي نتائج” (أي ليست شائعة).
تتم تسوية النتائج من كل مقياس لإنتاج درجة شعبية نسبية تتراوح بين 0 و1. ثم يتم ضرب المقاييس الفردية بعامل الوزن، ويتم دمجها، وإعادة تسوية النتيجة لإنتاج مجموع نقاط الشعبية.
في تجميع المقاييس، نأمل في التعويض عن المراوغات الإحصائية التي قد تشوه درجة شعبية اللغة في أي مصدر معين للبيانات. يسمح لنا تنوع عوامل الوزن بإنشاء نتائج مختلفة لتصنيفات الطيف والوظائف والتصنيفات الشائعة. نحن ندرك تمامًا أنه على الرغم من أن هذه الأوزان ذاتية، إلا أنها تستند إلى فهمنا للمصادر وتغطيتنا السابقة لموضوعات البرامج. يتيح لنا تنوع عوامل الوزن التأكيد على أنواع مختلفة من الشعبية وإنتاج تصنيفات مختلفة. قمنا بعد ذلك بدمج كل مصدر بيانات مرجح لكل برنامج ثم قمنا بإعادة ضبط التكرار الناتج لإنتاج مجموع نقاط الشعبية.
تم إنشاء أفضل لغات البرمجة في الأصل بواسطة صحفي البيانات نيك دياكوبولوس. مستشارة المنهجية الإحصائية لدينا هي هيلاري ويثينج. تم تقديم المساعدة البحثية من قبل إليزابيث وود. يتم حساب التصنيف باستخدام R.
يعد Google محرك البحث الرائد في العالم، مما يجعله مناسبًا تمامًا لتقدير شعبية اللغة. قمنا بقياس عدد النتائج لكل لغة من خلال البحث في قالب “لغة البرمجة X” (مع علامتي الاقتباس) وسجلنا يدويًا عدد النتائج التي أرجعها البحث. لقد أجرينا القياس في يوليو 2024. ونحن نحب هذا المقياس لأنه يشير إلى حجم موارد المعلومات عبر الإنترنت حول كل لغة برمجة.
تجاوز سعة المكدس
يعد Stack Overflow موقعًا شائعًا حيث يمكن للمبرمجين طرح أسئلة حول البرمجة. لقد سجلنا عدد الأسئلة الموسومة بكل برنامج خلال الأسبوع الأخير السابق لبحثنا (أغسطس 2024). بالنسبة للغة Mathematica/Wolfram، اعتمدنا على اللغة الشقيقة “Stack” لمنصة Mathematica وقمنا بإحصاء عدد الأسئلة المتعلقة بالبرمجة التي تم طرحها في الأسبوع الماضي. وقد تم جمع هذه البيانات يدويا. يشير هذا المقياس إلى لغات البرمجة الرائجة حاليًا.
مكتبة IEEE Xplore الرقمية
تحتفظ IEEE بمكتبة رقمية تحتوي على ملايين من مقالات المؤتمرات والمجلات التي تغطي مجموعة واسعة من التخصصات العلمية والهندسية. بحثنا عن المقالات التي تذكر كل لغة من اللغات في قالب “برمجة X” لعامي 2023 و 2024، لأن هذا هو أصغر إطار زمني يمكننا الوصول إلى المقالات فيه. بالنسبة لنتائج البحث التي أعادت آلاف المقالات، حددنا حجم العينة الصحيح لفاصل ثقة بنسبة 95 بالمائة (عادة ما يزيد قليلاً عن 300) وسحبنا هذا العدد من المقالات. بالنسبة لكل لغة قمنا بأخذ عينات منها، حددنا حصة المقالات التي تستخدم لغة البرمجة ثم قمنا بضرب إجمالي عدد المقالات في هذه المشاركة لحساب العدد الإجمالي المحتمل للمقالات التي تشير إلى لغة برمجة معينة. لقد أجرينا هذا البحث في يوليو 2024. يجسد هذا المقياس مدى انتشار لغات البرمجة المختلفة كما هي مستخدمة ومشار إليها في المنح الدراسية الهندسية.
موقع وظائف IEEE
قمنا بقياس الطلب على لغات البرمجة المختلفة في إعلانات الوظائف على موقع وظائف IEEE. بالنسبة لنتائج البحث التي أعادت آلاف القوائم، حددنا حجم العينة الصحيح لفاصل ثقة بنسبة 95 بالمائة (عادةً حوالي 300 نتيجة) وسحبنا هذا العدد من قوائم الوظائف لفحصها يدويًا. بالنسبة لكل لغة قمنا بأخذ عينات منها، حددنا حصة القوائم التي تستخدم لغة البرمجة ثم قمنا بضرب إجمالي عدد قوائم الوظائف بهذه الحصة لحساب العدد الإجمالي المحتمل لقوائم الوظائف التي تشير إلى لغة برمجة معينة. بالإضافة إلى ذلك، نظرًا لأن بعض اللغات التي نتتبعها قد تكون غامضة في النص العادي – مثل lD وGo وJ وAda وR – فقد بحثنا عن إعلانات الوظائف التي تحتوي على تلك الكلمات في الوصف الوظيفي ثم قمنا بفحص النتائج يدويًا، وأخذ العينات مرة أخرى الإدخالات إذا كان عدد النتائج كبيرا. تم إجراء البحث في يوليو 2024. نحن نحب موقع IEEE Job Site بسبب العدد الكبير من القوائم غير الأمريكية، مما يجعله مثاليًا لقياس الشعبية العالمية.
CareerBuilder
قمنا بقياس الطلب على لغات البرمجة المختلفة على موقع التوظيف CareerBuilder. لقد بحثنا عن وظائف “المطور” المتوفرة داخل الولايات المتحدة، حيث أن هذا هو المسمى الوظيفي الأكثر شيوعًا للمبرمجين. قمنا بأخذ عينات من 400 إعلان وظائف وقمنا بفحصها يدويًا لتحديد اللغات التي ذكرها أصحاب العمل في الإعلانات. تم إجراء البحث في يوليو 2024. نحن نحب موقع بناء الوظائف للتعرف على شعبية وظائف المبرمجين في الولايات المتحدة.
جيثب
يعد GitHub مستودعًا عامًا للعديد من مشاريع البرامج مفتوحة المصدر التي يقودها المتطوعون. استخدمنا البيانات التي تم جمعها بواسطة GitHut 2.0، والتي تقيس أفضل 50 لغة مستخدمة من خلال عدد المستودعات الموسومة بتلك اللغة وتستمد من واجهة برمجة التطبيقات العامة لـ GitHub. نحن نستخدم مقياسين من GitHub: المستودعات التي تم “تمييزها بنجمة” من قبل المستخدمين لتعكس الاهتمامات طويلة المدى، وعدد طلبات السحب للإشارة إلى النشاط الحالي. تغطي البيانات الربع الثاني من عام 2024. وتشير هذه المقاييس إلى اللغات التي يختارها المبرمجون للعمل بها عندما يكون لديهم خيار شخصي.
مكتبة كلية ترينيتي في دبلن
تعد مكتبة Trinity College Dublin واحدة من ست مكتبات إيداع قانونية في أيرلندا والمملكة المتحدة. يجب إيداع نسخة في المكتبة من أي كتاب منشور أو موزع في أيرلندا، وعند الطلب، يجب على أي ناشر أو موزع في المملكة المتحدة أيضًا إيداع كتاب. لقد بحثنا عن جميع الكتب المنشورة خلال العام حتى الآن والتي تم تصنيف موضوعاتها على أنها برمجة كمبيوتر وبلغ إجمالي عدد العائدات. تم إجراء البحث في يونيو 2024. نحن نحب مجموعة المكتبة هذه لأنها تمثل عينة كبيرة ومصنفة من الأعمال، باللغة الإنجليزية بشكل أساسي.
الفتنة
Discord عبارة عن منصة غرف دردشة شهيرة حيث يتبادل العديد من المبرمجين المعلومات. لقد قمنا بإحصاء عدد العلامات التي تتوافق مع كل لغة. في حالة اللغات التي يمكن أن تكون أيضًا أسماء لموضوعات غير برمجية (العديد من المواضيع غير المتعلقة بالبرمجة تحتوي أيضًا على خوادم Discord مخصصة؛ على سبيل المثال، يمكن أن تشير “جوليا” إلى لغة البرمجة أو دمية شارع سمسم)، تم فحص النتائج يدويًا. تم البحث في Disboard في أغسطس 2024. يسرد Disboard العديد من خوادم Discord العامة ويستخدم العديد من المبرمجين الشباب الموقع، مما يساهم في مجموعة ديموغرافية مختلفة من المبرمجين.