برمجة C++ remove C-plus-plus-remove

برمجة C++ remove C-plus-plus-remove


حلقات فيديو للمشاهدة المجانيّة اونلاين لكورس برمجة C++ remove , هي لغة برمجة كائنية متعددة الاستخدام و تعتبر تكملة للسي . يعتبرها الكثيرون اللغة الأفضل لتصميم التطبيقات ذات الواجهات المعقدة، وللتعامل مع البنية الصلبة للحاسوب وذلك لسرعتها في التنفيذ والتي لا تختلف كثيرًا عن السي، ولأنها من لغات البرمجة عالية المستوى، وفي نفس الوقت قريبة من لغة التجميع ذات المستوى المنخفض؛ حيث يمكن إضافة كود من لغة التجميع وإدراجه في الملف المصدري للسي++، كما أنها توفر تعامل أكثر تعقيدًا مع البيانات.

التخصصات الفرعية:

مشاهدة كورسات فيديو اونلاين تخصّص برمجة C++ remove:

تصنيفات وتخصصات اخرى:

برمجة C++ remove C-plus-plus-remove:

 

التعريف :

​هى لغة برمجة كائنية، متعددة أنماط البرمجة، مصرفة، سكونية الأنماط. وتضم العديد من ميزات لغات البرمجة عالية المستوى ومنخفضة المستوى. بدأ تطوير هذه اللغة كامتداد للغة C تحت اسم (C مع الصفوف) من قبل بيارن ستروستروب في مختبرات بل عام 1979 وتم إضافة العديد من الميزات الأخرى لاحقاً وتغير الاسم عام 1983 ليصبح ++C من باب الدعابة عبر استخدام معامل الزيادة لجانب اسم لغة C تأكيداً على أنها "التالي للغة C".

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

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

بدأت ++C كتحسين للغة C، أولاً عبر إضافة الصفوف ومن ثم التوابع الظاهرية وتحميل المعاملات الحسابية والوراثة المتعددة والقوالب ومعالجة الاستئناءات بالإضافة إلى ميزات الأخرى. بعد سنوات من التطوير تم تصديق ++C عام 1998 كمعيار آيزو ذو الاسم ISO/IEC 14882:1998. وفي عام 2003 تم تعديل المعيار وفقاً لوثيقة التصحيح التقنية ISO/IEC 14882:2003. يتضمن المعيار الحالي ISO/IEC 14882:2011 مجموعة من الميزات التي تم الاتفاق عليها ونشرها كمعيار جديد من المنظمة الدولية للمعايير في أيلول 2011 والذي عُرف سابقاً باسم C++11.

التاريخ :
بدأ بيارن ستروستروب العمل على مشروعه C مع الصفوف (C with Classes) عام 1979، وقد استلهم فكرة هذا المشروع أثناء عمله على أطروحة الدكتوراه حيث قضى وقتاً طويلاً بالبرمجة. لقد اكتشف ستروستروب أن العديد من ميزات لغة Simula ملائمة في الحقيقة لتطوير برمجيات ضخمة إلا أن بطء أداء التطبيقات المكتوبة بهذه اللغة كان يحول دون استخدامها بشكل عملي، وفي الوقت نفسه كانت تتمتع اللغة BCPL بأداء جيد إلا أنها منخفضة المستوى وبالتالي يصعب استخدامها في تطوير برمجيات ضخمة، قاد هذا الاكتشاف ستروستروب إلى فكرة تطوير لغة برمجة جديدة تجمع المزايا الحسنة من هاتين اللغتين.
واجه ستروستروب لاحقاً مشكلة تحليل نواة نظام Unix فيما يتعلق بالحوسبة الموزعة خلال عمله في مختبرات بل وتذكر المعضلات التي واجته خلال عمله على أطروحته فعقد العزم على تحسين لغة C بإضافة ميزات شبيهة بتلك الموجودة في لغة Simula. اختار ستروستروب لغة C لكونها لغة عمومية، سريعة، محمولة، وشائعة الاستخدام. لقد ألهمت ستروستروب -بالإضافة إلى C وSimula- عدد من اللغات الأخرى وهي ِALGOL68 وML وCLU وAda.
عمل ستروستروب على تطوير مصرف اسمه Cfront يقوم بتصريف كود ++C إلى كود C مكافئ، وقد قام من خلاله بإضافة بعض الميزات الجديدة إلى لغة C متل الصنوف، الصنوف المشتقة، التنميط القوي (بالإنجليزية: strong typing)، التضمين (بالإنجليزية: inlining)، والقيم الافتراضية. تم طرح أول إصدار تجاري من ++C في 14 تشرين الأول 1985
في عام 1983 تم تغيير اسم اللغة من C with Classes إلى ++C (حيث أن ++ هو معامل الزيادة بلغة C) كما تم إضافة مجموعة من الميزات متل التوابع الظاهرية، التحميل الزائد للمعاملات والتوابع، المراجع (بالإنجليزية: references)، الثوابت، التحكم بالذاكرة المدار من قبل المستخدم، تحقق محسن من الأنماط، والتعليقات السطرية باستخدام خطين مائلين (//) على نمط لغة BCPL. في عام 1985 نُشر الإصدار الأول من كتاب لغة البرمجة ++C ليزود المبرمجين بأحد أهم المراجع عن هذه اللغة في وقت لم توصّف فيه اللغة بعد كمعيار رسمي. عام 1989 نُشر الإصدار 2.0 من الكتاب وعام 1991 نٌشر الإصدار الثاني المحدث منه. اشتملت الميزات الجديدة على الوراثة المتعددة، الصنوف المجردة (بالإنجليزية: abstract classes)، التوابع الأعضاء السكونية (بالإنجليزية: static member functions)، التوابع الأعضاء الساكنة (بالإنجليزية: const member functions)، والأعضاء المحمية. عام 1990 نُشر دليل ++C المرجعي التفصيلي (The Annotated C++ Reference Manual) وكان حجر الأساس لمعيار اللغة المستقبلي. اشتملت الميزات اللاحقة على القوالب (بالإنجليزية: templates) والاستثناءات وفضاءات الأسماء وتحويلات جديدة بين الأنماط والنمط البولياني.
ترافق تطور لغة ++C مع تطور المكتبة المعيارية. إن مكتبة الدخل والخرج (I/O stream) هي أولى الإضافات إلى المكتبة المعيارية، توفر هذه المكتبة بدائلاً لتوابع الدخل والخرج المعتادة في لغة C مثل printf وscanf. تعتبر مكتبة القوالب القياسية (Standard Template Library) إحدى أهم الإضافات إلى المكتبة المعيارية من بين الإضافات اللاحقة الكثيرة المتتالية. تتميز لغة ++C عن باقي اللغات بقلة عدد الكلمات المفتاحية حيث أن الوظيفية الأساسية تم إدراجها في المكتبة المعيارية على غرار لغة C.
تسمى ++C أحياناً لغة هجينة وذلك بسبب توفيرها العديد من النماذج البرمجة المختلفة وإتاحتها استخدام هذه النماذج مع بعضها البعض كاستخدام النموذج الإجرائي والنموذج الغرضي التوجه أثناء كتابة نفس البرنامج. لقد أثارت إمكانية كتابة برامج إجرائية باستخدام ++C بعض الجدل على اعتبار أنه من المفترض كتابة برامج غرضية التوجه لدى استخدام ++C (وإلا لتم استخدام C مثلاً). بكل الأحوال فإنه من المعتاد دمج النموذجين الإجرائي والغرضي التوجه لدى كتابة برنامج ما. وغالباً ما يسبب هذا بعض المشاكل أثناء فحص الكود أو إتمام كتابة الكود من قبل مبرمج آخر .
لا تزال ++C قيد الاستخدام بشكل واسع وتعتبر إحدى اللغات المفضلة في تطوير التطبيقات الاحترافية


فلسفة اللغة :
في كتاب "تصميم وتطوير لغة ++C" (ستروستروب، 1994) يصف بيارن ستروستروب بعض القواعد التي استلهم منها تصميم ++C:

  • صُممت ++C كلغة عمومية، سكونية التنميط وتتمتع بفعالية ومحمولية لغة C
  • صُممت ++C لتدعم بشكل مباشر وغني عدة أنماط برمجية (برمجة إجرائية، تجريد البيانات، البرمجة الكائنية والبرمجة العامة)
  • صُممت ++C لتتيح المبرمج حرية الخيار حتى وإن كان اختيار المبرمج غير صحيح
  • صُممت ++C بحيث تتوافق مع لغة C قدر الإمكان لتوفر بالتالي انتقالاً سلساً إليها لدى الحاجة
  • تتجنب ++C الميزات الخاصة بمنصة محددة فقط وغير عمومية
  • لا تحمّل ++C البرمجيات المكتوبة أعباء ميزات اللغة في حال عدم استخدامها (مبدأ العبء المعدوم)
  • صممت لغة ++C كي تعمل بدون وجود بيئات تطوير معقدة

- في كتاب "النموذج الكائني للغة ++C" (ليبمان، 1996) يشرح الكاتب إمكانية تحويل مصرفات ++C العبارات البرمجية إلى توضعات داخل الذاكرة. إلا أن هذا لا يمنع بالطبع مصممي المصرفات من اعتماد طرقهم الخاصة في كتابة مصرفات متوافقة مع المعيار المرجعي ++C.