C++: لغة تجاوزت العصور. لماذا لا تزال في الصدارة؟

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

مقدمة: أسطورة لا تحتاج إلى إعلان

\n\n

عندما يدور الحديث عن لغات البرمجة، يتذكر العديد من المبتدئين على الفور Python أو JavaScript أو Java. ولكن هناك "جد" لا يكتفي بعدم التقاعد فحسب، بل يثبت كل عام أنه من السابق لأوانه استبعاده. إنها لغة C++.

\n\n

وفقًا لمؤشر TIOBE (عام 2024)، تحتل C++ بثبات المرتبة الرابعة بين أكثر اللغات شيوعًا في العالم. تُستخدم في تطوير أنظمة التشغيل، الألعاب، المتصفحات، الأنظمة المالية، وحتى المركبات الجوالة على المريخ. لماذا تظل لغة عمرها将近 40 عامًا مطلوبة إلى هذا الحد؟ وهل يستحق تعلمها إذا كنت تعرف Python بالفعل؟ دعنا نكتشف ذلك.

\n\n

في هذه المقالة، لن نكتفي بسرد الحقائق الجافة. سنلقي نظرة على التاريخ، ونحلل الميزات الرئيسية لـ C++ بأمثلة حية، ونفهم أي المهام تُحل بها بشكل أفضل.

\n\n

الفصل 1. ولادة الأسطورة: تاريخ موجز لـ C++

\n\n

1.1. "C مع الفئات"

\n\n

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

\n\n

قرر ستروستروب إضافة ما كان ينقص C: الفئات (من لغة Simula) و تحميل العوامل (من Algol-68). هكذا، في عام 1979، ظهرت "C with Classes" ("C مع الفئات"). كانت النسخة الأولى تجريبية، لكن بعد عام واحد فقط أصبح واضحًا: هذه ليست مجرد إضافة، بل أداة قوية جديدة.

\n\n

1.2. ولادة اسم C++

\n\n

في عام 1983، تمت إعادة تسمية اللغة رسميًا إلى C++. الاسم هو تلاعب بعامل الزيادة: ++ يعني "زد بمقدار واحد". أي أن C++ هي "C، محسّنة بمقدار واحد". ذكي ودقيق.

\n\n

صدرت النسخة التجارية الأولى في عام 1985 مع كتاب ستروستروب "The C++ Programming Language". ومنذ تلك اللحظة، بدأ المسيرة المنتصرة للغة.

\n\n

1.3. تطور المعايير

\n\n

المعالم الرئيسية للتطور:

\n
    \n
  • C++98 — أول معيار دولي. وضع أسس STL (مكتبة القوالب القياسية) والقوالب.
  • \n
  • C++11 — ثورة: auto، المؤشرات الذكية، لامدا، مراجع rvalue. أصبحت اللغة حديثة.
  • \n
  • C++14/17/20 — تحسين الأداء، الوحدات، coroutines، المفاهيم.
  • \n
  • C++23 — المزيد من التبسيط والتحسينات.
  • \n
\n\n

كل معيار جديد لا "يكسر" الكود القديم، بل يوسع الإمكانيات فقط. هذا أحد الأسباب الرئيسية لشعبية C++: الكود المكتوب قبل 20 عامًا لا يزال من الممكن تجميعه وتشغيله.

\n\n

الفصل 2. لماذا لا تزال C++ في الصدارة: 5 أسباب رئيسية

\n\n

2.1. السرعة والتحكم في الذاكرة

\n\n

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

\n\n

مثال: قارن Python و C++ في مهمة بسيطة - حساب مجموع الأرقام من 1 إلى 10 ملايين.

\n\n
// C++: كود سريع\n#include <iostream>\n#include <chrono>\n\nint main() {\n    auto start = std::chrono::high_resolution_clock::now();\n    long long sum = 0;\n    for (int i = 1; i <= 10'000'000; ++i) {\n        sum += i;\n    }\n    auto end = std::chrono::high_resolution_clock::now();\n    std::cout << "المجموع: " << sum << std::endl;\n    std::cout << "الوقت: " \n              << std::chrono::duration_cast<std::chrono::microseconds>(end - start).count()\n              << " ميكروثانية" << std::endl;\n    return 0;\n}\n
\n\n

في C++، سيتم تنفيذ هذا الكود في ~20-30 مللي ثانية. في Python، ستستغرق الحلقة المماثلة ~1-2 ثانية. الفرق من 50 إلى 100 مرة! في الألعاب، المالية، أو الروبوتات

المدونات

توصيات الكتب