ما هي لغة C++
هي لغة برمجة كائنية، متعددة أنماط البرمجة، مصرفة، سكونية الأنماط. وتضم العديد من ميزات لغات البرمجة عالية المستوى ومنخفضة المستوى. بدأ تطوير هذه اللغة ً امتدادا للغة سي تحت اسم سي مع الأصناف من قبل بيارن ستروستروب في مختبرات بل عام 1979 وتم إضافة العديد من الميزات الأخرى لاحقا وتغير الاسم عام 1983 ليصبح سي بلس من باب الدعابة عبر استخدام معامل الزيادة لجانب اسم لغة سي تأكيدا على أنها الثانية بعد لغة سي.
لغة سي بلس مولده من لغة سي وكانت تستخدم بكثرة في العديد من البرامج والتطبيقات وتصميم اللوحات الإلكترونية مثل الأردوينو ولوحة المعالجة مثل عائلة ايه في ار
سي بلاس بلاس C++ يقال عن هذه اللغة أنها أُم اللغات لأنها لغة قوية و قديمة منذ زمن بعيد جداً. و من يتعلم هذه اللغة و يتقنها جيداً بإمكانه التوجه لأي لغه و لن تواجهه صعوبات.
و هي تعمل على جميع الأنظمة وعلى جميع الحواسيب الضعيفة و القوية و حتى على بعض البرامج في الجوال ...الخ.
وتعتبر لغة سي بلاس بلاس C++ من لغات البرمجة القديمة التي للوقت الحالي لا زالت من اللغات ذات الأفضلية بمستوى كبير.
لغة C++ هي لغة ذات أهمية كبيرة نظراً لإستخداماتها العديدة, فهي أحد أهم لغات البرمجة المطلوبة في سوق العمل.
لهذا قررنا اليوم أن نبدأ بدورة في لغة سي بلاس بلاس المهمة في مجال البرمجة.
لغة C++ هي المُهيمنة على تطبيقات سطح المكتب بجانب اللغات المتوفرة من شركة مايكروسوفت.
تتميز لغة C++ بأنها لغة عالية المستوى high-level وتُستخدَم على نحو كبير لتطوير أنظمة التّشغيل.
و تعلمها سوف يساعدك على فهم مبادئ وعمل البرامج بشكل أفضل وأكثر تعمقاً و ستعينك على فهم كيفية إدارة الذاكرة من قبل البرامج.
لغة C++ قد أثرت على العديد من لغات البرمجة المشهورة مثل Java ولغة PHP اللغة تعتمد على مبدأ البرمجة الكائنية أو Object Oriented Programming ما يجعلها مرنة وسهلة الإستخدام.
هذه اللغة مصممة لتعمل على جميع أنظمة التشغيل مثل ويندوز و ماك و لينكس واندرويد إلخ..
و هي تعتبر من أقوى و أشهر لغات البرمجة و يطلق عليها "أم اللغات" نظراً لأنها لغة قوية و موجودة منذ زمن طويل.
تم بناء هذه اللغة في الأساس كتطوير للغة C من قبل Bjarne Stroustrup أثناء عمله في مختبرات بيل Bell ليطرحها في رسالة الدكتوراه في عام 1979.
مميزات لغة سي بلس بلس ++C
يتمتع برنامج سي بلس بالعديد من المزايا عندما يتعلق الأمر ببرمجة الكمبيوتر ، يجب أن تستخدم جميع ملفات سي بلس المستقلة الوظيفة الرئيسية للسماح للبرنامج ببدء التشغيل وتحفيز وظائفه.يمكن لبرنامج سي بلس دعم النقابات والهياكل التي هي مزيج من الملفات المستقلة والمجمعة ، ويستخدم متوسط تطبيق سي بلس المعروف باسم س بي بي، ويستخدم سي بلس كلمة المكتبة المحجوزة والمعروفة باسم والتي هي نفسها متابعة جافا أو كسر الأوامر.
يتم استخدام البيانات العالمية والوظائف العالمية في سي بلس التي لا يتم استخدامها في العديد من اللغات عالية المستوى الأخرى في علوم الكمبيوتر وهي ميزة رائعة في أنواع لغات البرمجة.
نظرا لأن سي بلس لا تستخدم الكائنات ، فمن الصعب جعل البرامج التي تحتوي على بيانات وراثة وبرامج تساهم في البيانات والبرامج الأخرى ، ومن الممكن القيام بذلك ، ولكن من الصعب ، هذه البيانات والبرامج الموروثة ُتعرف باسم أشجار الوراثة.
لا تدعم لغة سي بلس طرق الصنف التي تتوافق مع المعنى ، لكن طرق الفصل هي وظائف أساسية ، وفي بعض الأحيان ُتعرف بالوظائف ، لذلك سي بلس ،بالإضافة إلى أساليب أو وظائف دعم جافا .يستخدم برنامج سي بلس برمجة متعددة النماذج ، ويعني أسلوب البرمجة ، والنموذج المعني بمنطق البرنامج وبنيته وإجراءاته ، وبرنامج سي بلس متعدد النماذج يعني أنه يتبع ثلاثة نماذج عامة ، وحتمية ، وموجهة للكائنات.
برنامج سي بلس مفيد للغة البرمجة منخفضة المستوى وفعال للغاية للأغراض العامة ، فهو يوفر الأداء والذاكرة بكفاءة ، ويقدم ً تجريدا عالي المستوى ، بلغة مجال المشكلة ، وبرنامج سي بلس متوافق مع سي ، ويستخدم قابلية إعادة الاستخدام رمز ويستخدم الوراثة ، تعدد الأشكال.
برنامج سي بلس هو لغة برمجة نظام ، ولديه مجتمع كبير ، وله معيار واضح وناضج ً نسبيا ، وتستند لغة سي بلس على لغة سي وتم تطويرها في أوائل الثمانينيات.
- شعبيتها كبيرة و الكثير يريد تعلمها اولاً و تدرس بالجامعات بالمراحل الأولى من الدخول للبرمجة.
- خفيفة و لا تستهلك من موارد النظام بالمقارنة مع باقي اللغات.
- نستطيع تحويل الأكواد من لغة السي C إلى سي بلس بلس ++C بسهولة.
- القدرة على التحكم باستخدام الذاكرة بشكل كبير.
- تتوفر الكثير من المترجمات للمبرمجين على مختلف أنواع الأجهزة.
- تجمع بين خصائص اللغات العالية المستوى و المنخفضة المستوى (لغة C++ قريبة من لغة C عالية المستوى, و قريبة من لغة التجميع التي مستواها منخفض.
ماهي عيوب لغة ++C
1-معقد في برنامج عالي المستوى كبير جدًا ،يتم استخدام لغة سي بلس للتطبيقات الخاصة بالنظام الأساسي بشكل شائع ، بالنسبة لنظام التشغيل أو النظام الأساسي المعين ، يتم اختيار مجموعة المكتبة عادةً تلك الأقفال.
2-لايمكن لغة سي بلس دعم جمع البيانات المهملة ، فهو لا يدعم تخصيص الذاكرة الديناميكي ، فهو غير آمن لأنه يحتوي على مؤشر ووظيفة صديق ومتغير عام ولا يدعم الخيوط المضمنة.
3-يمكن أن يكون برنامج سي بلس ثقيلا إذا لم يكن دقيقا،ويسمح سي بلس بالفئات وبالتالي الوظائف التي تحمل الاسم نفسه (والوظائف المحملة بشكل زائد) وبالتالي يجب استخدام نظام تشويه الرموز ، ويمكن تغليفه بسهولة في وظائف سي.
4- برنامج سي بلس ليس لديه فكرة عن السرعة ولا يتم استخدامه للتطبيقات المعتمدة على النظام الأساسي أكثر من سي أو أي شيء آخر. في الواقع ، نظرًا لطبيعة سلسلة الأدوات ، ربما تكون أقل اعتمادًا من غيرها
- تفتقر لغة C++ من ميزة جامع البيانات المهملة من أجل تصفية البيانات غير الضرورية تلقائياً.
- تعتبر المؤشرات Pointers في C و C++ مفهوماً صعب نسبياً في فهمها, وتستهلك الكثير من الذاكرة.
- قد يؤدي إساءة إستخدام المؤشرات Pointers مثل المؤشرات البرية إلى تعطل النظام.
- يمنح C ++ المستخدم التحكم الكامل في إدارة ذاكرة الكمبيوتر عن طريق إستخدام DMA.
تطبيقات لغة سي بلس
ألعاب و أنظمة بلغة سي بلس: تعد لغة سي بلس قوية في برمجة وتطوير الألعاب لسهولة تعاملها مع الموارد، ولقدرتها على تجاوز التعقيدات في الألعاب ثلاثية الأبعاد مما يجعلها الخيار الأمثل للمطورين، لقد تم تطوير الألعاب المشهورة في الوقت الراهن بلغة السي بلاس بلاس مما يدل على أهميتها مثل لعبة ببجي و كلاش أو كلانس و غيرها من الألعاب
يمكن استخدام لغة السي بلس بلس لتطوير معظم تطبيقات سطح المكتب سطح الكتب الرسومية بسهولة، هناك العديد من البرمجيات المشهورة المكتوبة بلغة سي بلس مثل أنظمة أدوبي ادوب المتمثلة في الفوتوشوب وغيرها، الوورد والإكسل والبوربوينت وغيرها من تطبيقات مايكروسفت أوفيس
برامج قواعد البيانات: تستخدم لغة سي بلس ً أيضا في كتابة برامج إدارة قواعد البيانات، على سبيل المثال تمت برمجة قاعدة البيانات المشهورة ماي سيكوال بهذه اللغة ً وأيضا بوست ريست
تطبيقات لغة سي بلس على أنظمة التشغيل: لغة السي بلاس بلاس قوية وسريعة مما يجعلها ً مرشحا ً ممتازا في برمجة أنظمة التشغيل، لأنها تحتوي على مجموعة واسعة من الوظائف على مستوى النظام، والتي تساعد على كتابة البرامج منخفضة المستوى
محررات أكواد لكتابة برامج C++
يوجد الكثير من البرامج الذي تستطيع من خلالها كتابة اكواد ++C:
- المفكرة في جهاز الكمبيوتر.
- برنامج ++Notepad.
- برنامج Eclips.
- برنامج CodeBlocks.
- برنامج CLION.
الشكل العام لبرنامج ++C
#include <iostream>
int main ()
{
//يتم وضع جميع اكواد البرنامج هنا
return 0;
}
جميع ما يكون بعد int main و قبل return 0 سوف يكون البرنامج الذي كتبناه .
فائدة سطر using namespace std هذا السطر معناه أنك تريد تضمين الأشياء الموجودة بداخل المكتبة std بشكل مباشر في المشروع.
في حال أردنا إزالة هذا السطر ستكون مجبر على تحديد إسم المكتبة التي تستخدم منها أمر cout و أمر cin و غيرهم من الأوامر.
كتابة اول برنامج في لغة C++
#include <iostream>
using namespace std;
int main ()
{
cout <<"Nusur Tech"<< endl;
return 0;
}
كلمه std هي مكتبة في هذه اللغة, و الكلمه cout هذا هو امر الطباعة في ++C و كلمة endl تعني نزول سطر بنهاية البرنامج الذي طبع لنا كلمه Nusur Tech.
استخدامات لغة C++
- برمجة الذكاء الاصطناعي AI.
- برمجة تطبيقات البلوك تشين Block chain.
- برمجة وتصميم ألعاب الفيديو .
- تطوير تطبيقات الويب مثل محرك البحث جوجل Adobe , winamp.
- برمجة أنظمة التشغيل وأشهرها ويندوز وماك.
- يتم استخدامها في إنشاء برامج الخدمات العالية ومشغلات الأجهزة بالإضافة للأنظمة المضمنة.
- تم استخدامها بشكل واسع في إنشاء مجموعات برمجية شهيرة مثل Microsoft office.
التعليقات Comments في لغة C++
التعليقات Comments في البرمجة يجب أن تكون جميع الكلمات المكتوبة تتفق مع لغة البرمجة التي نكتب بها.
لكن ماذا لو أردنا كتابة نكتة في وسط الكود أو ربما ترجمة لكلمة معينة بحيث لا يقرأها البرنامج و تُعتبر مجرد مسودة جانبية.
في جميع لغات البرمجة تتوفر خاصية الملاحظات في وسط الكود ما يُعرَف بالتعليقات Comments و يمكن كتابة التعليقات Comments مثلاً لتتذكر لماذا كتبت كود معين في مكان ما.
يوجد نوعين من التعليقات Comments في لغات البرمجة:
- تعليقات مفردة في سطر واحد.
- تعليقات في أسطر متعددة.
التعليقات في سطر واحد
يتم كتابة التعليقات في سطر واحد بكتابة إشارتين سلاش بجانب بعضهم // و كتابة التعليق بعدها كما بالكود الآتي
#include <iostream>
using namespace std;
int main()
{
//هذا تعليق بسطر واحد لا يتم قراءته من قبل المفسر
cout << "Hello world!" << endl;
return 0;
}
أما إذا كتبنا كلام بدون وضع إشارة السلاش // مرتين فهذا لا يٌعتبَر تعليق و المحرر سوف يعتبره خطأ برمجي و يضع لنا إشارة بجانبه.
التعليقات متعددة الأسطر
يتم هذا النوع من التعليقات Comments عبر كتابة رمز السلاش و ثم النجمة /* ثم كتابة التعليق الذي نُريده بأسطر. متعددة ثم في النهاية نقفلهُ برمز النجمة ثم سلاش */ و هنا يَدِل على إنتهاء كتابة التعليق أو الملاحظة.
#include <iostream>
using namespace std;
int main()
{
/*
هنا نحن نقوم بكتاية تعليقات او ملاحظات
متعددة الاسطر سطرين ثلاث اربع اسطر.
اهلاً و سهلا بكم في موقع Programmer Tech لتعلم
لغات البرمجة من الصفر
*/
cout << "Hello world!" << endl;
return 0;
}
كما نلاحظ أنه ما بين /* و */ يُعتبر ملاحظة و لا يتم قراءتها من قبل مترجم اللغة أو المفسر.
من خلال نظرتكم للمحرر الذي إستخدمه CodeBlocks أنه يجعل لون التعليقات باللون الرمادي أما باقي الأوامر البرمجية لها الوان مختلفة سواء دالة الطباعه لها لون أو كلمة محجوزة لها لون آخر.