كما نعلم لغة c لها مساوئها ومشكلاتها المعروفة لدى المصممين لتلك اللغة ، ولذلك حاولوا تقليل مشكلات لغة سي وذلك باستحداث لغة اخرى هي++C . وقد تبين لمصممي لغة ++C ان مواصفات هذه اللغة يجب ان تنطبق على لغة cايضا ، وبعبارة اخرى يجب ان تكون مترجمات++C موافقة لمترجمات C...
المميزات التي تتميز بها ++C :
(1) لغة سي لغة متعددة الاغراض ومتطورة بصورة جيدة وتعد كذلك من اللغات الوسيطة بين اللغات العليا واللغات الدنيا .
(2)لغة سي لغة ملائمة لمبرمجي هندسة نظم الحاسبات .
(3) تعدد مترجمات لغة C ولاصناف عديدة من الحاسبات .
(4) كونها لغة نظام التشغيل UNIX .
وتتميز لغة++C بقابليتها على معالجة التطبيقات الكبيرة والمعقدة. ومن الوسائل الجديدة في لغة ++C مفهوم ومبدأ الصفوف Classes التي تساعد في تقليل عدد جمل برنامج ++C مقارنة مع جمل c فضلا عن اغناء اللغة بطابع القوة والجمال .
توفر لغة ++C وسائل واساليب قريبة من مفهوم الانسان في معالجة المشكلات والاسلوب المتبع في تصميم أي برنامج من برامج ++C هي :
اولا : دراسة المشكلة دراسة مستفيضة لتحديد المفاهيم الرئيسية في خطوات الحل ومن ثم تحويل خطوات الحل الى صيغ تتقبلها لغة البرمجة .
ثانيا : تحديد المفاهيم الرئيسية المتعلقة في حل المسالة ثم محاولة التعبير عن هذه المفاهيم باسلوب يضمن القوة والمتانة .
ثالثا: تحويل المفاهيم الاساسية وغير الاساسية الى لغة سي ++ وبعبارة اخرى الى تحويل خطوات الحل الى مفردات لغة سي ++ .
لماذا اخترت شخصيا دراسة لغة ++C ؟؟؟؟
اولا : سي ++ لغة صغيرة
اذ تستخدم سي عددا من الكلمات المحجوزة Keywords اقل من تلك التي تستعملها لغة مشهورة مثل Ada او باسكال ، وهذا امر مرغوب في عمليات البرمجة ، لان البرامج التي تكتب بها سهلة ومختصرة .
++C غنية بالدوال Functions وبالتالي توفر لغة++C للمبرمج ، عددا كبيرا من دوال الادخال والاخراج ، والدوال الرياضية والحسابية ، والدوال المعالجة الرمزية للنصوص ، الامر الذي يسهل عملية بناء البرامج بها ، هذه الدوال تكون جاهزة للاستخدام دون اعادة كفايتها مرة ثانية ، مما يوفر للبرنامج الوقت والجهد الكافيين .
++C بها برمجة الكيان والتي تؤدي دورا مهما هي الاستعمال المتعدد الاعراض للادوات مثل + ، - ، * والدوال حيث يتم استخدام نفس الاداة او نفس اسم الدالة لاغراض متعددة فيمكن مثلا تعريف الاداة " + " لتمثل جمع عددين صحيحين او حقيقين او حرفين ، او جمع اسمين ( نصين) وبعبارة اخرى للدالة او الاداة معان متعددة حسب غرض الاستخدام . فمثلا يمكن استخدام الدالة وتمييزها من خلال نوع المتغيرات التي تمثلها او نوع النتائج وهذه يتم تمييزها او الغرض من الاستخدام خلال عملية الترجمة .