من منا لم يفكر يومًا بينما يعمل على أحد التطبيقات أو يستخدم أحد مواقع الإنترنت عن مقدار العمل الذي استغرق لإنجاز هذا التطبيق؟! من منا يشغل تفكيره ولو للحظة أن يغامر بدخول هذا العالم الواسع؟!

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

سنقوم هنا بالحديث عن إحدى هذه اللغات التي شكلت حجر الأساس في الكثير من التطبيقات التي نعتمد عليها في حياتنا اليومية، سنتحدث اليوم عن لغة سي بلس بلس C++. آملين أن نزيل بعض أعباء هذه الأفكار المشوشة من عقولنا. 1
.

تعريف لغة سي بلس بلس C++

هي لغة برمجة كائنية متعددة الأغراض، ومهيكلة. اخترعت من قبل بيارن سترستروب في مختبرات بيل. وهي لغة مماثلة للغة السي C التي قام باختراعها دينيس ريتشي في أوائل سبعينيات القرن الماضي، إلا أنها أكثر أمانًا من سابقتها وتتضمن العديد من التقنيات الحديثة كالبرمجة كائنية التوجه Object Oriented programming OOP2.

تاريخ سي بلس بلس C++

يعود تاريخ هذه اللغة إلى عام 1979، إذ قام بإنشائها برايان ستروستروب أثناء عمله في مختبرات بيل. في الواقع عمل عليها كنسخة مطورة من لغة سي c وسميت بداية (سي مع الصفوف C with classes)، وكانت 99 % من برامج سي تعمل عليها دون تغيير في الشيفرة المصدرية.

تم تغيير اسم اللغة عام 1983 إلى الاسم المعروف حاليًا وهو سي بلس بلس C++ (دلالة على معامل الزيادة في اللغة وهو ++). ومع الوقت تم إضافة العديد من الميزات حتى تطورت ووصلت إلى شهرتها الحالية.

مزايا لغة سي بلس بلس C++

نتيجة الاهتمام الذي حظيت به اللغة منذ نشأتها فقد تميزت عن سابقتها بالعديد من المزايا التي جعلت منها لغة مرموقة بين أشباهها. وسنذكر بعض مزاياها تلك:

  • لغة كائنية التوجه.
  • محمولة.
  • متعددة المهام.
  • شاملة.
  • قوية، إذ تستعمل في العديد من أنظمة التشغيل.
  • تعتبر من اللغات الرائدة في تطوير المشاريع الكبيرة والمعقدة.
  • ورثت مزايا لغة سي إلا أنها اضافت العديد من الأنماط البرمجية الهامة، كالتغليف Encapsulation، الوراثة Inheritance، تعددية الأشكال Polymorphism، التجريد abstraction والصفوف classes.
  • ووفرت العديد من الوظائف المرتبطة بالدوال والتحميل الزائد.
  • توفر مكتبة قياسية STL من الخوارزميات ووحدات الدخل والخرج.3
سي بلس بلس
واجهة كتابة برنامج بلغة سي بلس بلس

عيوب لغة سي بلس بلس C++

لا تخلو أي لغة من بعض نقاط الضعف أو العيوب البسيطة ربما، لذا يجب علينا التنويه لها:

  • تعتبر لغة سي بلس بلس غير آمنة.
  • معقدة بالنسبة للمتعلمين حديثًا.
  • صعبة التعامل والتصحيح عند استخدامها في تطبيقات الويب.
  • لا تدعم استعادة الموارد Garbage collection.
  • لا توفر الكثير من الدعم للمبرمج.
  • لا يوجد مكتبات افتراضية خاصة بها لتصميم الواجهات الرسومية.4

بعض التطبيقات التي استخدمت سي بلس بلس C++ في تصميمها

استخدمت هذه اللغة في العديد من البرامج والتطبيقات التي نستخدمها بشكل يومي الآن، فمنها ما اعتمد على اللغة بشكل كبير، ومنها ما دخلت عدة لغات مجتمعة في تطويره. لكن القوة التي تتمتع بها هذه اللغة جعلتها تحتل مكانًا في برمجة معظم البرامج الناجحة والقوية منها:

  • Firmware: برامج أنظمة الآلات والهواتف المحمولة.
  • أنظمة التشغيل مثل Windows و Apple Os X .
  • معظم برامج Adobe مثل الفوتوشوب photoshop وأليستريتور Illustrator والبريمير Premier.
  • تطبيقات غوغل Google Applications: تمت كتابة بعض تطبيقات غوغل بواسطة C++ مثل نظام الملفات وغوغل كروم Google Chrome.
  • متصفح الإنترنت Mozila Firefox.
  • برنامج النمذجة ثلاثية الأبعاد Autodesk Maya.
  • أمازون Amazon.
  • البريد الإلكتروني.5

هل هي مفتوحة المصدر

نتيجة انتشارها الكبير والتطويرات التي قام بها العديد من المبرمجين فقد توافرت منها العديد من البرمجيات المفتوحة المصدر، ويمكن لأي كان الاطلاع على الشيفرة المصدرية للعديد من التطبيقات بسهولة.

المراجع